第1章 汇编语言基础知识 1
1.1汇编语言概述 1
1.2数制及数制转换 2
1.2.1进位计数制 2
1.2.2数制转换 2
1.3计算机中数与字符的表示 4
1.3.1数的补码表示 4
1.3.2补码的加法和减法运算 5
1.3.3无符号数 5
1.3.4字符表示法 5
习题 6
第2章 微型计算机组织 8
2.1基于微处理器的计算机系统构成 8
2.1.1硬件 8
2.1.2软件 9
2.2中央处理器 9
2.2.1中央处理器CPU的组成 9
2.2.2寄存器结构 9
2.3存储器 13
2.3.1存储单元的地址和内容 13
2.3.2存储器地址的分段 14
习题 15
第3章 寻址方式与指令系统 17
3.1寻址方式 17
3.1.1立即寻址方式 17
3.1.2寄存器寻址方式 18
3.1.3直接寻址方式 19
3.1.4寄存器间接寻址方式 19
3.1.5寄存器相对寻址方式 20
3.1.6基址变址寻址方式 20
3.1.7相对基址变址寻址方式 21
3.2 8086/8088的指令系统 22
3.2.1数据传送指令 22
3.2.2算术运算指令 28
3.2.3逻辑指令 34
3.2.4串处理指令 37
3.2.5处理机控制指令 42
习题 43
第4章 汇编语言程序格式 47
4.1汇编程序功能 47
4.2伪指令 48
4.2.1表达式赋值伪指令EQU 48
4.2.2数据定义伪指令 48
4.2.3段定义伪指令 50
4.2.4程序开始和结束伪指令 52
4.2.5模式选择和简化段定义伪指令 52
4.2.6地址计数器与对准伪指令 54
4.2.7基数控制伪指令 55
4.2.8处理器选择伪指令 55
4.3汇编语言程序格式 55
4.3.1名字项 55
4.3.2操作项 56
4.3.3操作数项 56
4.3.4注释项 60
4.4汇编语言程序的上机操作 62
4.4.1建立ASM文件 62
4.4.2用汇编程序TASM对源文件汇编产生OBJ文件 63
4.4.3用连接程序TLINK产生EXE文件 66
4.4.4程序的执行 67
4.4.5 COM文件 67
习题 68
第5章 分支程序设计 70
5.1转移指令 70
5.1.1无条件转移指令 70
5.1.2条件转移指令 72
5.2分支程序设计方法 75
5.2.1分支程序的结构形式 75
5.2.2两路分支程序设计 75
5.2.3多路分支程序设计 77
习题 80
第6章 循环程序设计 83
6.1循环控制指令 83
6.2循环程序设计方法 84
6.2.1循环程序的结构形式 84
6.2.2单重循环程序设计 85
6.2.3多重循环程序设计 90
习题 94
第7章 子程序设计 96
7.1子程序的定义 96
7.2子程序的调用和返回指令 97
7.2.1调用指令(CALL) 97
7.2.2返回指令(RET) 97
7.3子程序的编写方法 99
7.3.1子程序的调用和返回 99
7.3.2寄存器的保护和恢复 99
7.3.3主程序和子程序之间的参数传递 100
7.3.4子程序应用举例 106
7.4子程序的嵌套 108
7.5中断指令 111
7.5.1中断的基本概念 111
7.5.2引起中断的指令 113
7.5.3中断和子程序的比较 114
7.6 DOS系统功能调用 114
7.6.1 DOS功能模块的调用方法 114
7.6.2单个字符的输入输出 115
7.6.3字符串的输入输出 115
习题 117
第8章 高级汇编语言技术 119
8.1宏汇编 119
8.1.1宏的定义、宏调用和宏展开 119
8.1.2宏参数的特殊运算符 122
8.1.3与宏有关的伪指令 123
8.1.4宏库的使用 125
8.2重复汇编 127
8.2.1重复伪操作 127
8.2.2不定重复伪操作 129
8.3条件汇编 130
8.3.1条件汇编伪指令的功能 130
8.3.2条件汇编伪指令的举例 131
习题 131
第9章 输入输出程序设计 133
9.1 I/O设备的数据传送方式 133
9.1.1 CPU与外设 133
9.1.2直接存储器存取(DMA)方式 134
9.2程序直接控制I/O方式 134
9.2.1 I/O端口 134
9.2.2 I/O指令 135
9.2.3 I/O程序举例 135
9.3中断传送方式 138
9.3.1 8086的中断分类 138
9.3.2中断向量表 139
9.3.3中断过程 140
9.3.4中断优先级和中断嵌套 140
9.3.5中断处理程序设计 140
9.4 BIOS和DOS中断 142
9.4.1键盘I/O 143
9.4.2显示器I/O 145
9.4.3磁盘文件存取技术 147
习题 152
参考文献 154
附录 155