,甚至于比整个斯皮舍尔公司所有的程序员理解得都更为透彻。
程序中的bug,有时候就是一层窗户纸。在捅破之前,谁也不知道是怎么回事,但一经捅破,大家便会发现,其实事情十分简单。林振华指出的这个bug,不外乎就是有一个子程序在参数设定为某一组的时候会发生一个被零除的溢出错误,但如果不是有人指出来,谁也不会发现隐藏得如此深的这个错误的。
在真实的历史上,mk800的程序错误先是在实践环节被发现并且曝光的,但程序具体错在什么地方,谁也查不出来。若干年之后,华青大学的姚鹤良教授借助于高速计算机对数以亿计的参数组合进行了模拟,这才找出了问题所在,并且提出了修正方案。不过,这个时候mk800的公案已经了结,斯皮舍尔公司已经损失几千万美元了。
作为姚鹤良的学生,林振华记得这个案例的许多细节,他虽然无法利用未来的反汇编技术完整还原出mk800中的z80程序,但几处bug的补丁他是完全能够写出来的。这几天,他呆在招待所里拼命地回忆本科时候作为业余爱好学过的z80语法,把几个补丁写了出来,然后就拿着这个杀手锏去向福特发难了。
斯皮舍尔公司的技术部门进行