《80X86汇编语言程序设计》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:廖开际等编
  • 出 版 社:广州:华南理工大学出版社
  • 出版年份:2001
  • ISBN:7562316546
  • 页数:302 页
图书介绍:本书系统介绍了80X86系列微处理器的寻址方式、汇编语言程序的组织、上机过程和程序调试技术,并阐述了顺序程序、分支程序、子程序的设计技术等。

1 80×86微型计算机的组织 1

1.1 微处理器的历史回顾 1

1.1.1 机械计算器时代 1

1.1.2 电子计算机时代 1

目录 1

1.2 IBM-PC系列计算机的存储器和I/O系统 3

1.2.1 IBM-PC系列计算机的存储器 3

1.2.2 I/O空间 7

1.2.3 IBM-PC系列计算机的总线 8

1.3.1 CPU中的寄存器 9

1.3 微处理器的工作模式 9

1.3.2 实模式存储器寻址 13

1.3.3 保护模式存储器寻址 17

1.3.4 存储器分页 21

问题和练习1 24

2 寻址方式与汇编语言程序的组织 26

2.1 汇编语言 26

2.1.1 机器语言 26

2.1.2 汇编语言 26

2.2 寻址方式 28

2.2.1 数据寻址方式 29

2.2.2 程序存储器寻址方式 34

2.2.3 堆栈存储器寻址方式 36

2.3 汇编语言程序的组成 37

2.3.1 汇编语言源程序的组织 37

2.3.2 变量与标号 41

2.4 段的简化定义 45

2.4.1 存储模型说明伪指令 45

2.4.2 简化的段定义伪指令 46

2.5.1 上机环境 48

2.5.2 上机的一般步骤 48

2.5 上机指导 48

2.5.3 汇编器和连接器的使用 50

2.6 调试程序DEBUG 54

2.6.1 直接在内存中建立和运行程序 54

2.6.2 使用DEBUG 55

问题和练习2 62

3 数据传送指令 65

3.1 通用数据传送 65

3.1.1 MOV(传送)指令 65

3.1.2 PUSH/POP(压栈/出栈)指令 65

3.2.1 LEA(装入有效地址)指令 68

3.2 地址传送指令 68

3.1.3 XCHG(交换)指令 68

3.2.2 LDS、LES、LFS、LGS和LSS指令 69

3.3 IN/OUT(输入/输出)指令 71

3.4 串数据传送指令 72

3.4.1 LODS指令 72

3.4.2 STOS指令 73

3.4.3 MOVS指令 75

3.4.4 INS(串输入)指令 76

3.5.1 XLAT(翻译)指令 77

3.5 其他数据传送指令 77

3.4.5 OUTS(串输出)指令 77

3.5.2 MOVSX和MOVZX 78

3.5.3 BSWAP(字节交换)指令 79

问题和练习3 79

4 算术与逻辑运算指令 81

4.1 加法、减法和比较 81

4.1.1 加法 81

4.1.2 减法 86

4.2 乘法和除法 89

4.2.1 乘法 89

4.2.2 除法 91

4.3.1 BCD码算术运算 94

4.3 BCD码和ASCII码算术运算 94

4.3.2 ASCII码算术运算 95

4.4 逻辑指令 98

4.4.1 逻辑运算指令 98

4.4.2 移位指令 102

4.5 串扫描和串比较指令 105

4.5.1 SCAS指令 106

4.5.2 CMPS指令 106

问题和练习4 107

5.1.1 无条件转移指令(JMP) 110

5 程序控制指令 110

5.1 转移指令 110

5.1.2 条件转移和条件设置 115

5.1.3 循环指令 118

5.2 过程调用指令 119

5.2.1 过程 119

5.2.2 CALL(调用)指令 121

5.2.3 RET(返回)指令 124

5.3 中断概述 125

5.3.2 中断指令 126

5.3.1 中断向量和中断向量表 126

5.4 机器控制指令及其他指令 128

问题和练习5 130

6 DOS与BIOS中断及应用 132

6.1 DOS功能调用及其应用 132

6.1.1 DOS功能调用概述 132

6.1.2 DOS的基本输入/输出功能调用 133

6.1.3 应用举例 134

6.2 磁盘文件管理及应用 144

6.2.1 DOS磁盘文件管理功能调用 144

6.2.2 应用举例 145

6.3 基本输入/输出系统(BIOS) 152

6.3.1 BIOS概述 152

6.3.2 键盘输入 153

6.3.3 显示输出 156

6.3.4 打印输出 166

问题和练习6 168

7 汇编语言程序设计 170

7.1 汇编语言的语句 170

7.1.1 语句的种类和格式 170

7.1.2 表达式 171

7.1.3 常用伪指令语句 176

7.2 顺序程序设计 178

7.3 分支程序设计 181

7.3.1 用转移指令实现分支程序 181

7.3.2 利用地址表实现多向分支 185

7.4 循环程序设计 187

7.5 子程序设计 196

7.5.1 子程序设计概述 196

7.5.2 子程序举例 198

7.5.3 主程序和子程序之间的参数传递 200

问题和练习7 205

8 高级汇编语言技术 209

8.1 结构和记录 209

8.1.1 结构 209

8.1.2 记录 214

8.2 宏 217

8.2.1 宏指令的定义和使用 217

8.2.2 宏指令的用途 219

8.2.3 宏指令中参数的使用 220

8.2.4 特殊的宏运算符 221

8.2.6 与宏有关的伪指令 223

8.2.5 宏与子程序的区别 223

8.3 重复汇编 226

8.3.1 伪指令REPT 226

8.3.2 伪指令IRP 226

8.3.3 伪指令IRPC 227

8.4 条件汇编 228

问题和练习8 231

9.1 段的完整定义的进一步说明 232

9.1.1 完整的段定义 232

9 模块化程序设计 232

9.1.2 关于堆栈段的说明 236

9.1.3 段组的说明和使用 237

9.1.4 存储模型说明伪指令的隐含动作 239

9.2 模块间的通信 241

9.2.1 伪指令PUBLIC和伪指令EXTRN 241

9.2.2 模块间的转移 242

9.2.3 模块间的信息传递 245

9.3 子程序库 249

9.3.1 子程序库 249

9.3.2 建立子程序库 250

9.3.3 使用举例 253

9.5.1 调用协议 254

9.5 汇编语言与高级语言的接口 254

9.5.2 数据类型 256

9.5.3 语言接口 256

9.5.4 用于C语言的完全段定义 259

问题和练习9 259

10 汇编语言编程高级专题 260

10.1 输入/输出程序设计 260

10.1.1 查询方式传送数据 260

10.1.2 中断传送方式 264

10.2.1 程序头 273

10.2 设备驱动程序设计 273

10.2.2 策略过程 274

10.2.3 设备驱动程序命令 276

10.2.4 中断过程 281

10.2.5 设备驱动程序举例 281

10.3 保护模式下的程序设计 287

10.3.1 DOS保护模式接口(DPMI) 288

10.3.2 以保护模式显示扩展内存 292

问题和练习10 301

参考文献 302