|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1、循序渐进的知识渗透
一般教材都是上来讲指令系统,一口气把所有指令都讲完,先搞的你一头雾水,实际上记不住几个指令,或者说很难精确把握每个指令,或者说你能短时间认识很多指令,但是没有几个能准确把握的,而且这种“填塞”,很容易出现知识的混淆
但是这本书,开始就教你1、2条指令,而且用有限的指令来编写程序,在使用中加深理解,然后后面逐渐渗透进更多的指令,边学边用!
2、善于把握问题的本质,比如call,ret,
其他书一般都是先介绍call,然后介绍ret,或者2个指令一起给出
而这本书,先介绍ret指令,而不是配合call指令,这样非常巧妙的让读者把握住了指令的本质:
pop ip,pop cs,
类似的思路还比如 比较跳转,ja,jz等介绍,也是先让你把握住本质的东西,然后再介绍“事实上的实用搭配”这里作者抓住了一点关键的地方:如果开始就告诉你一个指令的习惯性用法,这就没有给你空间来把握它的本质。作者恰恰是反其道行之,非常明智!
3、从接近硬件层次开始,让你感受汇编“接近硬件”的特性,比如数据标号,放在了课程的最后来讲,这就导致在前面的几乎大部分课程中,有些问题,必须让你迂回的结局,比如在0号中断例程的安装问题上(p248),“overflow”地址的给出,完全可以用数据标号: d db ‘overflow’,用d来索引字符串地址,但是作者没有,但是作者给出的“笨”办法,可以让读者很好的了解程序在内存中的分布。
4、尽量的摆脱操作系统,甚至是编译器,目的还是只有一个,体验硬件编程,透彻理解汇编和指令的关系。
汇编语言仅仅是指令的代号,虽然编译器提供了一些功能强大的伪指令,比如运算符等,但是如果初学者开始就过于依赖这些,就会失去硬件编程的体验。
5、当然也有缺憾,那就是本书的知识点不全,比如有一些指令和伪指令,没有介绍,但这不是关键,关键在与思想的培养,而知识点可以看手册 |
|