
李忠 王晓波 余洁
每一种处理器都有它自己的机器指令集,而汇编语言的发明则是为了方便这些机器指令的记忆和书写。尽管汇编语言已经较少用于大型软件程序的开发,但从学习者的角度来看,要想真正理解计算机的工作原理,掌握它内部的运行机制,学习汇编语言是必不可少的。本书采用开源的NASM汇编语言编译器和VirtualBox虚拟机软件,以个人计算机广泛采用的Intel处理器为基础,详细讲解了Intel处理器的指令系统和工作模式。 《x86汇编语言:从实模式到保护模式》第二版修改点: 1,在书的前面添加基础性的内容,用来说明汇编语言的由来和必要性,说明汇编语言编程的特点,以期平滑自然地进入汇编语言主题。 2,原书中对指令系统及x86指令格式的描述过于简略,此版增补这部分内容; 3,读者普遍反映第14章太难太紧凑,此版将相关内容拆分,降低学习的难度; 4,整个保护模式部分以现在的观点来看,内容组织不够合理,予以重新组织,配书代码重新编写和组织; 5,原书中有模糊的错误的表述,此版予以更正。
👉🏽👉🏽这本《x86汇编语言:从实模式到保护模式》,搞清楚每一个细节,这样再进行操作系统的学习时候才有事半功倍、游刃有余。 🤔作者站在用户角度出发,从头开始描述计算机从加电复位后发生的一系列事情:从BIOS到MBR,从MBR到操作系统。 💎在这个过程中我们可以完成一些有趣的事情,比方说向显示器输出一点东西,如何控制显示位置以及光标,了解到呆在硬盘里的程序是如何被加载到内存中执行的,为什么需要函数以及函数是如何实现的,中断是怎么工作的以及还有编写我们自己的中断处理程序、以及在解决这些问题的过程中处理器给我们提供的各种特性是如何使用的。 🌈在介绍完实模式后,又花费了一多半的篇幅给我们唠叨x86的保护模式是如何工作的,诸如保护模式下的任务管理、内存访问、动态加载、分页机制、中断处理等较为高级,但却是程序员們时时都在用到的功能。 💦当然,一本技术书籍的好坏并不是看它涉及到了哪些方面的东西,要不然Intel的文档绝对算得上最好的书籍了。 ✨✨这里需要再一次强调《x86》这本书是真正的做到了“不用没解释过的概念去介绍新概念”这个原则,读者如果在阅读过程中发现了新的无法理解的概念,那大概率是在前边阅读时漏掉了某些段落。因为作者在每一章都给出了相应的源码,又会在书里逐行解释代码的含义,这就会导致某些急于求成的小伙伴跳过一些地方。所以本书也要求高质量读者去本着“不要跳着看”的原则来逐行阅读完本书。
订阅了一段时间,没想到今天上架了! 等看完王爽老师的《汇编语言》,就开始阅读这本书。 经典永不过时!
写的通俗易懂,逻辑清晰,而且内容丰富,不仅仅讲汇编语言的语法,而且讲计算机组成原理,还讲bootloader,这本书我给96分,使我受益匪浅。
我个人认为学习x86汇编最好的一本书。
介绍x86-32很好的一本书,虽然x86-64精简了很多,但没有32位的基础,直接上手x86-64还是比较难理解
并不特别推荐,因为对于今天的ASM实际应用来说,仍有不足——long mode没有讲;对内存管理各种机制的实际不够精细;还有指令集的某些细节……如果非要说瑕不掩瑜的也只是对国内assembly异常缺乏资料而言。 由此也可以看出国内编程的层次是个什么水平。 其次,本书定位的尴尬是因为卡在architect 与operating system之间,而多数读者又不是科班——科班的汇编实际又只是为了应付考试……所以,看到读者说抱怨mbr看不懂,那只能怪书本的定位与读者预期的不符。 从实际ASM编程角度出发,mbr当然是一个非常好的上手项目。就叫被捧上天的王爽版里,也是以实模式的boot为例,不断深入讲解的。 还是那句话,ASM距离硬件太近,距离高级抽象层太远。 如果一上来就讲汇编的device driver,读者还是会抱怨他们看不懂!最近大热的英伟达除了GPU制程本身的高度复杂,卡脖子的另一只手就是cude驱动。其复杂程度不仅不比硬件制造低,甚至更高! 因此,学好汇编需要architect知识,需要硬件编程知识。这都不是这一本书能说清的(相反,OS向就相对简单了)。 如果单纯学汇编程序(语法,结构)不如直接看NASM的manual,那里讲的很细——此外网上还有很多原文assembly书,都很细致。
说真的,这本书是我目前看过的最靠谱的汇编教材,之前看的是第1版纸质书籍。跟着书里的内容也手动去实现了一遍里面的汇编代码。这效果吧那是不用多说的,看这此书过后,像《操作系统原理》、《Linux内核》之类的书籍更能看进去,不在那么抽象,不像之前的那种云里雾里的了。 再次感谢作者!更开心的是微信读书这么给力,订阅的第二版终于上线了,哈哈😀
强烈要求书名不要去掉副标题,从实模式到保护模式,会歪曲本意 初次接触《穿越计算机的迷雾》时就惊叹的作者,虽然是名为x86汇编语言,但并非枯燥的讲解语法,而是通过硬件、加载器和“内核”以及用户程序的方式,将汇编语言的知识串联起来,语言通俗易懂,感谢作者!我是在读完《汇编语言》之后进行的阅读,所以难度要低上不少。 众所周知,操作系统领域的书大都很傲娇,尽管我已经从头到尾将源码过了一遍,并且前后翻阅了很多遍,但时隔良久后仍旧对其中的细节印象模糊,可能是我太菜了吧。。。通过本书能够对计算机硬件和软件的关系有更透彻的认识,能够大幅度降低阅读像《操作系统真象还原》这类书的难度,但是想要深入理解操作系统的全貌,仅仅这本书还是完全不够的。 最后,操作系统作为三大浪漫真的需要耐心,勇气和热情!继续加油!
以独特的视角和清晰的讲解,揭开了计算机 从16位到32位工作模式的神秘面纱。这门 课真正做到了理论与实践的完美结合,不仅 详细阐述了x86处理器的指令系统和工作模 式,还通过丰富的代码讲解了分段、分页、 权限等重要内容,为进一步学习操作系统开 发和系统编程打下了坚实的基础。这些内容 不仅是汇编语言学习的核心,也是理解现代 操作系统底层架构的关键。
看了王爽的汇编,想通过这本书学习64位汇编。里面讲得太乱了,想知道64位环境下是怎么寻址的,浮点数是怎么用寄存器传送的,但是找了半天没找到。很多代词还有歧义,同时书里还有些错误,还是希望王爽老师能出续作吧,球球了!