码迷,mamicode.com
首页 > 编程语言 > 详细

《80X86汇编语言程序设计教程》二十五 结语(读后感:这本书怎么样)

时间:2017-11-20 01:07:27      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:流程   物理地址   vmw   实例   线性地址   技术   逻辑   环境搭建   操作系统   

  这本书的推荐星级是:5星。毕竟是经典书籍,没什么好说的。

  就汇编本身而言,在编写高效率程序以及对程序的优化,调试,工程的逆向都是一门基础;就理论上的操作系统而言,汇编让你了解CPU,了解计算机的体系结构,它是阅读操作系统源码的前提,这也是《80X86汇编语言程序设计教程》做得比较好的一点,它对386的保护方式下的编程写得比较详实,读完整本书,会发现这学的不仅仅是汇编语言,还有CPU的体系架构,它让你基本猜测得到在编写基于80386CPU的操作系统时,大概要做一些什么事情。

  阅读前,我选过几本书:王爽的《汇编语言》、《80x86汇编语言程序设计教程》与《IBM-PC汇编语言程序设计》,第一本书初步过了一下,太简单,直接丢弃,而第三本书偏向硬件的直接操作,目测是比较多,我估计会比较乏味,而《80x86汇编语言程序设计教程》从8086讲起,后面的80386将涉及到现代CPU的工作模式,这个成为了我选择它的原因。

  接下来说一下学了它你能了解到些什么:

    1)  你能了解计算机各硬件资源在内存上是怎么组织的

    2)  你能了解什么是所谓的BIOS

    3)  你能绕过操作系统与BIOS直接对硬件进行操作,如显卡

    4)  你能从CPU的角度去了解计算机怎么管理资源,怎么切换任务,怎么变换特权级,怎么进行异常/中断处理,这些都由代码体现得淋淋尽致

    5)  你能了解调试模式,现在调试工具的所谓单步,运行到返回,硬件断点到底是怎么回事

    6)  你能了解逻辑地址到线性地址再到物理地址的整个变换流程,这是操作系统必讲的东西

  关于这本书该怎么读,有几点建议:

    1)  8086章节你必须重点了解8086指令,包括它们做了什么,因为386指令集是兼容它们的

    2)  8086章节要特别注意中断与I/O管理章节,这个是学8086除上一点外对学386最重要的一点

    3)  8086章节中对汇编语言的开发,如什么高级汇编、模块设计之类,不要深究,现在基本不用汇编语言,这种东西到时候用的时候再查一样,否则不用,学了也会忘

    4)  80386是重点中的重点,每个章节都很重要,不要放过任何一个测试实例,一定要亲自测试,并且弄懂它的每一条语句

    5)  80486和Pentium的相关介绍比较少,其实这些处理器都是很过时的东西了,不要去纠结基于任何一个具体处理器上的细节问题,只要了解

    6)  80486有两个重点,一个是片上高速缓存Cache,一个是调试技术完全移到了这个章节

  须提醒一下,这本书也有点缺陷,这也算是需要注意的几个地方:

    1)  作者重理论而轻实践,这一点在他不具体在编译测试环境搭建上做说明就可以看出来,这一点特别的坑人,我目前没找到好的调试方法,在虚拟机根本没法用调试器调试模式切换,除非自己在代码中编写调试的相关内容(在学完调试寄存器相关内容时,你才能有能力去在代码中自行单步,而学到那,整本书基本都已经完结了)

    2)  我用的RadASM与vmware+DOS7.1来搭建测试环境,作者使用的是TASM,所以语法上有些不同,最典型的是计算段长度,我在笔记中一直认为是作者逻辑错误。

    3)  原书在理论阐述上面几乎无错,我想即使有点小错误也许我这水平也挑不出来。但是有时也讲述得不够详尽,如控制转移时对CPL、DPL、RPL这3者之间的关系,这些不足必须通过源代码来弥补

    4)  源代码有错误,我不了解TASM,有些可能是TASM与MASM的差异而不是错误,而有的确实是逻辑错误。另外,还有些功能无法正确测试,可能是我测试环境搭建问题,也有可能是现在的酷睿处理器与8086和80386这些老古董有了差异。

    5)  最后,毕竟是一本十多年的老书了,对具体处理器的特性介绍方面其实有点过时,所以在最后两章:80486与Pentium系统的介绍上,除了调试技术,像Cache技术、流水线技术和程序优化技术做一些概念性了解就够了,一切基于Pentium的具体细节都可能在现行使用的CPU不再有效。

 

《80X86汇编语言程序设计教程》二十五 结语(读后感:这本书怎么样)

标签:流程   物理地址   vmw   实例   线性地址   技术   逻辑   环境搭建   操作系统   

原文地址:http://www.cnblogs.com/SChivas/p/7863039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!