第1章 基础知识 1
1.1 微型计算机系统的发展 1
1.1.1 微机技术的发展概况 1
1.1.2 Intel微处理器体系及其演变 3
1.1.3 Intel微处理器的主要特点 3
1.1.4 Intel微处理器的性能 4
1.2 汇编语言程序设计 5
1.2.1 程序设计语言 5
1.2.2 汇编语言 6
1.2.3 学习汇编语言的方法 8
1.3 数据表示方法 9
1.3.1 数与数制 9
1.3.2 计算机中的数据表示 11
1.3.3 数据类型 16
1.4 结果的输出与打印 17
第2章 微处理器的结构及存储器组成 21
2.1 80x86和Pentium微处理器的结构 21
2.1.1 80x86和Pentium微处理器的结构 21
2.1.2 80x86和Pentium微处理器的寄存器结构 26
2.2.1 基本概念 36
2.2 存储器的组织 36
2.2.2 存储器的组织 38
2.2.3 实模式下物理地址的形成 45
2.2.4 保护模式下物理地址的形成 46
第3章 寻址方式和指令系统 48
3.1 寻址方式 48
3.1.1 寻址方式和有效地址概念 48
3.1.2 数据寻址方式 49
3.1.2 程序存储器寻址方式 57
3.2 指令系统 58
3.2.1 数据传送指令 59
3.2.2 算术运算指令 65
3.2.3 十进制算术运算指令 75
3.2.4 逻辑运算指令 79
3.2.5 按条件设置字节指令SET 89
3.2.6 操作系统型指令 90
3.2.7 处理机控制指令 90
3.2.8 高级语言指令 91
3.2.9 Cache管理指令 92
3.2.10 数字处理指令 92
4.1.1 寄存器组和语法元素 95
4.1 汇编程序结构 95
第4章 伪指令及汇编语言源程序结构 95
4.1.2 源程序框架结构 98
4.2 汇编语言语句格式 101
4.2.1 语句种类 101
4.2.2 语句格式 102
4.3 伪指令语句 104
4.3.1 符号/数据/标号定义伪指令语句 104
4.3.2 程序结构伪指令语句 111
4.3.3 过程定义伪指令语句 119
4.3.4 列表伪指令语句 120
4.4.1 标号 122
4.4 标号、变量和表达式 122
4.4.2 标号和变量 124
4.4.3 汇编语言表达式 126
4.4.4 指令操作数 128
4.5 段的组织 129
4.5.1 代码段和数据段的定义 129
4.5.2 堆栈段的定义 132
4.5.3 段访问的指定 133
4.5.4 段寄存器的初始化 135
4.6.1 程序段前缀结构 137
4.6 程序段前缀 137
4.6.2 COM文件结构 140
第5章 基本结构程序设计 145
5.1 程序设计的一般过程 145
5.1.1 程序与程序设计的概念 145
5.1.2 算法与流程图 145
5.1.3 程序设计语言与编码 146
5.1.4 程序设计的一般过程 146
5.2 顺序结构程序设计 148
5.3 分支程序设计 149
5.3.1 转移指令 150
5.3.2 分支程序设计 152
5.4 循环程序设计 160
5.4.1 重复控制指令 160
5.4.2 循环程序的基本结构 162
5.4.3 多重循环 165
5.4.4 循环控制方法 169
5.5 字符处理 172
5.5.1 重复操作前缀 172
5.5.2 串操作指令 173
5.5.3 字符处理程序设计举例 176
第6章 子程序设计 182
6.1 子程序的概念与特性 182
6.1.1 子程序的概念 182
6.1.2 子程序的分类 183
6.1.3 子程序的特性 183
6.2 子程序的结构形式 184
6.2.1 子程序的定义 184
6.2.2 子程序调用方法说明 186
6.3 子程序调用和返回指令 186
6.3.1 调用指令 187
6.3.2 返回指令 190
6.4 子程序的设计 191
6.4.1 子程序的设计 193
6.4.2 子程序的调用 197
6.5 子程序的参数传递方法 197
6.5.1 通过寄存器传递参数 197
6.5.2 用存储单元传递参数 199
6.5.3 通过堆栈传递参数 200
6.6 子程序的嵌套与递归 203
6.6.1 子程序的嵌套调用 204
6.6.2 子程序的递归调用 206
6.7 综合举例 207
第7章 复杂汇编程序设计 230
7.1 结构 230
7.1.1 结构的定义 230
7.1.2 结构的存储分配和预置 231
7.1.3 结构及其字段的引用 232
7.2 记录 233
7.2.1 记录的概念和定义 233
7.2.2 记录的存储分配和预置 233
7.2.4 记录及其字段的引用 234
7.2.3 记录操作符 234
7.2.5 记录与结构的比较 235
7.3 联合 235
7.3.1 联合的概念和定义 235
7.3.2 联合类型说明语句 236
7.3.3 联合变量的说明与赋初值 236
7.4 应用举例 236
第8章 高级汇编技术 241
8.1 宏汇编 241
8.1.1 宏指令的定义、调用和展开 241
8.1.2 宏操作符 243
8.1.4 宏和过程的比较 246
8.1.3 LOCAL伪指令 246
8.2 重复汇编和条件汇编 247
8.2.1 重复汇编 247
8.2.2 条件汇编 248
8.3 汇编语言与高级语言的混合编程 250
8.3.1 调用协议 250
8.3.2 与C语言的接口 253
8.3.3 与PASCAL语言的接口 254
9.1.1 表的处理 259
9.1.2 表处理程序设计 259
第9章 程序设计的一些编程技巧 259
9.1 表处理程序设计 259
9.2 代码转换程序 267
9.3 算术运算 278
9.4 数值分析 283
9.4.1 二分法求解方程 283
9.4.2 牛顿法求解方程 287
9.4.3 高斯消去法解方程组 290
10.1 概述 297
第10章 中断和输入/输出程序设计 297
10.1.1 I/0指令IN和OUT 298
10.1.2 端口地址 299
10.1.3 CPU与外设之间的信息交换方式 299
10.2 中断处理程序设计 300
10.2.1 中断处理程序的编写 300
10.2.2 中断矢量的获取 302
10.2.3 中断程序设计举例 305
10.3 DOS功能调用 310
10.3.1 概述 310
10.3.2 基本I/O功能调用 311
10.3.3 应用举例 314
10.4 BIOS中断调用 317
10.4.1 BIOS概述 317
10.4.2 BIOS中断调用方法 318
10.4.3 BIOS中断调用与DOS功能调用的比较 318
10.5 输入/输出程序设计 319
10.5.1 程序直接控制方式 319
10.5.2 程序中断方式 326
10.5.3 直接存储器存取(DMA)方式 327
10.5.4 通道传输方式 329
参考资料 331