“汇编语言程序设计”是继“高级语言程序设计”之后的又一门计算机语言程序设计课程,但讲解的是面向处理器的低级语言。该课程一方面加强学生的高级语言编程能力;另一方面配合“计算机组成原理”和“微机原理及接口技术”课程,从软件角度理解计算机工作原理;同时,还作为自动控制等与硬件相关应用领域的程序设计基础,以及为“嵌入式系统”、“操作系统”、“编译原理”等课程提供基础知识。
本课程以Intel 80x86指令系统和微软MASM展开汇编语言程序设计方法。课程要求学生系统学习80x86整数指令系统、进一步理解计算机工作原理;要求学生掌握汇编语言源程序语句和格式,能够利用顺序、分支、循环和子程序等结构解决常规问题。本课程配有上机实践环节,要求学生具有阅读、编辑、汇编和调试汇编语言程序的能力。
“汇编语言”课程主要基于32位Windows控制台,以IA-32处理器常用指令和微软MASM展开汇编语言程序设计方法。 编程实践以普通32位PC机为唯一硬件条件,结合MASM开发软件包进行。 课程从开发环境的熟悉、MASM开发方法的练习、开发过程的熟练掌握,逐步掌握常用指令应用、顺序、分支、循环、子程序的编程。
第1周 汇编语言基础
1-1 硬件组成
1-2 程序格式
1-3 开发过程
第1周测试
第2周 数据表示
2-1 常量表达
2-2 变量定义
2-3 变量应用
第2周测试
第3周 数据寻址
3-1 立即数寻址
3-2 寄存器寻址
3-3 存储器寻址
第3周测试
第4周 通用数据处理指令
4-1 数据传送类指令
4-2 算术运算类指令
4-3 位操作类指令
第4周测试
第5周 顺序程序结构
5-1 移位实现乘法
5-2 自然数求和
第5周测试
第6周 分支程序结构
6-1 转移指令
6-2 单分支结构
6-3 双分支结构
第6周测试
第7周 循环程序结构
7-1 循环指令
7-2 计数控制循环
7-3 条件控制循环
第7周测试
第8周 子程序结构
8-1 子程序设计
8-2 参数传递
8-3 程序模块
第8周测试
熟悉计算机基础知识
了解C语言及其编程方法
课程配套教材:
[1] 钱晓捷编著,32位汇编语言程序设计(第2版),机械工业出版社,2016年7月,ISBN 978-7-111-54335-0
[2] 钱晓捷主编,微机原理与接口技术—基于IA-32处理器和32位汇编语言(第5版),机械工业出版社,2014年7月,ISBN 978-7-111-47206-3
[3]钱晓捷编著,汇编语言(基于64位ARMv8体系结构),电子工业出版社,2022年9月,ISBN 978-7-121-44371-8
特别提醒:
本网站课程只是提供基本教学内容的讲解和练习。学生应结合教材内容和教学要求,或自行或在面授教师指导下进行上机实验,才能更好地掌握“汇编语言”。
另,对应32位Intel 80x86汇编语言,本课程特别提供基于64位ARMv8体系结构的“64位ARM汇编语言”的知识要点。使得大家,在学习32位Intel处理器汇编语言的同时,了解64位ARM处理器汇编语言。