“汇编语言与微机原理”课程教学中汇编子程序实验设计
引言
“汇编语言与微机原理”是计算机科学与技术专业的必修基础课程。该课程融合了汇编语言程序设计和微机原理与接口技术两门课程的内容,要求学生重点掌握汇编语言程序设计的方法和微型计算机系统各个部件的工作原理。掌握汇编语言是掌握微机原理的基础,因为实现和验证微机系统各个部件的工作过程需要用到汇编语言,并且更高层次的综合系统设计也离不开汇编语言。
汇编语言与微机原理课程中,汇编语言子程序设计这部分内容的知识掌握起到承上启下的作用。其“承上”的作用体现在:作为一个独立的模块,子程序设计涵盖之前所学的汇编语言的指令系统、伪指令、数据类型及三种基本控制结构(顺序结构、分支结构和循环结构)。其“启下”的作用体现在:①后续接口芯片的功能应用基本上都是以子程序的形式实现;②中断系统中的中断服务程序就是一种子程序,中断系统是微机系统中非常重要的组成部分,可以说不理解中断系统就不能理解计算机的工作原理[1],而掌握子程序设计是本文由论文联盟http://收集整理理解和应用中断系统的基础之一;③子程序设计是开发大型程序的基础,对于培养编程能力十分重要[1]。因此,汇编语言子程序设计这部分内容无论在教学上还是在实验中都必须给予足够的重视。但目前鲜有文献涉及这方面的问题,本文针对目前汇编语言与微机原理课程中汇编语言子程序实验设计中普遍存在的问题给出相应的对策,并给出一个实验设计实例。www.lw881.com
1 实验设计存在的问题及对策
⑴ 实验学时安排不够。据粗略调查,大多数院校汇编语言与微机原理课程的实验学时为18个学时[1],有一些院校还附加一个课程设计。对于这18个实验学时普遍的分配方式如表1所示。
表1 汇编语言与微机原理实验项目及学时安排表
[类别\&项目\&学时\&汇编语言程序设计部分
(12学时)\&汇编语言上机过程及debug的使用\&2\&dos系统功能调用\&2\&三种基本程序结构\&6\&子程序\&2\&接口芯片部分
(6学时)\&可编程中断控制器8259\&2\&并行接口芯片8255\&2\&可编程定时/计数器8253\&2\&]
从表1可以看出,子程序实验仅安排了2个学时,学时太少,难以取得良好的训练效果,可以考虑将实验“dos系统功能调用”融合到“三种基本程序结构”中,腾出2个学时给子程序实验,有助于学生深刻全面的理解子程序的相关知识。
⑵ 实验内容“片面”。对于汇编语言子程序实验,大多数院校的实验内容只涉及到两方面的知识:①子程序的类型(近子程序和远子程序);②三种参数传递方式(寄存器传递、内存单元传递、堆栈传递)[2]。这并不全面,与子程序密切相关的知识应该还包含宏和中断服务程序,所以有必要在实验中安排相应的内容让学生理解子程序与宏的区别,以及如何把一个子程序“注册”为中断服务程序,然后通过软中断指令(int n)调用该程序的过程,这样做有助于后面对中断系统的学习。中断是学习汇编语言的重点、难点部分,能否真正掌握汇编语言对中断的理解和掌握至关重要,中断也是汇编语言的魅力所在[3]。
2 实验设计的一个实例