汇编语言程序设计(第3版)(微课版)

一本适合初学者的汇编语言教材
分享 推荐 0 收藏 3 阅读 495
刘慧婷 (作者) 978-7-115-63318-7

关于本书的内容有任何问题,请联系 张斌

内容精炼,逻辑性和可读性要求高,编排合理
根据教学需要,体现价值引领
与时俱进,对上一版的知识进行了更新,章节进行了优化,增加了部分实例,补充了更多的习题
提供了丰富的教学资源,包括视频、习题、教案、教学大纲、多媒体课件、答案等,方便教学,促进线上线下混合式课程的开展

内容摘要

本书系统地讲解了汇编语言程序设计的相关知识,全书共有11章,系统地论述了汇编语言基础知识,计算机基本原理,上机操作步骤,操作数的寻址方式,汇编语言的指令系统和伪指令,汇编语言中分支、循环和子程序的设计方法,高级汇编语言程序设计,32位汇编指令和MIPS指令系统。为了让读者能够及时地检查自己的学习效果,把握自己的学习进度,每章后面都附有丰富的习题。 本书既可以作为本科院校、高职高专各专业汇编语言课程的教材,也可以作为汇编语言培训或技术人员自学的参考资料。

目录

第 1章 汇编语言基础知识 1
1.1 汇编语言简介 1
1.1.1 程序设计语言发展历程 1
1.1.2 计算机指令系统 1
1.1.3 汇编语言的组成 2
1.1.4 为什么要学习汇编语言 2
1.2 计算机中数据的表示 3
1.2.1 不同进位计数制及其相互转换 3
1.2.2 二进制数和十六进制数的运算 5
1.2.3 带符号数的补码表示 6
1.2.4 补码的加法和减法 7
1.2.5 无符号数的表示 8
1.2.6 字符的表示 8
1.2.7 基本逻辑运算 9
本章小结 9
习题1 9
第 2章 计算机基本原理 10
2.1 计算机系统组成 10
2.2 CPU中的寄存器 11
2.2.1 16位结构的CPU 11
2.2.2 寄存器介绍 12
2.2.3 CS和IP 15
2.2.4 堆栈 15
2.3 存储器 16
2.3.1 存储器 16
2.3.2 存储器分段 17
2.3.3 逻辑地址 18
2.3.4 CPU对内存的读写操作 20
2.4 外部设备和接口 21
2.5 32位80x86CPU的工作模式 21
本章小结 22
习题2 22
第3章 汇编语言程序实例及上机操作 23
3.1 汇编语言的工作环境 23
3.1.1 汇编语言的系统工作文件 23
3.1.2 进入汇编环境方式 23
3.1.3 常用的DOS命令 26
3.2 汇编语言程序实例 27
3.3 程序实例的上机步骤 28
3.3.1 编辑——建立ASM源程序文件 28
3.3.2 汇编——产生OBJ二进制目标文件 29
3.3.3 连接——产生EXE可执行文件 29
3.3.4 LST列表文件 30
3.3.5 程序的运行 32
3.3.6 程序的跟踪和调试 33
3.4 常用的Debug指令 36
3.5 常用的DOS系统功能调用 38
本章小结 40
习题3 40
第4章 操作数的寻址方式 42
4.1 立即寻址方式 42
4.2 寄存器寻址方式 43
4.3 存储器寻址方式 44
4.3.1 直接寻址方式 44
4.3.2 寄存器间接寻址方式 46
4.3.3 寄存器相对寻址方式 47
4.3.4 基址变址寻址方式 48
4.3.5 相对基址变址寻址方式 49
本章小结 49
习题4 49
第5章 常用指令系统 51
5.1 数据传送指令 52
5.1.1 通用数据传送指令 52
5.1.2 累加器专用传送指令 56
5.1.3 地址传送指令 58
5.1.4 标志寄存器传送指令 58
5.2 算术运算指令 59
5.2.1 类型扩展指令 59
5.2.2 加法指令 61
5.2.3 减法指令 64
5.2.4 乘法指令 67
5.2.5 除法指令 68
5.2.6 BCD码的十进制调整指令 71
5.3 逻辑与移位指令 72
5.3.1 逻辑指令 72
5.3.2 移位指令 73
5.4 串操作指令 75
5.4.1 MOVS串传送指令 75
5.4.2 CMPS串比较指令 77
5.4.3 SCAS串扫描指令 79
5.4.4 STOS串存入指令 80
5.4.5 LODS从串中取数指令 81
5.5 指令编码 82
5.5.1 单操作数指令编码 82
5.5.2 双操作数指令编码 85
5.5.3 其他指令编码 87
本章小结 88
习题5 88
第6章 伪指令与源程序格式 91
6.1 伪指令 91
6.1.1 处理机选择伪指令 91
6.1.2 段定义伪指令 91
6.1.3 程序开始和结束伪指令 93
6.1.4 数据定义与存储器单元分配伪指令 93
6.1.5 类型属性操作符 94
6.1.6 THIS操作符和LABEL伪操作 95
6.1.7 表达式赋值伪指令“EQU”和“=” 96
6.1.8 汇编地址计数器$与定位伪指令 96
6.1.9 基数控制伪指令 97
6.1.10 过程定义伪指令 98
6.2 表达式和操作符 98
6.3 EXE文件与COM文件 102
6.3.1 程序段前缀PSP 102
6.3.2 COM文件 103
本章小结 104
习题6 104
第7章 分支与循环程序设计 107
7.1 分支程序设计 107
7.1.1 分支程序转移指令 107
7.1.2 分支程序结构 112
7.1.3 单分支程序 112
7.1.4 复合分支程序 113
7.1.5 多分支程序 116
7.2 循环程序设计 118
7.2.1 循环程序转移指令 118
7.2.2 循环程序结构 119
7.2.3 计数循环程序 120
7.2.4 条件循环程序 121
7.2.5 条件计数循环程序 123
7.2.6 多重循环程序 125
本章小结 126
习题7 126
第8章 子程序设计 128
8.1 子程序结构 128
8.1.1 子程序调用指令 128
8.1.2 过程定义与过程结构 129
8.1.3 保存和恢复现场寄存器 131
8.2 子程序的参数传递 131
8.2.1 用寄存器传递参数 131
8.2.2 用变量传递参数 134
8.2.3 用地址表传递参数的通用子程序 136
8.2.4 用堆栈传递参数的通用子程序 139
8.2.5 用结构变量传递参数的通用子程序 143
本章小结 146
习题8 146
第9章 高级汇编语言程序设计 149
9.1 高级程序设计特性 149
9.1.1 条件控制伪指令 149
9.1.2 循环控制伪指令 150
9.1.3 过程声明和过程调用伪指令 151
9.2 宏汇编程序设计 151
9.2.1 宏汇编 152
9.2.2 其他高级伪操作 158
9.2.3 宏汇编应用 163
9.3 模块化程序设计 166
9.3.1 多模块源程序 166
9.3.2 多模块目标代码 167
9.3.3 子程序库 168
9.3.4 多模块应用 168
9.4 输入/输出程序设计 172
9.4.1 外部设备与输入/输出 173
9.4.2 中断 177
9.4.3 中断处理程序设计 182
9.4.4 输入/输出应用 185
本章小结 201
习题9 201
第 10章 32位汇编指令简介 204
10.1 32位硬件架构 204
10.1.1 IA-32位处理器 204
10.1.2 存储器组织 207
10.2 数据寻址方式 208
10.2.1 立即数寻址方式 208
10.2.2 寄存器寻址方式 209
10.2.3 存储器寻址方式 209
10.3 指令格式 211
10.3.1 数据传送指令 211
10.3.2 位操作指令 212
10.3.3 串操作指令 213
10.3.4 算术指令和其他指令 213
10.3.5 条件测试并设置指令 215
10.4 编程举例 215
10.4.1 Windows汇编语言特点 215
10.4.2 Win32 汇编程序示例 216
本章小结 219
习题10 219
第 11章 MIPS指令系统简介 221
11.1 MIPS体系结构与指令集 221
11.1.1 MIPS通用寄存器 221
11.1.2 MIPS指令格式 223
11.2 MIPS 32位汇编常用指令 227
11.2.1 算术运算类指令 227
11.2.2 逻辑运算类指令 232
11.2.3 移位指令和置位指令 233
11.2.4 转移指令 236
11.2.5 访存指令 239
11.3 MIPS 32位汇编寻址方式 240
11.3.1 操作数寻址方式 240
11.3.2 指令寻址方式 241
11.4 MIPS程序基础 243
11.4.1 MARS调试工具介绍 243
11.4.2 MIPS源程序框架 244
11.4.3 MIPS数据段定义 245
11.4.4 MIPS代码段定义 245
11.4.5 MIPS系统调用syscall 246
11.4.6 第 一个MIPS汇编程序 246
11.5 MIPS编程 247
11.5.1 MIPS汇编分支结构 247
11.5.2 MIPS汇编循环结构 250
习题11 253
附录1 80x86指令系统一览 256
附录2 伪操作与操作符 269
附录3 中断向量地址一览 281
附录4 DOS系统功能调用(INT 21H) 283
附录5 BIOS功能调用 290
附录6 Windows 104键键盘扫描码 294
参考文献 296

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

刘慧婷,2001年至今在安徽大学计算机科学与技术学院执教,历任助教、讲师、副教授,为安徽大学青年骨干教师。长期担任《高级语言程序设计》、《微型计算机系统》、《汇编语言程序设计》、《面向对象程序设计》等多门本科生课程的教学工作。一直从事数据挖掘、人工智能及其相关交叉领域的研究工作,尤其在社交媒体数据分析和信息检索等方面取得了一系列的成果。先后主持和参加包括国家863计划、国家自然科学基金面上和青年基金、安徽省自然科学基金面上项目等在内的10余项国家/省部级项目,已经在国际会议和各类期刊发表论文70余篇,其中包括《Information Sciences》、《计算机学报》、《软件学报》等核心期刊30余篇,并参与撰写专著《智能管理技术与方法》、《动态数据挖掘》2部。

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部