第1章 汇编语言基础知识 1
1.1 计算机系统概述 1
1.1.1 微机系统的基本组成 1
1.1.2 计算机中数据信息的类型和表示 4
1.2 计算机语言 11
1.2.1 机器语言 11
1.2.2 汇编语言 11
1.2.3 高级语言 12
1.3 微处理机8086/8088简介 13
1.3.1 8088 CPU的编程结构 13
1.3.2 8088 CPU寄存器组 15
1.3.3 8088 CPU存储器组织 18
1.4 汇编语言的上机操作 22
1.4.1 软件环境 22
1.4.2 汇编语言源程序上机操作步骤 23
1.4.3 MASM回顾和发展 26
1.4.4 调试工具DEBUG 28
习题1 33
第2章 8086/8088寻址方式和指令系统 34
2.1 8086/8088的寻址方式 34
2.1.1 立即寻址方式 34
2.1.2 寄存器寻址方式 35
2.1.3 直接寻址方式 35
2.1.4 寄存器间接寻址方式 36
2.1.5 寄存器相对寻址方式 37
2.1.6 基址加变址寻址方式 38
2.1.7 相对基址加变址寻址方式 39
2.2 8086/8088指令系统 40
2.2.1 8086/8088指令概述 40
2.2.2 数据传送指令 41
2.2.3 算术运算指令 47
2.2.4 逻辑运算指令 53
2.2.5 移位指令 55
2.2.6 控制转移指令 59
2.2.7 标志位操作指令 65
2.2.8 处理机控制指令 66
习题2 67
第3章 汇编语言程序格式 73
3.1 汇编语言语句 73
3.1.1 语句的种类和格式 73
3.1.2 表达式 74
3.1.3 特殊操作符 77
3.2 汇编语言伪指令 80
3.2.1 符号定义语句 80
3.2.2 数据定义语句 83
3.2.3 段定义语句 85
3.3 地址计数器 88
3.4 汇编语言源程序的结构 89
3.4.1 源程序的基本结构 89
3.4.2 基本的DOS功能调用 91
习题3 94
第4章 汇编语言结构化程序设计 96
4.1 汇编语言程序设计的基本步骤 96
4.2 顺序程序设计 96
4.2.1 顺序程序的结构 97
4.2.2 顺序程序设计 97
4.3 分支程序设计 98
4.3.1 分支程序的结构 98
4.3.2 双分支程序设计 99
4.3.3 多分支程序设计 100
4.4 循环程序设计 103
4.4.1 循环程序基本结构 103
4.4.2 循环程序设计 104
4.4.3 循环程序的控制方法 111
4.5 串操作 114
4.5.1 字符串操作指令及重复前缀 114
4.5.2 字符串操作示例 118
习题4 125
第5章 汇编语言模块化程序设计 127
5.1 子程序设计 127
5.1.1 子程序的设计方法 127
5.1.2 子程序与主程序的参数传递 131
5.1.3 嵌套子程序 137
5.2 模块化程序设计 140
5.2.1 段的完整定义 140
5.2.2 段的简化定义 144
5.2.3 模块问的通信 145
习题5 155
第6章 高级汇编语言技术 157
6.1 宏汇编 157
6.1.1 宏的定义和调用 157
6.1.2 宏的参数 159
6.1.3 与宏有关的伪指令 161
6.1.4 宏与子程序 163
6.2 重复汇编 163
6.2.1 重复伪指令 164
6.2.2 不定重复伪指令 164
6.3 条件汇编 165
6.4 数据结构 169
6.4.1 结构类型的说明 169
6.4.2 结构变量的定义 169
6.4.3 结构变量及其字段的引用 170
6.5 数据记录 171
6.5.1 记录类型的说明 171
6.5.2 记录变量的定义 171
6.5.3 记录变量的引用和记录操作符 171
习题6 172
第7章 I/O和中断系统 174
7.1 I/O的基本概念 174
7.1.1 I/O指令和I/O端口编址 174
7.1.2 数据传送方式 176
7.2 中断系统 183
7.2.1 中断的基本概念 183
7.2.2 中断指令 186
7.2.3 中断向量及分类 186
7.3 DOS中断与系统功能调用 189
7.3.1 DOS功能调用的方法(包括文件) 189
7.3.2 DOS基本I/O功能调用 190
7.4 BIOS中断调用 202
7.4.1 BIOS中断调用方法 203
7.4.2 常用BIOS功能调用 203
习题7 207
第8章 应用程序设计 210
8.1 应用程序实例 210
8.1.1 发声程序设计 210
8.1.2 彩色图形程序设计 213
8.1.3 键盘录入数据的转换与显示 215
8.2 汇编语言与C语言的接口 218
8.2.1 嵌入汇编 218
8.2.2 汇编语言与C语言的混合编程 220
习题8 222
第9章 保护虚拟机制及其程序设计 224
9.1 保护程序设计基础 224
9.1.1 IA-32处理器寄存器组 224
9.1.2 保护模式下存储器管理机制 229
9.1.3 保护机制 242
9.2 特殊指令集 245
9.2.1 实模式下可执行的0特权级指令 245
9.2.2 实模式下可执行的任意特权级指令 247
9.2.3 只能在保护模式下执行的指令 249
9.2.4 特权指令 251
9.3 实模式与保护模式切换 252
9.3.1 模式切换方法 252
9.3.2 模式切换程序设计示例 254
9.4 虚拟86方式 258
9.4.1 V86任务 259
9.4.2 V86任务中的保护 259
9.4.3 V86方式的进入与退出 260
习题9 263
第10章 多媒体汇编指令及其编程 264
10.1 MMX技术编程环境 264
10.1.1 MMX寄存器 265
10.1.2 MMX数据类型 266
10.1.3 MMX指令集 266
10.2 MMX程序设计 275
10.2.1 确认微处理器支持MMX指令 275
10.2.2 MMX指令与浮点指令的混合使用 275
10.2.3 MMX程序的优化 276
10.2.4 MMX程序设计示例 276
10.3 SSE编程环境 278
10.3.1 SSE寄存器 278
10.3.2 SSE数据类型 280
10.3.3 SSE指令集 280
习题10 294
参考文献 295