第1章 汇编语言基础知识 1
1.1 什么是汇编语言 1
1.1.1 计算机语言的地位和作用 1
1.1.2 计算机语言的分类 2
1.1.3 汇编语言 3
1.2 为什么要学习汇编语言 3
1.2.1 汇编语言的特点 3
1.2.2 汇编语言的应用 5
1.3 怎样学好汇编语言 7
1.4 第一个汇编语言程序 7
小结 9
习题 9
第2章 数据的表示方式和运算 10
2.1 数制 10
2.1.1 二进制数 10
2.1.2 十六进制数 11
2.1.3 十进制数与二进制数、十六进制数之间的转换 12
2.2 二进制数据的组织 13
2.2.1 位 13
2.2.2 半字节 13
2.2.3 字节 14
2.2.4 字 14
2.2.5 双字 14
2.3 符号数的表示 15
2.3.1 正数的表示 15
2.3.2 负数的表示 15
2.3.3 8位符号数 16
2.3.4 16位符号数 16
2.3.5 32位符号数 17
2.4 非符号数的表示 17
2.4.1 8位非符号数 17
2.4.2 16位非符号数 17
2.4.3 32位非符号数 17
2.5 符号扩展与零扩展 17
2.5.1 非符号数的零扩充 17
2.5.2 符号数的符号扩充 17
2.6 字符的表示 18
2.6.1 ASCII 码 18
2.6.2 数字与其字符的相互转化 18
2.6.3 大小写字母的相互转化 18
2.7 二进制数据的运算 19
2.7.1 算术运算 19
2.7.2 逻辑运算 19
2.7.3 移位运算 20
小结 20
习题 21
第3章 8086/8088微型计算机系统组成 22
3.1 微型计算机系统概述 22
3.1.1 微型计算机硬件组成 22
3.1.2 微型计算机软件组成 23
3.2 8086/8088 CPU 功能结构 24
3.2.1 8086/8088 CPU 编程结构 24
3.2.2 8086/8088的内部寄存器 25
3.3 8086/8088的内存组织 28
3.3.1 内存单元的地址和内容 28
3.3.2 内存地址的分段 29
3.3.3 逻辑地址与物理地址 31
3.3.4 数据在存储器中的存放 33
3.3.5 外部设备 34
小结 35
习题 36
第4章 8086/8088的寻址方式和指令系统 38
4.1 寻址方式 38
4.1.1 指令结构 38
4.1.2 操作数寻址方式 39
4.1.3 段跨越 43
4.2 8086/8088的指令系统 44
4.2.1 数据传送指令 44
4.2.2 转换指令 51
4.2.3 算术指令 52
4.2.4 十进制调整指令 61
4.2.5 逻辑运算和移位指令 65
4.2.6 字符串操作指令 73
4.2.7 控制转移指令 88
小结 98
习题 99
第5章 汇编程序格式与程序调试 106
5.1 汇编程序格式 106
5.1.1 汇编程序的基本结构及编译步骤 106
5.1.2 段的定义、假设与引用 110
5.1.3 程序的结束 114
5.1.4 汇编语言的语句 117
5.2 可执行程序的两种格式 128
5.3 汇编程序调试 129
5.3.1 汇编程序的查错方法 129
5.3.2 汇编程序的调试工具 130
5.3.3 DEBUG 的使用方法 130
5.3.4 用 turbo debugger 调试汇编程序 137
5.3.5 用 Soft-ICE 调试汇编程序 138
小结 140
习题 140
第6章 顺序程序设计 145
6.1 顺序程序的结构 145
6.2 顺序程序设计实例 145
小结 149
习题 149
第7章 分支程序设计 150
7.1 分支程序的结构 150
7.2 双分支程序设计 152
7.3 多分支程序设计 153
小结 158
习题 159
第8章 循环程序设计 160
8.1 循环程序的结构 160
8.2 循环程序的控制方法 161
8.2.1 计数法 161
8.2.2 条件控制法 163
8.3 多重循环程序设计 166
小结 170
习题 170
第9章 子程序设计 171
9.1 子程序的结构 171
9.1.1 子程序的定义 171
9.1.2 近过程和远过程 172
9.1.3 子程序的调用和返回 173
9.2 子程序的参数传递方法 175
9.2.1 通过寄存器传递参数 175
9.2.2 通过变量传递参数 176
9.2.3 通过地址表传递参数 178
9.2.4 通过堆栈传递参数 180
9.3 子程序的嵌套与递归 182
9.3.1 子程序的嵌套 182
9.3.2 递归子程序 183
9.4 子程序设计实例 184
小结 191
习题 192
第10章 中断 193
10.1 中断的基本概念 193
10.1.1 中断的定义 193
10.1.2 中断类型 193
10.1.3 中断优先级 196
10.2 断处理过程 196
10.2.1 中断调用和返回 196
10.2.2 中断向量表 198
10.3 中断控制器8259A 199
10.3.1 8259A 芯片的内部结构 200
10.3.2 8259A 的工作过程 201
10.3.3 8259A 的编程要点 201
10.4 中断程序设计 203
10.4.1 中断程序的设计方法 203
10.4.2 软中断程序的设计 205
10.4.3 硬中断程序的设计 207
小结 210
习题 210
第11章 MS-DOS、PC-BIOS 系统调用 212
11.1 系统调用的方法 212
11.2 DOS 调用 213
11.2.1 输入字符功能调用(AH=01h/INT 21h) 213
11.2.2 输出字符功能(AH=02h/INT 21h) 214
11.2.3 输出字符串功能(AH=09h/INT 21h) 215
11.2.4 输入字符串功能(AH=0Ah/INT 21h) 215
11.2.5 终止程序功能(AH=4Ch/INT 21h) 217
11.3 BIOS 调用 217
11.3.1 INT 10h-视频中断 217
11.3.2 INT 13h-磁盘中断 222
11.3.3 INT 16h-键盘中断 224
11.3.4 INT 17h-打印中断 226
小结 228
习题 228
第12章 内存分配与文件操作 229
12.1 内存分配 229
12.1.1 重新分配内存 230
12.1.2 分配内存 231
12.1.3 释放内存 231
12.2 文件操作 233
12.2.1 文件名与文件代号 233
12.2.2 文件属性 234
12.2.3 文件的创建与打开 234
12.2.4 文件的读写与关闭 235
小结 237
习题 237
附录 238
附录1 ASCII 码表 238
附录2 常用 DOS 功能调用 239
主要参考文献 240