第1章 基础知识 1
1.1 汇编语言概述 1
1.1.1 汇编语言 1
1.1.2 高级语言 2
1.1.3 汇编语言的优势 2
1.2 数据的表示 2
1.2.1 数与数制 2
1.2.2 计算机中的数据表示 5
1.2.3 数据类型 9
1.3 基本位操作 11
1.3.1 逻辑操作 11
1.3.2 移位与循环移位 12
1.4 小结 13
第2章 计算机系统组织 15
2.1 计算机系统的基本结构 15
2.1.1 8086计算机的CPU 15
2.1.2 8086寄存器组 16
2.2 存储器 19
2.2.1 存储单元的地址和内容 19
2.1.3 段寄存器 19
2.2.2 存储器寻址 20
2.3 系统总线和I/O子系统 23
2.3.1 系统总线 23
2.3.2 I/O子系统 24
2.4 小结 24
第3章 8086指令系统及汇编语言格式 26
3.1 8086指令系统 26
3.1.1 指令格式 26
3.2.1 什么是寻址方式 27
3.2 寻址方式 27
3.1.2 操作数形式 27
3.2.2 寻址方式分类 28
3.2.3 与数据有关的寻址方式 28
3.2.4 与地址相关的寻址方式 32
3.3 指令的机器语言表示 34
3.3.1 操作码的机器语言表示 35
3.3.2 指令的机器表示 36
3.4 8086汇编指令系统 38
3.4.1 数据传送类指令 39
3.4.2 算术运算类指令 44
3.4.3 逻辑运算指令 55
3.4.4 转移类指令 59
3.4.5 字符串操作指令 65
3.4.6 处理器控制指令 70
3.5 中断指令 71
3.5.1 中断简介 71
3.5.2 中断指令 72
3.6 小结 73
4.2.2 语名格式及其他 78
4.2.1 语句类型 78
4.2 汇编语言语句 78
4.1 地址计数器 78
第4章 汇编语言程序格式 78
4.3 运算符和操作符 80
4.3.1 运算符 80
4.3.2 操作符 81
4.3.3 表达式的运算次序 82
4.3.4 地址表达式 83
4.4 基本伪指令 83
4.4.1 符号定义伪指令 83
4.4.2 数据定义伪指令 84
4.4.3 段和模块定义伪指令 85
4.4.4 过程定义和通信伪指令 87
4.5 汇编语言源程序结构 90
4.6 小结 94
第5章 汇编语言程序的开发 99
5.1 开发过程 99
5.1.1 开发流程 99
5.1.2 汇编程序的作用 100
5.1.3 开发过程 100
5.2.1 汇编器 102
5.2 汇编语言程序的开发环境 102
5.2.2 调试器 103
5.3 小结 110
第6章 基本结构程序设计与汇编语言扩展 111
6.1 程序设计的一般过程 111
6.1.1 算法与流程图 111
6.1.2 程序设计的一般过程 112
6.2 基本程序结构 113
6.2.1 顺序结构 113
6.2.2 分支结构 114
6.2.3 循环结构程序设计 123
6.3.1 过程概述 129
6.3 过程 129
6.3.2 过程调用方法说明 133
6.3.3 过程参数的传递 134
6.3.4 过程的嵌套与递归 138
6.4 宏指令 143
6.4.1 宏指令的定义、调用和展开 143
6.4.2 宏操作符 145
6.4.3 宏指令与过程的区别 146
7.1.1 CPU与外设 148
第7章 输入/输出程序设计 148
7.1 输入/输出的基本概念 148
7.1.2 端口寻址和I/O指令 150
7.2 输入/输出基本方式 152
7.3 程序直接控制输入/输出方式 153
7.3.1 无条件传送方式 153
7.3.2 程序查询输入/输出方式 154
7.4 8086/8088中断 155
7.4.1 中断的基本概念及用途 156
7.4.2 8086/8088中断分类及向量表 157
7.5 中断优先级与中断嵌套 163
7.5.1 中断优先级 163
7.5.2 中断嵌套 163
7.6 应用举例 163
7.7 小结 170
第8章 BIOS/DOS中断 172
8.1 键盘I/O 173
8.1.1 字符码与扫描码 173
8.1.2 BIOS键盘中断 175
8.1.3 DOS键盘功能调用 176
8.2 显示器I/O 179
8.2.1 字符属性 179
8.2.2 BIOS显示中断 181
8.2.3 DOS显示功能调用 185
8.3 打印机I/O 186
8.3.1 DOS打印功能 187
8.3.2 打印机的控制字符 188
8.3.3 BIOS打印功能 191
8.4 串行通信口I/O 192
8.4.2 DOS串行口功能调用 193
8.4.1 串行通信接口 193
8.4.3 BIOS串行口功能调用 194
8.5 磁盘与文件操作 197
8.5.1 BIOS磁盘操作 198
8.5.2 DOS文件操作 201
8.5.3 应用举例 206
8.6 程序驻留技术 209
8.6.1 内存管理 210
8.6.3 应用举例 213
8.6.2 触发方式 213
8.7 小结 218
第9章 彩色图形程序设计 220
9.1 显示方式 220
9.1.1 显示分辨率 220
9.1.2 BIOS设置显示方式 221
9.2 视频显示存储器 224
9.2.1 图形存储器映像 224
9.2.2 数据到颜色的转换 226
9.2.3 直接视频显示 227
9.3 EGA/VGA图形程序设计 231
9.3.1 读写像素 232
9.3.2 图形方式下的文本显示 238
9.3.3 彩色绘图程序 241
9.3.4 动画显示技术 246
9.4 画直线——在两点间画一直线 248
9.5 绘制圆形 260
9.6 扫描线填充三角形 265
9.7 屏幕显示缓冲区的内容转存至文件 271
9.8 数据从文件装入到显示缓冲区 275
9.9 产生一个BMP文件 277
9.10 利用鼠标绘图 280
10.1.1 可编程时间间隔定时器8253/54 283
第10章 发声系统的程序设计 283
10.1 通用发声程序 283
10.1.2 扬声器驱动方式 286
10.1.3 通用发声程序 287
10.1.4 80x86PC的时间延迟 289
10.2 乐曲程序 291
10.2.1 音调与频率和时间的关系 291
10.2.2 演奏乐曲的程序 292
10.2.3 键盘控制发声程序 295
10.3 报警程序 296