意味着程序必须用汇编语言写,每一条指令的执行时间都必须尽量压缩。
从检测到电平跳变开始,到发送完最后一个伪应答字节为止,中间不能浪费哪怕一个时钟周期。
这就像在高速行驶的火车上,把一根针从一扇只开了几毫秒的安全门缝里扔出去。
扔慢了一点,针就撞在门框上。
陆怀民深吸一口气,开始写技术文档。
【“程序名:BOOTHOOK.ASM
功能:在System 6M上电自检窗口期内接管运动控制总线
目标平台:DJS系列外接计算机,MC6800指令集
时间约束:自检测到CN1-4脚上升沿起,至发送完最后一个伪应答字节止,必须在180ms内完成全部操作。”】
写到这里,陆怀民想了想,又把最后一句话改为:
【时间约束:自检测到CN1-4脚上升沿起,须在150ms内完成全部操作,留30ms余量应对硬件离散性。”】
陆怀民翻过一页,开始写主程序的基本结构。
【主程序流程:
STEP 1:初始化串口,设定CN1通信参数
STEP 2:循环监测CN1-4脚电平,等待上电自检完成信号
……
STEP 15:若验证通过,转入正常通信模式,开始接收CAM系统下发的G代码指令……】
夜深了,但陆怀民斗志昂扬,毫无睡意。
……
第二天一早,陆怀民带着连夜写好的技术文档来找周永年汇报自己的思路。
周永年不是计算机专业出身,对陆怀民所说的其实也不是很懂。
他问道:
“你说的这个办法,理论上有多大的把握?”
陆怀民说道:
“最大的变数在于程序能否在两百毫秒内完成对设备的控制,如果能做到,我有九成以上的把握。”
“那就是说,也有可能失败。”
“对。”陆怀民坦然地点了点头。
周永年把身子往椅背上一靠,沉默了。
陆怀民知道他为什么沉默。
Room板一旦写入失败,或者伪协处理器应答序列的校验和不匹配,系统会直接触发ROM完整性锁死。
到那时候,这台十几万美元买来的设备,就会变成一块十几吨重的废铁。
日方一定会以“非法操作造成设备损坏”为由,拒绝任何形式的售后服务。
而江南厂没有能力自己修,全国也没有人能修。
这台设备就彻底废了。
这是一场豪赌。
“怀民,”周永年忽然抬起头,语气忽然变得很认真:
“你必须跟我交个底。你刚才说,程序能在规定时间内完成桥接,你就有九成以上的把握。这个九成,是实打实的,还是为了让我放心往高了说的?”
“实打实的。”陆怀民很坚决,“周总工,我不会拿几十万国家外汇开玩笑。”
周永年盯着他看了足足五秒钟,然后一巴掌拍在桌上:
“好!我信你!”
他站起身,走到陆怀民面前,双手按在陆怀民的肩膀上,说:
“你放手去干。这台床子要是真成了废铁,是我周永年拍板的,所有责任我一个人扛。跟你们科大没关系,跟你陆怀民没关系。”
陆怀民张了张嘴,想说什么。
周永年摆了摆手:
“反正这个机床不买日本的技术服务,用处本来就不大,与其受这个窝囊气,不如豁出去,赌一把!”
陆怀民重重点了点头:
“周总工,您放心。这一仗,我们不会输。不过,有件事我必须现在跟您讲清楚。”
“什么事?你尽管说。”
陆怀民斟酌道:
“我们要做的这个破解方法,具体的核心技术细节、漏洞利用方式和代码构架,必须列为最高级别的机密。”
“保密?”周永年先是一愣,随后点点头:
“行,我明白了。我跟车间的人打个招呼,让他们别往外说。”
陆怀民摇了摇头,继续补充道:
“周总工,这绝非是我信不过厂里的同志们。而是我这个破解思路,本质上是利用了系统底层架构的一个致命漏洞。如果保密工作做得好,这个办法的复用性极强,将来完全可以作为一种‘通用钥匙’,用在其他进口的、甚至不同型号的机床上。”
“可一旦走露风声,人家针对性地修复,我们以后再想破解,就更是难如登天了!”
周永年闻言,脸色瞬间变得严肃起来。
他抬起头,看着陆怀民,眼中满是震动:
“你是说,全国其他厂那些花大价钱买回来的机床,也能用这办法——”
“能。”陆怀民点了点头,“至少同代的产品,有把握。”
周永年猛地站了起来。
他是从一线干出来的老兵,瞬间明白了陆怀民所说这个方法的价值。
“我明白了。”周永年拿起那份技术文档,还给陆怀民,郑重地说道:
“是我刚才想得简单了。这不仅仅是咱们船厂的事,这更是关系到机械工业的大事。这个收好了。从今天起,核心的技术环节,只能你一个人知道。不是我信不过其他同志,这是天大的事,知道的人越少,咱们的底牌就越硬。”
“等你把这条路走通了,我周永年亲自去首都,向六机部、向科委给你请功!到那时候,会有上级部门出面,集中力量把这个方法保护好,推广到全国所有的进口机床上!到时候,你就是我们机械工业的大功臣!”
陆怀民也是斗志昂扬地点了点头。
当天下午,准备工作就开始了。
在周永年的亲自调度下,数控车间被清场。
除了秦振国,所有无关人员一律撤出。
大门口挂上了“设备检修,谢绝参观”的牌子,甚至还增派了保卫科的人守在门口。