当前位置: 代码迷 >> 汇编语言 >> 看完王爽的《编译语言》之后,还需要继续提升汇编语言水平啊看什么书
  详细解决方案

看完王爽的《编译语言》之后,还需要继续提升汇编语言水平啊看什么书

热度:4158   发布时间:2013-02-26 00:00:00.0
看完王爽的《汇编语言》之后,还需要继续提升汇编语言水平啊,看什么书
本帖最后由 xiaoyuanyuan2009 于 2012-08-02 16:29:17 编辑
当年看王爽的《汇编语言》的时候也是粗略的看的,因为知道他是讲16位程序,总担心有些东西与目前的操作系统不兼容而影响以后的学习思路。
他上面讲的指令肯定也比当前32位、64位系统少。

最近刚开始看谭文的天书夜读,里面提到了一些新指令和寄存器。也许你又要让我百度、谷歌,但我不喜欢这种方法,这不能系统的、详细的学到新知识,而只能是碰到一个学一个。
希望各位给推荐一个32位或64位的汇编语言的书,而不是讲系统的书。比如《windows环境下32位汇编语言程序设计》就不好了,他讲了系统,我目前只需要语言。
其实王爽的书最符合要求,即抛开了系统,也提到了硬件。唯独的缺点就是围绕16位。眼下需要的是32位和64位指令和硬件。
希望你不要推荐指令手册才好。
------解决方案--------------------------------------------------------
楼主找到后吱一声,我也要哈
------解决方案--------------------------------------------------------
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
指针即地址。“地址又是啥?”“只能从汇编语言和计算机组成原理的角度去解释了。”

提醒:
“学习用汇编语言写程序”

“VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
想要从本质上理解C指针,必须学习C和汇编的对应关系。”
不是一回事!

不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!

对学习编程者的忠告:
眼过千遍不如手过一遍!
书看千行不如手敲一行!
手敲千行不如单步一行!
单步源代码千行不如单步对应汇编一行!

------解决方案--------------------------------------------------------
<80x86汇编语言程序设计>
<Intel汇编语言程序设计>
------解决方案--------------------------------------------------------
指令手册
------解决方案--------------------------------------------------------
你要滴是介么一本书么?看看下面的目录。
---------------------------------------------
目录
前  言 3
目  录 4
第1部分   预备知识 5
第一章  十六进制计数法 6
1.1  二进制计数法回顾 6
1.1.1  关于二进制计数法 6
1.1.2  二进制到十进制的转换 6
1.1.3  十进制到二进制的转换 7
1.2  十六进制计数法 7
1.2.1  十六进制计数法的原理 7
1.2.2  十六进制到十进制的转换 8
1.2.3  十进制到十六进制的转换 8
1.3  为什么需要十六进制 9
本章习题 10
第二章  处理器、内存和指令 11
2.1  最早的处理器 11
2.2  寄存器和算术逻辑部件 11
2.3  内存储器 12
2.4  指令和指令集 13
2.5  古老的INTEL 8086处理器 14
2.5.1  8086的通用寄存器 15
2.5.2  程序的重定位难题 15
2.5.3  内存分段机制 17
2.5.4  8086的内存分段机制 17
本章习题 19
第三章  汇编语言和汇编软件 20
3.1  汇编语言简介 20
3.2  NASM编译器 21
3.2.1  从网上下载NASM安装程序 21
3.2.2  安装NASM编译器 22
3.2.3  下载配书源码和工具 23
3.2.4  用nasmide体验代码的书写和编译过程 24
3.2.5  用HexView观察编译后的机器代码 25
本章习题 26
第四章  虚拟机的安装和使用 27
4.1  计算机的启动过程 27
4.1.1  如何将编译好的程序提交给处理器 27
4.1.2  计算机的加电和复位 27
4.1.3  基本输入输出系统BIOS 28
4.1.4  硬盘及其工作原理 29
4.1.5  一切从主引导扇区开始 30
4.2  创建和使用虚拟机 30
4.2.1  别害怕,虚拟机是软件 30
4.2.2  下载Oracle VM VirtualBox 31
4.2.3  安装Oracle VM VirtualBox 31
4.2.4  创建一台虚拟PC(个人计算机) 32
4.2.5  虚拟硬盘(VHD)简介 34
4.2.6  练习使用FixVhdWr工具向虚拟硬盘写数据 35
第2部分   16位处理器下的实模式 38
第五章  编写主引导扇区代码 39
5.1  欢迎来到主引导扇区 39
5.1.1  本章意图 39
5.1.2  本章代码清单 39
5.2  注释 42
5.3  在屏幕上显示文字 42
5.3.1  显卡和显存 42
5.3.2  初始化段寄存器 44
5.3.3  显存的访问和ASCII代码 44
5.3.4  在屏幕上显示字符 46
  相关解决方案