周立功

成功心法(11):过程比结果更重要

0
阅读(2757)

针对“DIY计算机”课程,用人工将汇编语言“编译与链接”为机器码有感而发

千万不可投机取巧地将程序输入计算机,然后用编译器来代替人工翻译代码。无数的事实证明,用人工翻译机器码的过程对初学者理解程序的设计思想有很大的帮助,因为上面的程序写得再好,那也是作者的设计思想和经验。当初学者在翻译或输入机器码时,就有可能发生错误,比如,第一次翻译机器码就有可能将JZ指令的地址偏移量rel算错,则程序就会出现混乱,这就是人们常说的“bug”,那么初学者在“Debug”的过程中,将一定会得到更多的经验,同时有助于培养初学者的耐心、阅读程序的能力和逻辑思维的能力。

建议初学者先在一张白纸的左边用铅笔写好地址,将要填写机器码的中间位置暂时空出来,然后将指令助记符写在右边的第3个位置,接着通过查找指令表得到相应的机器码,最右边的则是程序注释。

当初学者通过阅读和调试一定量的范例程序之后,自然就会想到如何修改和设计程序了,这是一个熟练生巧的自然积累过程。事实上,作者写作《新编电类专业计算机基础》(DIY计算机)图书,从构思到成书前后三年时间,反反复复修改几十次,很多地方多次推倒重来,所以人们常说:深入浅出的文章是改出来,与众不同的口才是练出来,优秀的程序员是“磨”出来的,成功的人之所以成功,因为“剩者为王”。