第一章 概述 1
1.1 引言 1
1.2 汇编语言使用的数字系统 1
(一)二进制数 1
(二)十六进制表示法 4
(三)ASCII码 5
1.3 8088微处理器结构 6
(一)寄存器结构 6
(二)8088的功能结构 9
1.4 IBM-PC系统结构 11
(一)系统板基本配置 11
(二)存贮器 12
(三)输入/输出通道 13
本章要点 15
习题 16
第二章 机器语言执行 17
2.1 引言 17
2.2 启动 17
2.3 观察存贮器单元 18
2.4 机器语言实例 19
(一)立即数据 19
(二)定义的数据 22
2.5 机器码的寻址 24
2.6 机器语言实例:确定存贮器大小 25
2.7 DEBUG的特点 26
本章要点 28
习题 29
第三章 汇编语言要求 31
3.1 引言 31
3.2 汇编注释 31
3.3 编码格式 31
3.4 伪指令 33
3.5 程序初始化 39
3.6 源程序实例 40
本章要点 41
习题 41
第四章 汇编和执行一个程序 42
4.1 引言 42
4.2 键入一个程序 42
4.3 为执行准备一个程序 42
4.4 汇编一个程序 43
4.5 连接一个程序 46
4.6 源程序实例 48
4.7 交叉参考文件 50
本章要点 51
习题 51
第五章 数据定义 53
5.1 引言 53
5.2 数据定义伪指令 53
(一)定义字节(DB) 55
(二)定义字(DW) 55
(三)定义双字(DD) 56
(四)定义四字(DQ) 56
(五)定义十字节(DT) 56
5.3 立即操作数 57
5.4 EQU赋值伪指令 58
本章要点 59
习题 59
第六章 COM程序文件 61
6.1 引言 61
6.2 EXE和COM程序文件之间的区别 61
6.3 COM程序文件实例 62
6.4 COM堆栈 63
6.5 调试注意 63
本章要点 63
习题 63
第七章 程序逻辑和结构 65
7.1 引言 65
7.2 JMP指令 66
7.3 LOOP指令 67
7.4 标志寄存器 68
7.5 条件转移指令 69
7.6 CALL和过程 71
7.7 堆栈段 72
7.8 程序:扩展MOVE操作 73
7.9 布尔操作:AND,OR,XOR,TEST,NOT 75
7.10 程序:将小写变成大写 76
7.11 移位和环移 77
7.12 程序结构 79
本章要点 80
习题 80
第八章 屏幕处理Ⅰ—基本特点 82
8.1 引言 82
8.2 中断指令:INT 82
8.3 光标设置 82
8.4 屏幕清除 83
8.5 屏幕和键盘操作:原型DOS 84
8.6 屏幕显示:原型DOS 84
8.7 程序:显示ASCII字符系统 84
8.8 从键盘接受输入:原型DOS 86
8.9 程序:接收和显示名字 86
8.10 屏幕和键盘操作:扩展DOS 89
8.11 屏幕显示:扩充DOS 89
8.12 从键盘接收输入:扩展DOS 90
8.13 使用回车、换行和TAB的显示 92
本章要点 92
习题 93
第九章 屏幕处理Ⅱ—新的特点 94
9.1 引言 94
9.2 属性字节 94
9.3 BIOS中断10H 95
9.4 程序:闪烁,反向视频和滚行 99
9.5 扩展的ACSII字符 99
9.6 其它DOS输入/输出操作 101
9.7 由键盘输入的BIOS 1NT 16H 101
9.8 扩展功能键 102
本章要点 103
习题 104
第十章 屏幕处理Ⅲ—彩色/图形 105
10.1 引言 105
10.2 文本(字符)方式 105
10.3 图形方式 107
10.4 中分辨率方式 107
本章要点 109
习题 109
第十一章 字符串指令 110
11.1 引言 110
11.2 串操作的特点 110
11.3 重复串操作前缀:REP 110
11.4 MOVS(MOVE STRING) 111
11.5 LODS(LOAD STRING) 112
11.6 STOS(STORE STRING) 112
11.7 CMPS(COMPAR STRING) 113
11.8 SCAS(SCAN STRING) 113
11.9 字符串指令的应用 115
本章要点 120
习题 120
第十二章 算术运算Ⅰ:二进制数据处理 121
12.1 引言 121
12.2 加和减 121
12.3 乘法 125
12.4 除法 129
12.5 符号反向 132
本章要点 133
习题 133
第十三章 算术运算Ⅱ:ASCII和BCD数据的处理 134
13.1 引言 134
13.2 ASCII格式及其算法 134
13.3 二进制编码的十进制(BCD)格式 138
13.4 将ASCII数转换成二进制格式 141
13.5 将二进制数据转换成ASCII格式 141
13.6 移位和四舍五入 142
13.7 程序实例:转换小时和计算工资率 143
本章要点 149
习题 149
第十四章 表处理 150
14.1 引言 150
14.2 表定义 150
14.3 直接表的处理 150
14.4 表搜索 152
14.5 换码(XALT)指令 155
14.6 显示十六进制数和ASCII 157
14.7 程序实例:分类表的引入 158
本章要点 159
习题 159
第十五章 磁盘存贮器Ⅰ:数据的组织 163
15.1 引言 163
15.2 磁盘容量 163
15.3 目录 164
15.4 文件分配表FAT 165
本章要点 167
习题 167
第十六章 磁盘存贮器Ⅱ:原型DOS功能 168
16.1 引言 168
16.2 文件控制块:FCB 168
16.3 用FCB建立磁盘文件 169
16.4 程序:用FCB建立磁盘文件 170
16.5 顺序读磁盘文件 174
16.6 程序:用FCB读一磁盘文件 175
16.7 随机处理 178
16.8 程序:随机读一磁盘文件 182
16.9 随机数据块处理 183
16.10 程序:读一随机数据块 185
16.11 绝对磁盘I/O 186
16.12 各种特点的性质 187
16.13 程序:选择性的删除文件 188
本章要点 191
习题 191
第十七章 磁盘存贮器Ⅲ:扩充的DOS功能 193
17.1 引言 193
17.2 ASCII字符串 193
17.3 文件处理和错误回送代码 193
17.4 产生一个磁盘文件 193
17.5 程序:用一处理去建立一个文件 195
17.6 读磁盘文件 198
17.7 程序:用一处理去读文件 199
17.8 ASCII文件 202
17.9 其它扩充功能调用 205
本章要点 208
习题 208
第十八章 磁盘存贮器Ⅳ:BIOS的磁盘输入/输出 210
18.1 引言 210
18.2 BIOS的磁盘操作 210
18.3 状态字节 211
18.4 程序:用BIOS读扇区 212
本章要点 212
习题 214
第十九章 打印 215
19.1 引言 215
19.2 一般打印机的控制字符 215
19.3 用扩充DOS打印 216
19.4 程序:带有页溢出和标题的打印 216
19.5 打印ASCII文件和处理TABS 218
19.6 用原型DOS打印 222
19.7 打印机的特殊命令 222
19.8 用BIOS INT 17打印 223
本章要点 224
习题 224
第二十章 宏汇编 225
20.1 引言 225
20.2 一个简单的宏定义 225
20.3 宏操作中参数的使用 227
20.4 注释 228
20.5 宏定义中宏操作的使用 230
20.6 局部伪指令 230
20.7 从宏操作库中蕴含 231
20.8 伪操作码的删除和连接 233
20.9 重复:REPT,IRP和IRPC 233
20.10 条件伪指令 234
20.11 EXITM伪指令 235
20.12 使用IF和IFNDEF条件的宏操作 236
20.13 使用IFIDN条件的宏操作 238
本章要点 239
习题 239
第二十一章 子程序的连接 240
21.1 引言 240
21.2 段间调用 241
21.3 外部及公共属性 241
21.4 传递参数 249
21.5 BASIC解释程序与汇编程序的连接 251
21.6 PASCAL和汇编程序的连接 255
21.7 C和汇编程序的连接 257
本章要点 257
习题 257
第二十二章 程序装入 258
22.1 引言 258
22.2 COMMAND.COM 259
22.3 程序段前缀 259
22.4 COM程序的执行 261
22.5 执行一个EXE程序 261
22.6 EXE程序示例 263
22.7 装入或执行一个程序的功能 265
第二十三章 BIOS与DOS中断 267
23.1 引言 267
23.2 中断服务 267
23.3 BIOS中断 269
23.4 DOS中断 270
23.5 DOS INT 21H功能调用 271
23.6 驻留程序 273
23.7 端口 276
23.8 声音产生 277
附录Ⅰ-1 伪指令详解 279
(一)引言 279
(二)变址存贮器 279
(三)汇编程序运算符 279
(四)汇编程序伪指令 281
附录Ⅰ-2 指令详解 290
(一)引言 290
(二)寄存器符号表示法 290
(三)寻址方式字节 291
(四)二字节指令 292
(五)三字节指令 292
(六)四字节指令 292
(七)字母顺序的指令系统 293
附录Ⅱ-1 7位ASCII全部字符的十六进制和十进制代码 330
附录Ⅱ-2 8位ASCII全部字符的十六进制和十进制代码 331
附录Ⅲ 十六进制/十进制转换 335
附录Ⅳ 保留字 336
附录Ⅴ 汇编和连接选择 338