第1章 概述 1
1.1汇编语言简介 1
机器语言 1
汇编语言 1
汇编语言的组成和特征 2
编辑程序、汇编程序和连接程序 2
1.2计算机中的数和编码 3
计算机中的数制 3
符号数的表示 4
二进制数的运算 6
二进制编码 9
8086/8088支持的数据类型及其内部表示 11
1.3微型计算机的工作过程 11
指令与程序的执行 11
程序执行过程举例 12
习题 14
第2章 微机系统和寻址方式 15
2.1微机系统概述 15
硬件系统 15
软件系统 16
2.2 8086/8088中央处理器的组成 16
8086/8088中央处理器的功能结构 16
8086/8088 CPU的寄存器结构 17
2.3 8086/8088的存储器组织 19
存储器的地址和内容 19
存储器分段 20
2.4寻址方式 22
立即寻址方式 22
寄存器寻址方式 23
直接寻址方式 23
寄存器间接寻址方式 25
寄存器相对寻址方式 26
基址变址寻址方式 27
相对基址变址寻址方式 29
习题 31
第3章 汇编语言程序设计 32
3.1顺序程序设计 32
基本指令 32
单个字符的输入和输出 36
源程序的基本格式 38
顺序程序设计案例 40
3.2分支程序设计 43
条件标志位的设置规则 43
跳转指令 45
分支程序设计 49
3.3循环程序设计 55
先判断再循环 55
先循环再判断 56
计数型循环 57
循环嵌套 58
习题 59
第4章 常用数据处理技术 60
4.1变量 60
变量定义 60
内存图 64
变量定义与内存分配的关系 65
4.2常用伪指令 66
OFFSET和SEG 66
ASSUME和PTR 67
ORG和$ 68
=和EQU 70
INCLUDE伪指令 71
4.3常用数据处理指令 71
算术运算类指令 71
逻辑运算类指令 74
4.4字符串输入输出方法 77
DOS的9号子功能——字符串输出 77
DOS的10号子功能——字符串输入 79
字符数据处理程序设计案例 81
习题 86
第5章 子程序设计 88
5.1堆栈 88
建立堆栈 88
堆栈操作指令 89
5.2子程序的调用与返回 91
子程序调用指令CALL 91
子程序返回指令RET 94
5.3子程序设计 95
子程序的结构 95
子程序的定义 97
带参数的子程序 100
子程序嵌套 105
子程序设计案例 107
习题 113
第6章 高级编程技术 114
6.1移位指令及循环移位指令 114
移位指令 114
循环移位指令 116
6.2串操作指令 118
DF标志位 118
与REP配合的串指令MOVS、 STOS和LODS 118
与REPE和REPNE配合的串指令CMPS和SCAS 122
串操作指令的应用 125
6.3宏指令 127
宏的定义、调用和展开 127
宏定义中的参数 129
宏与子程序的比较 130
宏在编程中的应用 131
习题 132
第7章 输入输出和中断 134
7.1输入输出概述 134
接口的基本概念 134
8086/8088的独立编址方式 135
输入输出指令 135
CPU与外设传送数据的控制方式 137
7.2查询方式输入输出 138
7.3中断方式输入输出 141
中断概述 141
IBM-PC机中断系统 142
中断调用及中断返回指令 149
系统提供的中断服务子程序 149
编写中断服务程序 150
习题 158
第8章 终端控制技术 160
8.1键盘控制技术 160
键盘工作原理与9号中断 160
BIOS 16H号中断 162
DOS的输入子功能 164
封锁键盘的技术 164
8.2屏幕控制技术 165
屏幕与光标 165
字符的属性编码 166
字符方式的显示缓冲区 167
BIOS中断10H 168
编程案例 172
习题 181
附录 182
附录A ASCII码与扫描码 182
附录B DOS系统功能调用 183
附录C BIOS功能调用 186
附录D 8086/8088汇编语言伪指令 187
附录E 8086/8088汇编语言指令 188
参考文献 197