《汇编语言程序设计》(x86处理器,第6版)读书笔记
作者:Kip R. Irvine 出版社:Pearson,2011年 页数:747页 文件:
/田浩然上传的资料/电子书/[汇编语言程序设计].(Assembly.Language.For.x86.Processors,.6ed),.Irvine.文字版.pdf(1.83MB)
核心内容
本书是x86汇编语言的经典入门教材,系统讲解从基础概念到Windows程序开发的完整知识体系。
全书结构(14章)
| 章节 | 主题 |
|---|---|
| 第1章 | 基础概念:数字系统、二进制、十六进制、布尔运算 |
| 第2章 | x86处理器架构:操作模式、内存管理、I/O系统 |
| 第3章 | 汇编语言基础:指令格式、数据定义、符号常量 |
| 第4章 | 数据传送、寻址和算术运算 |
| 第5章 | 过程定义与调用、栈操作 |
| 第6章 | 条件处理:比较指令、条件跳转、循环结构 |
| 第7章 | 整数算术:移位、旋转、乘除法、扩展运算 |
| 第8章 | 高级过程:递归、INVOKE/PROTO指令、多模块程序 |
| 第9章 | 字符串和数组处理 |
| 第10章 | 结构和宏定义 |
| 第11章 | Windows编程:控制台程序、图形界面、动态内存 |
| 第12章 | 浮点处理和指令编码 |
| 第13章 | 与高级语言的接口(C/C++链接) |
| 第14章 | 16位MS-DOS编程 |
核心知识点
1. x86处理器架构
- 三种操作模式:实地址模式(Real-Address)、保护模式(Protected)、虚拟8086模式
- 寄存器组织:通用寄存器(EAX/EBX/ECX/EDX)、指针寄存器(ESP/EBP)、变址寄存器(ESI/EDI)、段寄存器(CS/DS/SS/ES)
- 标志寄存器:CF(进位)、PF(奇偶)、AF(辅助进位)、ZF(零)、SF(符号)、OF(溢出)
2. 数据表示
- 二进制、十六进制、BCD码转换
- 补码表示有符号整数
- 大端/小端字节序(x86采用小端)
- IEEE 754浮点数格式
3. 指令系统
- 数据传送:MOV、MOVZX、MOVSX、XCHG
- 算术运算:ADD、SUB、INC、DEC、MUL、IMUL、DIV、IDIV
- 位操作:AND、OR、XOR、NOT、SHL、SHR、SAL、SAR、ROL、ROR
- 跳转指令:JMP、JCXZ、LOOP、LOOPZ/LOOPE、LOOPNZ/LOOPNE
4. 过程(Procedures)
- 使用PUSH/POP进行参数传递
- 栈帧(Stack Frame)的建立与管理
- 递归过程设计(如阶乘计算)
- INVOKE/PROTO指令简化过程调用
5. Windows编程
- Win32控制台I/O函数(ReadConsole/WriteConsole)
- 图形窗口应用程序开发
- 动态内存分配(HeapAlloc/HeapFree)
- 文件I/O操作
实践特点
- 提供Irvine32库简化Windows编程
- 配套MASM汇编器和调试工具
- 丰富的编程练习和实例
- 强调自顶向下程序设计方法
与其他知识的关联
- CSAPP:计算机系统底层视角
- Tanenbaum计算机组成原理:处理器架构理论
- Hennessy计算机体系结构:性能分析与优化
学习建议
- 先掌握数字系统和布尔代数基础
- 重点理解寄存器组织和内存模型
- 多动手编写和调试汇编程序
- 结合C语言理解过程调用和栈帧机制
- 理解MS-DOS和Windows编程的差异