书籍详情
80x86汇编语言程序设计(第2版 本科)
作者:王成耀
出版社:人民邮电出版社
出版时间:2008-04-01
ISBN:9787115175014
定价:¥29.80
购买这本书可以去
内容简介
本书以满足“汇编语言程序设计”课程的教学为目标,以Intel 80x86 CPU指令系统与Microsoft宏汇编MASM 6.1X为背景,系统介绍了汇编语言程序设计的基本理论和方法。主要内容包括:汇编语言程序设计的基础知识、实模式下的80x86指令、常用伪指令、源程序格式、程序设计的基本技术、多模块程序设计、输入输出和中断程序设计等。此外,简要介绍了32位保护模式以及Win32汇编语言程序设计的基本方法;以Microsoft Visual C++ 6.0为背景,介绍了Windows 9X/XP/2000/2003等32位环境下汇编语言与C/C++语言的混合编程以及并发程序设计的基本方法。本书可作为高等院校计算机及相关专业本科生的教材,也可作为相关人员学习汇编语言的自学参考书。
作者简介
王成耀,男,1966年10月出生,山西人,汉族。目前任职:信息工程学院计算机系系主任教育经历:1987年获北京科技大学计算机应用专业学士学位。1990年获北京科技大学计算机应用专业硕士学位。自1990年参加工作以来,一直从事计算机专业的教学与科研工作,现任北京科技大学信息工程学院计算机系教授。
目录
第1章 基础知识 1
1.1 认识汇编语言 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.1.3 高级语言 3
1.1.4 对汇编语言的评价 3
1.2 数据表示 4
1.2.1 数据组织 5
1.2.2 无符号数与带符号数 5
1.2.3 字符的ASCII表示 8
1.2.4 BCD 9
1.2.5 注解 9
1.3 基本位操作 10
1.3.1 逻辑操作 10
1.3.2 移位与循环移位 10
小结 11
习题 12
第2章 80x86计算机系统组织 13
2.1 80x86计算机的基本结构 13
2.1.1 CPU 13
2.1.2 系统总线 14
2.1.3 内存 15
2.1.4 I/O 子系统 17
2.2 80x86 CPU的寄存器组 18
2.3 80x86 CPU的工作模式 20
2.3.1 实模式 20
2.3.2 保护模式 22
2.3.3 虚拟8086模式 22
2.4 标志位 23
2.4.1 状态标志 23
2.4.2 深入认识CF和OF 24
2.4.3 控制标志 25
小结 26
习题 27
第3章 80x86指令系统 28
3.1 指令格式 28
3.1.1 指令的书写格式 28
3.1.2 操作数的形式 29
3.2 寻址方式 29
3.2.1 8086寻址方式 29
3.2.2 32位CPU扩展寻址方式 32
3.3 指令系统 34
3.3.1 数据传送指令 35
3.3.2 算术指令 42
3.3.3 位操作指令 51
3.3.4 控制转移指令 58
3.3.5 标志处理指令 64
3.3.6 串操作指令 65
3.3.7 处理器控制指令 68
3.4 容易犯的错误 69
3.5 实例 70
小结 72
习题 73
第4章 汇编语言程序格式 76
4.1 变量、标号与表达式 76
4.1.1 数值表达式 76
4.1.2 变量与标号 78
4.1.3 地址表达式 78
4.1.4 地址计数器 78
4.2 语句格式 79
4.3 基本伪指令 80
4.3.1 处理器选择伪指令 80
4.3.2 段定义伪指令 80
4.3.3 符号定义伪指令 81
4.3.4 变量定义伪指令 82
4.3.5 LABEL 84
4.3.6 ASSUME 84
4.3.7 源程序结束伪指令 85
4.3.8 ORG 85
4.3.9 对齐伪指令 86
4.4 操作符 86
4.4.1 地址操作符 86
4.4.2 类型操作符 87
4.5 汇编语言源程序结构 91
4.5.1 源程序的一般结构 91
4.5.2 常用的源程序基本框架 92
4.6 汇编语言程序的开发 94
4.6.1 开发过程 94
4.6.2 汇编语言程序的开发环境 96
4.6.3 汇编器ML 97
4.6.4 调试器CodeView 99
小结 105
习题 106
第5章 基本控制结构 109
5.1 顺序结构 109
5.2 字符与字符串的输入/输出 110
5.3 分支结构 117
5.3.1 灵活运用无条件转移指令 117
5.3.2 双分支结构 118
5.3.3 多分支结构 120
5.4 循环结构 124
5.4.1 循环结构的基本形式 125
5.4.2 循环程序的控制方法 125
5.5 串操作 135
5.5.1 串操作指令的用途 135
5.5.2 字符串处理 136
小结 141
习题 142
第6章 过程 144
6.1 过程概述 144
6.1.1 过程定义 144
6.1.2 过程调用和返回 145
6.2 过程的参数传递 148
6.2.1 用变量传递参数 148
6.2.2 用寄存器传递参数 149
6.2.3 用地址表传递参数 150
6.2.4 用堆栈传递参数 151
6.2.5 用代码流传递参数 154
6.3 过程实例 157
*6.4 递归过程 159
小结 162
习题 162
第7章 汇编语言的扩展 165
7.1 结构 165
7.1.1 结构类型的定义 165
7.1.2 结构变量的定义 166
7.1.3 结构变量及其字段的访问 166
7.2 宏指令 168
7.2.1 宏定义、宏调用与宏展开 168
7.2.2 与宏有关的伪指令 170
7.2.3 宏操作符 171
7.2.4 宏指令与过程的区别 172
7.3 重复块 172
7.3.1 REPEAT 173
7.3.2 FOR 173
7.3.3 FORC 173
*7.4 条件汇编 174
7.5 多模块程序设计 176
7.5.1 包含文件 176
7.5.2 多个模块的连接 177
7.5.3 段定义的进一步说明 177
7.5.4 模块间的通信 181
*7.5.5 Make文件 183
*7.5.6 过程库 184
*7.5.7 简化段定义 186
小结 188
习题 189
第8章 输入/输出与中断 191
8.1 输入/输出 191
8.1.1 I/O原理 191
8.1.2 I/O指令 191
8.2 80x86的中断系统 194
8.2.1 中断的基本概念 194
8.2.2 中断指令 195
8.2.3 中断分类 196
8.3 DOS与BIOS服务 199
8.3.1 DOS系统调用 200
8.3.2 BIOS服务 200
*8.4 DOS环境下的可执行程序 202
8.4.1 程序段前缀(PSP) 202
8.4.2 .exe文件与.com文件 202
8.4.3 程序结束的另一种方法 203
8.5 中断服务程序设计 204
8.5.1 中断服务程序设计的基本方法 204
*8.5.2 驻留程序设计 207
8.5.3 键盘程序设计 208
小结 215
习题 216
*第9章 Win32汇编语言编程初步 218
9.1 32位保护模式 218
9.1.1 基本概念 218
9.1.2 内存寻址机制 219
9.1.3 指令在实模式与32位保护模式下的差异 223
9.2 Win32编程基础 225
9.2.1 开发工具 225
9.2.2 Win32 API 226
9.2.3 源程序的基本结构 228
9.2.4 应用实例 228
小结 234
习题 235
第10章 汇编语言编程高级主题 236
10.1 汇编语言与C/C++语言的混合编程 236
10.1.1 嵌入汇编语言 237
10.1.2 C/C++程序调用汇编语言过程 239
10.2 并发程序设计 242
10.2.1 程序的顺序执行 242
10.2.2 程序的并发执行 243
10.2.3 进程(或线程)同步的概念 245
10.2.4 互斥的实现方法 246
10.2.5 信号量 251
小结 254
习题 255
附录 257
附录1 标准ASCII字符集 257
附录2 80x86指令系统 258
附录3 调试器DEBUG 267
附录4 Windows 104 键键盘扫描码 275
索引 278
参考文献 285
1.1 认识汇编语言 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.1.3 高级语言 3
1.1.4 对汇编语言的评价 3
1.2 数据表示 4
1.2.1 数据组织 5
1.2.2 无符号数与带符号数 5
1.2.3 字符的ASCII表示 8
1.2.4 BCD 9
1.2.5 注解 9
1.3 基本位操作 10
1.3.1 逻辑操作 10
1.3.2 移位与循环移位 10
小结 11
习题 12
第2章 80x86计算机系统组织 13
2.1 80x86计算机的基本结构 13
2.1.1 CPU 13
2.1.2 系统总线 14
2.1.3 内存 15
2.1.4 I/O 子系统 17
2.2 80x86 CPU的寄存器组 18
2.3 80x86 CPU的工作模式 20
2.3.1 实模式 20
2.3.2 保护模式 22
2.3.3 虚拟8086模式 22
2.4 标志位 23
2.4.1 状态标志 23
2.4.2 深入认识CF和OF 24
2.4.3 控制标志 25
小结 26
习题 27
第3章 80x86指令系统 28
3.1 指令格式 28
3.1.1 指令的书写格式 28
3.1.2 操作数的形式 29
3.2 寻址方式 29
3.2.1 8086寻址方式 29
3.2.2 32位CPU扩展寻址方式 32
3.3 指令系统 34
3.3.1 数据传送指令 35
3.3.2 算术指令 42
3.3.3 位操作指令 51
3.3.4 控制转移指令 58
3.3.5 标志处理指令 64
3.3.6 串操作指令 65
3.3.7 处理器控制指令 68
3.4 容易犯的错误 69
3.5 实例 70
小结 72
习题 73
第4章 汇编语言程序格式 76
4.1 变量、标号与表达式 76
4.1.1 数值表达式 76
4.1.2 变量与标号 78
4.1.3 地址表达式 78
4.1.4 地址计数器 78
4.2 语句格式 79
4.3 基本伪指令 80
4.3.1 处理器选择伪指令 80
4.3.2 段定义伪指令 80
4.3.3 符号定义伪指令 81
4.3.4 变量定义伪指令 82
4.3.5 LABEL 84
4.3.6 ASSUME 84
4.3.7 源程序结束伪指令 85
4.3.8 ORG 85
4.3.9 对齐伪指令 86
4.4 操作符 86
4.4.1 地址操作符 86
4.4.2 类型操作符 87
4.5 汇编语言源程序结构 91
4.5.1 源程序的一般结构 91
4.5.2 常用的源程序基本框架 92
4.6 汇编语言程序的开发 94
4.6.1 开发过程 94
4.6.2 汇编语言程序的开发环境 96
4.6.3 汇编器ML 97
4.6.4 调试器CodeView 99
小结 105
习题 106
第5章 基本控制结构 109
5.1 顺序结构 109
5.2 字符与字符串的输入/输出 110
5.3 分支结构 117
5.3.1 灵活运用无条件转移指令 117
5.3.2 双分支结构 118
5.3.3 多分支结构 120
5.4 循环结构 124
5.4.1 循环结构的基本形式 125
5.4.2 循环程序的控制方法 125
5.5 串操作 135
5.5.1 串操作指令的用途 135
5.5.2 字符串处理 136
小结 141
习题 142
第6章 过程 144
6.1 过程概述 144
6.1.1 过程定义 144
6.1.2 过程调用和返回 145
6.2 过程的参数传递 148
6.2.1 用变量传递参数 148
6.2.2 用寄存器传递参数 149
6.2.3 用地址表传递参数 150
6.2.4 用堆栈传递参数 151
6.2.5 用代码流传递参数 154
6.3 过程实例 157
*6.4 递归过程 159
小结 162
习题 162
第7章 汇编语言的扩展 165
7.1 结构 165
7.1.1 结构类型的定义 165
7.1.2 结构变量的定义 166
7.1.3 结构变量及其字段的访问 166
7.2 宏指令 168
7.2.1 宏定义、宏调用与宏展开 168
7.2.2 与宏有关的伪指令 170
7.2.3 宏操作符 171
7.2.4 宏指令与过程的区别 172
7.3 重复块 172
7.3.1 REPEAT 173
7.3.2 FOR 173
7.3.3 FORC 173
*7.4 条件汇编 174
7.5 多模块程序设计 176
7.5.1 包含文件 176
7.5.2 多个模块的连接 177
7.5.3 段定义的进一步说明 177
7.5.4 模块间的通信 181
*7.5.5 Make文件 183
*7.5.6 过程库 184
*7.5.7 简化段定义 186
小结 188
习题 189
第8章 输入/输出与中断 191
8.1 输入/输出 191
8.1.1 I/O原理 191
8.1.2 I/O指令 191
8.2 80x86的中断系统 194
8.2.1 中断的基本概念 194
8.2.2 中断指令 195
8.2.3 中断分类 196
8.3 DOS与BIOS服务 199
8.3.1 DOS系统调用 200
8.3.2 BIOS服务 200
*8.4 DOS环境下的可执行程序 202
8.4.1 程序段前缀(PSP) 202
8.4.2 .exe文件与.com文件 202
8.4.3 程序结束的另一种方法 203
8.5 中断服务程序设计 204
8.5.1 中断服务程序设计的基本方法 204
*8.5.2 驻留程序设计 207
8.5.3 键盘程序设计 208
小结 215
习题 216
*第9章 Win32汇编语言编程初步 218
9.1 32位保护模式 218
9.1.1 基本概念 218
9.1.2 内存寻址机制 219
9.1.3 指令在实模式与32位保护模式下的差异 223
9.2 Win32编程基础 225
9.2.1 开发工具 225
9.2.2 Win32 API 226
9.2.3 源程序的基本结构 228
9.2.4 应用实例 228
小结 234
习题 235
第10章 汇编语言编程高级主题 236
10.1 汇编语言与C/C++语言的混合编程 236
10.1.1 嵌入汇编语言 237
10.1.2 C/C++程序调用汇编语言过程 239
10.2 并发程序设计 242
10.2.1 程序的顺序执行 242
10.2.2 程序的并发执行 243
10.2.3 进程(或线程)同步的概念 245
10.2.4 互斥的实现方法 246
10.2.5 信号量 251
小结 254
习题 255
附录 257
附录1 标准ASCII字符集 257
附录2 80x86指令系统 258
附录3 调试器DEBUG 267
附录4 Windows 104 键键盘扫描码 275
索引 278
参考文献 285
猜您喜欢