第1章 导论 1
1.1计算机语言 1
1.1.1面向机器的计算机语言 1
1.1.2非面向机器的计算机语言 4
1.2计算机中数的表示 5
1.2.1数的表示 6
1.2.2数制转换 8
1.2.3 ASCII码 9
1.2.4数的补码表示 10
1.2.5 IEEE浮点数 12
1.2.6从不同角度看待一个二进制数 16
1.3理解和认识汇编语言 17
1.3.1从设计师到设计师兼建筑师 17
1.3.2冯·诺依曼计算机的设计思想 17
1.3.3从高级语言的局限性看汇编语言 19
1.3.4汇编语言的主要特性 20
习题1 21
第2章80x86实模式汇编的运行环境 23
2.1 DOS下Edit的使用 23
2.1.1汇编源程序文件的编辑及相关知识 23
2.1.2用Edit编辑汇编源程序 24
2.2用MASM(或ASM)运行汇编语言程序 26
2.2.1 MASM汇编语言程序的调试步骤 26
2.2.2 MASM典型实例 28
2.3用DEBUG调试汇编程序 31
2.3.1用DEBUG运行汇编语言程序 31
2.3.2典型DEBUG命令剖析 32
2.3.3 DEBUG命令综述 36
2.3.4 DEBUG命令综合应用实例 41
2.4 EMU8086的使用 45
2.4.1 EMU8086简介 45
2.4.2 EMU8086的安装及使用 46
2.4.3 EMU8086显示模拟 46
2.4.4 EMU8086应用实例 47
习题2 49
第3章8086微处理器及其寻址方式 51
3.1 8086CPU的基本逻辑结构 51
3.1.1 8086的基本逻辑结构 51
3.1.2理解并运用基本逻辑结构图 52
3.1.3 8086CPU的运行特点 52
3.1.4 8086寄存器组 53
3.2指令与数据 55
3.3 8086的存储器分段结构 56
3.3.1 8086的存储器分段 56
3.3.2段寄存器的引用 59
3.4堆栈 61
3.4.1什么是栈 61
3.4.2 8086的栈机制 61
3.5寻址方式 63
3.5.1汇编指令 63
3.5.2指令中的操作数 64
3.5.3寻址规则 66
习题3 72
第4章 汇编语言程序设计基础 74
4.1源程序的书写格式 74
4.1.1简化段定义格式 74
4.1.2完整段定义格式 77
4.2汇编语言的语句 82
4.3汇编语言的数据组织及其访问 84
4.4至今所用DOS功能调用及程序正常结束的方式 89
习题4 91
第5章 数据传送指令与顺序程序设计 93
5.1数据传送指令 93
5.1.1数据传送指令分类 93
5.1.2 MOV指令与顺序程序实例 94
5.1.3堆栈操作指令 99
5.1.4数据交换指令 102
5.1.5查表转换指令 105
5.2地址目标传送指令 107
5.3标志位传送指令 110
5.4端口输入/输出指令 111
5.5顺序程序设计 111
习题5 112
第6章 算术运算指令与程序设计 114
6.1算术运算指令、逻辑运算指令及其对标记寄存器的影响 114
6.1.1算术运算指令 114
6.1.2算术运算指令对标志寄存器的影响 115
6.1.3条件转移指令与标志寄存器的关系 118
6.2算术运算的数据格式 119
6.3二进制数加减运算 120
6.3.1二进制数加法 120
6.3.2二进制数减法 123
6.3.3二进制数加减运算的有效性 125
6.4二进制数乘除运算 126
6.4.1无符号二进制数乘除运算 126
6.4.2带符号二进制数乘除运算 129
6.5非压缩型BCD码运算 133
6.6压缩型BCD码加减运算 138
习题6 141
第7章 逻辑运算 143
7.1逻辑运算指令介绍 143
7.2逻辑运算指令 144
7.3移位指令 146
7.4循环移位指令 149
7.5逻辑运算指令应用 151
习题7 154
第8章 分支程序与循环程序设计 156
8.1分支 156
8.1.1标号 156
8.1.2程序转移指令 158
8.1.3无条件转移指令 159
8.1.4条件转移 162
8.2程序设计流程图 164
8.3循环程序设计 166
8.3.1循环控制指令 166
8.3.2单重循环 170
8.3.3多重循环 173
习题8 176
第9章 串操作指令与程序设计 178
9.1字符串操作综述 178
9.2字符串操作指令 182
9.3串操作指令的重复前缀 190
习题9 191
第10章 过程 193
10.1过程的定义与说明 193
10.2过程调用 194
10.3过程的返回 200
10.4模块间的调用和转移 201
10.5寄存器的保护和恢复 204
10.6调用程序与被调用过程之间的数据传送 206
10.7递归 208
10.8过程部分综合实例 210
习题10 214
第11章 中断及中断处理程序 216
11.1中断及中断相关概念 216
11.1.1中断的基本概念 216
11.1.2中断向量表 216
11.1.3中断源及中断源的识别 218
11.1.4中断的分类 219
11.1.5中断的优先级 221
11.1.6中断嵌套 222
11.2软中断 222
11.2.1软中断的处理过程 222
11.2.2软中断的分类 223
11.2.3软中断的访问 225
11.3 DOS中断服务和BIOS中断服务 226
11.3.1 DOS中断服务 226
11.3.2 BIOS中断服务 228
11.3.3 DOS和BIOS功能调用实例 230
11.4典型的中断处理程序实例 246
11.4.1中断处理程序的编程原则 246
11.4.2读取和设置中断向量 246
11.5 PC引导机制 250
11.5.1加电自检POST操作 250
11.5.2操作系统加载 252
11.5.3嵌入式系统与汇编 254
习题11 255
第12章 端口输入/输出与外设编程 258
12.1端口 258
12.2 8259A、8255、8253典型芯片编程 259
12.2.1 8259A芯片编程 259
12.2.2 8255芯片编程 261
12.2.3 8253芯片编程 264
12.3综合实例 266
习题12 270
附录A ASCII表 271
附录B键盘扫描码set1 275
附录C INT 21H指令说明及使用方法 277
参考文献 282