第1章基础知识 1
1.1数据表示与运算 1
1.1.1进位计数制与不同基数制之间的转换 1
1.1.2二进制数和十六进制数运算 4
1.1.3数据表示 4
1.1.4定点数与浮点数 7
1.2 8086/8088系统结构 8
1.2.1 8086/8088 CPU的内部结构 8
1.2.2 8086 CPU寄存器组织 10
1.2.3 8086 CPU引脚功能 12
1.3 计算机语言基本概念 16
1.3.1机器语言 16
1.3.2汇编语言 16
1.3.3高级语言 17
1.3.4汇编语言与高级语言的比较 17
本章小结 18
习题一 18
第2章8086/8088的寻址方式和指令系统 19
2.1寻址方式 19
2.1.1操作数类型 19
2.1.2寻址方式 20
2.2指令系统 27
2.2.1数据传送指令 27
2.2.2算术运算指令 31
2.2.3逻辑运算指令 40
2.2.4移位指令 41
2.2.5转移指令 43
2.2.6字符串操作指令 47
2.2.7处理器控制指令 50
2.2.8输入/输出指令 51
2.2.9中断指令 52
本章小结 54
习题二 54
第3章汇编语言 56
3.1汇编语言语句 56
3.1.1语句的类别与结构 56
3.1.2指令语句的操作数 58
3.1.3指令语句中的运算符和操作符 59
3.2伪指令 63
3.2.1数据定义与符号定义伪指令 63
3.2.2段定义伪指令 65
3.2.3模块定义与通信伪指令 67
3.2.4过程定义伪指令 67
3.2.5其他伪指令 68
3.3汇编语言程序的结构 68
3.3.1汇编语言程序的构造 68
3.3.2程序正常返回DOS的方法 70
3.4高级汇编语言技术 71
3.4.1条件汇编 71
3.4.2宏汇编 72
3.4.3结构 74
3.4.4记录 75
实训一汇编程序MASM的使用 75
实训二集成的编程环境PWB介绍 79
实训三调试工具DEBUG的使用 82
本章小结 86
习题三 87
第4章基本程序设计 89
4.1顺序程序设计 89
4.1.1存储单元内容移位 89
4.1.2乘法运算 90
4.1.3屏蔽与置位 90
4.1.4拆字与合字 91
4.1.5数据与ASCII码的相互转换 91
4.1.6简单算术运算 92
4.1.7查表 93
4.2分支程序设计 94
4.2.1单重分支 94
4.2.2多重分支 96
4.2.3用地址表实现分支 97
4.3循环程序设计 98
4.3.1循环程序的结构 98
4.3.2单重循环 98
4.3.3多重循环 101
4.4子程序设计 102
4.4.1子程序与调用程序 102
4.4.2子程序与主程序的参数传递 105
4.4.3子程序中寄存器的保护与恢复 109
实训一分支程序设计 110
实训二循环程序设计 112
实训三子程序设计 114
本章小结 118
习题四 118
第5章算术与非数值程序设计 120
5.1算术运算程序设计 120
5.1.1定点数的运算 120
5.1.2加法运算 120
5.1.3减法运算 122
5.1.4乘法运算 124
5.1.5除法运算 128
5.2数据处理程序设计 130
5.2.1数据处理简介 130
5.2.2代码转换 130
5.2.3字符处理 132
5.2.4表处理 135
5.2.5检索与排序 138
实训一BCD数运算 141
实训二二进制数与ASCⅡ码的相互 144
转换 144
实训三字符串统计 146
本章小结 149
习题五 149
第6章输入/输出程序设计 151
6.1工作原理 151
6.1.1 CPU与外设的信息交换 151
6.1.2 CPU寻址外设的方式 152
6.1.3数据传送方式 153
6.2数据的输入/输出方式 153
6.2.1直接I/O方式 154
6.2.2查询I/O方式 154
6.2.3中断I/O方式 156
实训一数据采集:查询方式 163
实训二PC机间的相互通信:查询方式 165
实训三PC机间的相互通信:中断方式 171
本章小结 174
习题六 174
第7章DOS与BIOS中断及程序设计 175
7.1 DOS中断与系统功能调用 175
7.1.1 DOS中断 175
7.1.2 DOS系统功能调用 176
7.1.3磁盘文件管理 179
7.2 BIOS中断功能调用 183
7.2.1 BIOS中断 183
7.2.2常用的BIOS功能调用举例 184
7.2.3图形显示程序设计 190
实训一发声程序设计 191
实训二彩色图形程序设计 195
实训三磁盘文件操作设计 196
本章小结 198
习题七 199
第8章模块化的程序设计 200
8.1模块化的程序设计 200
8.1.1模块化设计原则 200
8.1.2模块之间的组合与通信 201
8.1.3模块化设计举例 202
8.2汇编语言与高级语言的接口 207
8.2.1概述 207
8.2.2嵌入式汇编 207
8.2.3汇编语言与C语言的混合编程 209
实训一键盘录入数据的转换与显示 215
实训二C语言调用汇编语言子程序进行 218
数据传递与显示 218
本章小结 221
习题八 222
第9章80x86/Pentium汇编语言介绍 223
9.1 80x86/Pentium微处理器简介 223
9.1.1 80286微处理器 223
9.1.2 80386微处理器 223
9.1.3 80486微处理器 224
9.1.4 Pentium系列微处理器 224
9.2 80286新增指令 225
9.2.1堆栈操作指令 225
9.2.2有符号数乘法指令 225
9.2.3移位指令 226
9.3 80386新增指令 226
9.3.1数据传送与填充指令 227
9.3.2堆栈操作指令 227
9.3.3取段寄存器指令 228
9.3.4有符号数乘法指令 228
9.3.5符号扩展指令 228
9.3.6移位指令 228
9.3.7位操作指令 229
9.3.8条件设置字节指令 230
9.3.9循环控制指令 231
9.3.10字符串操作指令 231
9.4 80486新增指令 232
9.4.1字节交换指令 232
9.4.2交换并相加指令 232
9.4.3比较并交换指令 233
9.4.4 Cache管理指令 233
9.5 Pentium新增指令 233
9.5.1 8字节比较交换指令 233
9.5.2处理器特征识别指令 234
9.5.3读时间标记计数器指令 234
9.5.4读模型专用寄存器指令 234
9.5.5写模型专用寄存器指令 234
本章小结 234
习题九 235
附录 236
附录ⅠASCII码表 236
附录ⅡDOS系统功能调用 237
附录Ⅲ常用BIOS子程序的功能及其 241
调用参数 241
参考文献 246