第一章 基础知识 1
§1.1 汇编语言程序的一般概念 1
§1.2 为什么要学习和使用汇编语言 2
§1.3 进位计数制及其相互转换 3
一、进位计数制 3
二、各种数制间的相应转换 4
§1.4 带符号数的表示 7
一、原码表示法 7
二、补码表示法 7
§1.5 字符编码 10
习题 11
第二章 IBM PC微型计算机 12
§2.1 IBM PC微型计算机基本结构 12
一、微机的基本结构 12
二、Intel 8086/8088微处理器功能结构 13
§2.2 Intel 8086/8088 CPU寄存器结构及其用途 14
一、通用寄存器(General Register) 14
二、段寄存器(Segment Regster) 16
三、指令指针IP(Instruction Pionter) 16
四、标志寄存器(Flags Register) 17
一、存储器的组成 18
§2.3 存储器 18
二、存储器的段结构 19
三、逻辑地址与物理地址 21
§2.4 堆栈 22
一、堆栈的构造 22
二、8086/8088堆栈的组织 23
三、堆栈操作 23
习题 25
第三章 寻址方式与指令系统 26
§3.1 寻址方式 26
§3.2 指令系统 31
一、传送类指令 32
二、算术运算类指令 35
三、位操作类指令 38
四、处理器控制类指令 42
§3.3 指令编码 42
一、双操作数指令编码格式 43
二、单操作数指令编码格式 46
三、与AX、AL有关指令编码格式 46
四、其他指令编码格式 47
习题 47
一、指令语句(Instruction Statements) 51
第四章 汇编语言 51
§4.1 汇编语言语句种类及其格式 51
二、伪指令语句(Pseude-instruction statements) 52
三、标识符(Identifier) 52
§4.2 汇编语言数据 53
一、常数(Constants) 53
二、变量(Variables) 54
三、标号(Label) 57
§4.3 符号定义语句 58
一、等值语句 58
§4.4 表达式与运算符 59
二、等号语句 59
一、算术运算符(Arithmetic operators) 60
二、逻辑运算符(Lagical operators) 61
三、关系运算符(Relational operators) 61
四、数值返回运算符(Numeric return operators) 62
五、属性修改运算符(Atribute modifying operators) 64
六、运算符的优先级 65
§4.5 程序的段结构 66
一、段定义伪指令(SEGMENT/ENDS(伪指令)) 66
二、段寻址伪指令(Assu??e伪指令) 68
三、段寄存器的装入 69
§4.6 过程定义伪指令(PROC/ENDP) 71
§4.7 定位伪指令(ORG)和当前位置计数器($) 72
§4.8 标题伪指令(TITLE) 73
§4.9 程序模块的连接 73
习题 75
第五章 程序设计基本技术 79
§5.1 概述 79
§5.2 顺序程序设计 81
一、转移指令 84
§5.3 分支程序设计 84
二、分支程序设计 87
§5.4 循环程序设计 92
一、循环控制指令 92
二、循环程序的结构 96
三、循环控制方法 96
§5.5 子程序设计 99
一、调用与返回指令 99
二、编制子程序的基本要求 102
三、子程序设计举例 104
四、子程序的嵌套与递归调用 108
§5.6 DOS功能子程序的调用 111
习题 115
第六章 算术运算 119
§6.1 十进制数运算 119
一、BCD码校正指令 119
二、十进制数运算程序设计举例 121
§6.2 乘除法运算 122
一、乘除法指令 122
二、乘除运算程序设计举例 124
§6.3 开平方运算 127
§6.4 多精度数运算 131
习题 134
第七章 串和表的处理 135
§7.1 串操作指令 135
§7.2 串操作指令应用举例 137
§7.3 表的处理 142
一、表的构造 142
二、表的插入/删除 145
§7.4 排序 147
§7.5 查找 149
习题 151
§8.2 十六进制数的ASCⅡ码与二进制数之间的相互转换 153
第八章 代码转换 153
§8.1 概述 153
§8.3 二进制数与十进制数之间的转换 157
§8.4 十六进制数与BCD码的转换 159
习题 162
第九章 高级宏汇编语言 163
§9.1 结构 163
一、结构的定义 163
二、结构的预置与存贮分配 163
三、对结构变量及其字段的操作 165
四、程序举例 166
§9.2 记录 167
一、记录的定义 167
二、记录的预置与存储分配 168
三、记录运算符 168
四、对记录及其字段的操作 168
§9.3 宏指令 169
一、宏功能的使用过程 169
二、连接符号 和带空格或逗号的实参 172
三、局部符号伪指令(LOCAL) 172
四、宏库 173
§9.4 重复汇编 175
§9.5 条件汇编 176
习题 179
第十章 输入/输出程序设计 181
§10.1 输入输出指令 181
一、I/O端口寻址 181
二、输入输出指令 181
§10.2 输入输出控制方式 182
一、程序控制方式 182
二、中断控制方式 183
三、直接存贮器存取方式 183
一、一般概念 184
§10.3 中断 184
二、中断源及中断类型码 185
三、中断矢量表 186
四、中断优先级 187
五、中断过程 187
§10.4 BIOS中断调用 189
一、键盘输入中断调用(INT 16H) 189
二、显示器输出控制中断调用(INT 10H) 191
三、时间中断调用(INT 1AH) 195
四、程序举例 196
习题 202
§11.1 汇编语言程序的开发过程 203
§11.2 编辑 203
第十一章 汇编语言程序的开发 203
§11.3 汇编 204
一、MASM的操作 204
二、文件示例及说明 205
§11.4 连接 206
一、LINK的操作 206
§11.5 调试与运行 207
一、进入与退出 207
二、MAP文件的示例 207
二、显示命令 208
三、修改命令 209
四、程序运行 211
五、如何调试程序 212
附录A ASCⅡ码字符表 214
附录B 8086/8088指令系统汇总表 215
附录C 常用指令对标志寄存器标志位的影响汇总表 225
附录D MASM宏汇编语言的保留字 226
附录E 出错信息 227
参考书目 231