《汇编语言程序设计(Assembly Language Programming)》教学大纲
制定时间:2025 年 3 月
一、课程基本信息
(一)适用专业:计算机科学与技术专业
(二)课程代码:3DX1110A
(三)学分/课内学时:2学分/32学时
(四)课程类别:专业教育
(五)课程性质:必修/理论课
(六)先修课程:《C语言程序设计与应用》、《数据结构与算法(上)》、《数据结构与算法(下)》、《数据库原理及应用》、《面向对象的程序设计方法》等
(七)后续课程: 《STM32单片机应用技术》、《数字逻辑与计算机组成》、《操作系统原理与实现》等
二、课程教学目标
学生在理解计算机底层系统结构的基础上,使用具体机器的汇编语言进行程序设计,使学生具有较强的汇编语言程序设计能力。在使用汇编语言开发的过程中,学生对CPU工作机制、内存管理、中断原理等有更切实的理解与体会。课程教学过程中培养学生严谨细致的学习习惯,构建科学的思维方法,体会核心基础理论的重要性,培养学生精益求精的大国工匠精神和自主创新的意识。
(一)具体目标
目标1:掌握汇编语言概念,掌握8086系统及工作原理、掌握8086常用的汇编指令、掌握8080汇编程序设计框架。
目标2:能够用具体机器的汇编语言进行程序设计,能在程序设计中使用模块化程序方法,并掌握调试程序的方法。
(二)课程目标与毕业要求的对应关系
毕业要求 |
毕业要求指标点 |
课程目标 |
教学单元 |
评价方式 |
4. 能够基于科学原理,采用适当的工程方法对计算机应用系统的复杂工程问题进行研究,包括系统方案设计、分析与解释数据、并通过信息综合得到合理有效的结论。 |
观测点 4.4:能正确采集和整理系统的相关数据,对结果进行分析和解释,获取有效结论。 |
目标1 目标2 |
8086计算机系统概述、8086指令系统、汇编语言程序设计、过程的定义和使用、8086系统中断机制、外设接口 |
平时作业 课内实验 期末考试 |
三、教学内容与方法
(一)教学内容及要求
序 号 |
教学单元 |
教学内容 |
学习产出要求 |
推荐学时 |
推荐教学方式 |
支撑 课程目标 |
备注 |
1 |
8086计算机系统概述 |
教学内容: CPU的功能结构、存储单元的地址和内容以及8086存储器的组织。 重点: 寄存器,逻辑地址到物理地址的转换;栈的概念与使用。 难点: 逻辑地址到物理地址的转换,栈的使用。 |
了解CPU的功能结构;了解8086存储器的组织;掌握存储单元的地址和内容。 |
4 |
讲授 |
目标1 |
|
2 |
8086指令系统 |
教学内容: 8086指令格式和寻址方式;8086指令系统中数据传送、算术运算、位操作、转移、处理器控制等六类指令。 重点: 80X86指令系统。 难点: 80X86指令系统。 实验1:用机器指令和汇编指令编程 |
掌握8086指令格式和寻址方式;掌握8086指令系统中数据传送、算术运算、位操作、转移、处理器控制等六类指令。 |
6 |
讲授 实验 |
目标1 目标2 |
课后作业 |
3 |
汇编语言程序设计 |
教学内容: 汇编语言源程序的结构;汇编语言程序格式和组成元素;伪指令;汇编语言程序的上机过程和调试方法;顺序程序设计,分支程序设计,循环程序设计。 重点: 汇编语言源程序的结构;汇编语言程序的上机过程和调试方法;三大程序设计结构。 难点: 伪指令;选择结构、循环程序设计。 实验2:寻址方式在结构化数据访问中的应用 实验3:显存操作 实验4:选择结构程序设计 |
掌握汇编语言源程序的结构;掌握汇编语言程序格式和组成元素;掌握伪指令;掌握汇编语言程序的上机过程和调试方法。掌握汇编语言程序设计的基本步骤;掌握三大程序设计结构。 |
12 |
讲授 案例 实验 |
目标1 目标2 |
课后作业 |
4 |
过程的定义和使用 |
教学内容: 过程的定义、调用与返回;参数的传递过程;CALL 和 RET指令的使用。 重点: 参数传递的方法。 难点: 使用堆栈传递参数。 实验5:过程定义和使用 |
掌握过程调用的方法;掌握过程设计的方法。 |
4 |
讲授 案例 实验 |
目标1 目标2 |
课后作业 |
5 |
8086系统的中断机制 |
教学内容: PC机中断类型及调用方法;INT 指令、IRET指令;与屏幕及键盘操作相关的BIOS中断和DOS中断,与磁盘操作相关的BIOS中断;中断程序设计。 重点: 软硬件中断的概念、功能、用途;中断程序的编写。 难点: 中断处理程序的编写。 实验6:编写中断的处理程序 |
掌握常用的软硬件中断功能、用途及中断处理程序的编写;掌握中断程序设计。 |
4 |
讲授 案例 实验 |
目标1 目标2 |
|
6 |
外设接口 |
教学内容: 接口的概念,端口地址,端口的读写;IN、OUT指令的使用;CMOS RAM芯片的访问。 重点: IN、OUT指令的使用;CMOS RAM芯片的读写的编程。 难点: CMOS RAM芯片的读写的编程。 |
理解接口的概念,端口地址,端口的读写;掌握IN、Out指令,掌握CMOS RAM芯片的读写的编程。 |
2 |
讲授 案例 |
目标1 |
课后作业 |
(二)教学方法
1.课堂讲授
(1)采用启发式教学,激发学生主动学习的兴趣,培养学生独立思考、分析问题和解决问题的能力,引导学生主动通过实践和自学获得自己想学到的知识。
(2)在教学内容上,系统讲授8086系统结构及工作原理、8080汇编指令及编程、汇编程序的基本结构、语法规则、8086中断机制及中断处理程序的编写、外围设备及端口读写,使学生系统地了解并掌握汇编语言程序的基本结构与构造原理。
(3)在教学过程中采用电子教案,多媒体教学、案例教学相结合,提高课堂教学信息量,增强教学的直观性。
(4)理论课与实验课的有机结合,引导学生应用数学、自然科学和工程科学的基本原理,培养其识别、表达和解决计算机类专业相关工程问题的思维方法和实践能力。
(5)课内讨论和课外答疑相结合,每周至少一次进行答疑。
2.实验教学
实验教学是本课程中重要的实践环节,目的是提升学生对计算机系统工作原理的理解和汇编语言程序设计能力。课程必做实验6个,各实验要求学生独立完成,并提交实验报告。
四、考核及成绩评定
(一)考核内容及成绩构成
课程考核以考核学生能力培养目标的达成为主要目的,以检查学生对各知识点的掌握程度和应用能力为重要内容,包括平时考核和期末考核两个部分。平时考核采用平时作业、实验方式评定学生成绩;期末考核采用机试评定学生成绩。各课程目标的考核内容、成绩评定方式、目标分值建议如下:
课程目标 |
考核内容 |
成绩评定方式 |
成绩占总评分比例 |
目标成绩占当次考核比例 |
学生当次考核平均得分 |
目标达成情况计算公式 |
目标1:掌握汇编语言概念,掌握8086系统及工作原理、掌握8086常用的汇编指令、掌握8080汇编程序设计框架。 |
汇编及汇编语言程序设计的概念。8086常用的汇编指令、8080汇编程序设计框架 |
平时作业 |
16% |
100% |
A1 |
|
目标2:能够用具体机器的汇编语言进行程序设计,能在程序设计中使用模块化程序方法,并掌握调试程序的方法。 |
汇编语言程序的上机过程和调试方法;顺序程序设计,循环程序设计,分支程序设计,显存的操作,中断程序设计。 |
实验 |
24% |
28.6% |
B1 |
|
选择结构、循环结构汇编程序设计,程序设计模块化程序方法。 |
期末考试 |
60% |
71.4% |
B2 |
总评成绩(100%)=平时作业(16%)+实验(24%)+期末考试(60%) |
100% |
—— |
—— |
|
(二)平时考核成绩评定
1.平时作业:平时作业共4次,支撑目标1,共占总评分16%。对应目标的评分标准如下:
对应目标 |
目标1:掌握汇编语言概念,掌握8086系统及工作原理、掌握8086常用的汇编指令、掌握8080汇编程序设计框架。 |
考查点 |
解题过程 |
结果 |
成绩比例 |
50% |
50% |
评分标准 |
100% 至 90% |
解题过程思路正确,程序运行正确,结果正确,代码精炼。 |
结果90~100%正确 |
89.9% 至 80% |
解题过程思路正确,程序运行正确,结果正确,代码较精炼 |
结果80%~89.9%正确 |
79.9 至 70% |
解题过程思路较正确,程序运行正确,结果基本正确,代码基本精炼 |
结果70%~79.9%正确 |
69.9% 至 60% |
解题过程思路基本正确,程序运行基本正确,结果基本正确,代码基本精炼 |
结果60%~69.9%正确 |
59.9%至 0 |
解题过程思路不清,程序运行不正确,结果不正确,代码烦琐 |
结果0%~59.9%正确 |
2.实验:必做实验6次,支撑目标2,共占总评分24%。对应目标的评分标准如下:
对应目标 |
目标2:能够用具体机器的汇编语言进行程序设计,能在程序设计中使用模块化程序方法,并掌握调试程序的方法。 |
考查点 |
程序代码 |
实验报告 |
成绩比例 |
70% |
30% |
评分标准 |
100% 至 90% |
解题过程思路正确,程序运行正确,结果正确,代码精炼。 |
有很强的总结实验和撰写报告的能力,实验报告内容完整、正确,有很好的分析与见解。文本表述清晰,书写工整,格式规范。 |
89.9% 至 80% |
解题过程思路正确,程序运行正确,结果正确,代码较精炼 |
有较强的总结实验和撰写报告的能力,实验报告内容完整、正确,有较好的分析与见解。文本表述较为清晰,书写比较工整,格式规范。 |
79.9 至 70% |
解题过程思路较正确,程序运行正确,结果基本正确,代码基本精炼 |
有良好的总结实验和撰写报告的能力,实验报告内容较完整、正确,有自己的分析与见解。文本表述较为清晰,书写较为工整,格式较为规范。 |
69.9% 至 60% |
解题过程思路基本正确,程序运行基本正确,结果基本正确,代码基本精炼 |
有一定的总结实验和撰写报告的能力,实验报告内容基本完整、正确,没有分析或见解。文本表述基本清晰,书写基本工整,格式基本规范。 |
59.9%至 0 |
解题过程思路不清,程序运行不正确,结果不正确,代码烦琐 |
总结实验和撰写报告的能力差,实验报告内容不完整、错误多。文本表述不清晰,书写潦草、格式不规范。 |
五、参考学习资料
(一)推荐教材:王爽. 汇编语言(第4版). 清华大学出版社. 2019年12月.
(二)参考教材:[美] 基普·R. 欧文著,吴为民译. 汇编语言 基于x86处理器. 机械工业出版社. 2022年5月.