您当前的位置:首页 > 计算机论文>智能科技论文

“汇编语言与微机原理”课程教学中汇编子程序

2015-07-08 09:31 来源:学术参考网 作者:未知

“汇编语言与微机原理”课程教学中汇编子程序实验设计

引言
  “汇编语言与微机原理”是计算机科学与技术专业的必修基础课程。该课程融合了汇编语言程序设计和微机原理与接口技术两门课程的内容,要求学生重点掌握汇编语言程序设计的方法和微型计算机系统各个部件的工作原理。掌握汇编语言是掌握微机原理的基础,因为实现和验证微机系统各个部件的工作过程需要用到汇编语言,并且更高层次的综合系统设计也离不开汇编语言。
  汇编语言与微机原理课程中,汇编语言子程序设计这部分内容的知识掌握起到承上启下的作用。其“承上”的作用体现在:作为一个独立的模块,子程序设计涵盖之前所学的汇编语言的指令系统、伪指令、数据类型及三种基本控制结构(顺序结构、分支结构和循环结构)。其“启下”的作用体现在:①后续接口芯片的功能应用基本上都是以子程序的形式实现;②中断系统中的中断服务程序就是一种子程序,中断系统是微机系统中非常重要的组成部分,可以说不理解中断系统就不能理解计算机的工作原理[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 实验设计的一个实例
  针对前面提到的问题,在此给出一个汇编语言子程序实验设计实例,主要内容如下:
  ⑴ 实验学时:4学时。
  ⑵ 实验目的:
  ① 掌握子程序的编写及调用方法;
  ② 掌握近子程序和远子程序的区别;
  ③ 掌握三种参数传递方式的差别;
  ④ 掌握子程序与宏的区别;
  ⑤ 掌握编写中断服务程序的方法以及通过软中断指令。
  ⑶ 实验内容:
  ① 编写一个近子程序实现将一个字节的数据以十六进制的形式输出,采用寄存器参数传递方式;
  ② 编写一个远子程序,功能与①相同,采用堆栈参数传递方式;
  ③ 变量str中存有一个以’$’作为结束符的字符串,编写一个子程序实现将str中所有的大写字母全部改为小写字母,采用内存单元参数传递方式;
  ④ 用宏实现①中的功能;
  ⑤ 编写一中断服务程序实现①中功能。提示:利用dos系统功能调用的35h号功能和25h号功能提取和设置中断向量,具体如表2所示。
  表2 dos系统功能调用的35h号和25h号功能说明[4]
  [功能号\&功能\&入口参数\&出口参数\&25h\&设置中断向量\&ds:dx=所设置中断向量的段基址:偏移量al=欲设置中断向量所对应的中断号\&无\&35h\&取中断向量\&al=欲取中断向量所对应的中断类型号\&es:bx=取得的中断向量的段基址:偏移量\&]
  该实验设计实例特点鲜明,首先实验所要求完成的功能都是汇编语言中简单而又常用的功能,这一方面可以使学生不必花太多功夫在算法实现上,而把主要精力集中在子程序本身的语法上,另一方面实验中所完成的程序在后续的实验中可以直接调用,减轻了学生在后续实验中的负担,同时加强了各实验之间的有机联系。我们的实验内容涵盖了与子程序相关的各种知识,特别是子程序与中断服务程序的关系,这也是本实验设计的创新之处。
  3 结束语
  汇编语言与微机原理课程中汇编语言子程序这部分内容占有很重要的地位。本文首先分析了其实验设计普遍存在的问题,随后给出了相应的对策,最后根据作者多年的教学经验给出了一个实验设计实例,该实例简单实用,又不乏创新之处。该实验设计已应用于实际教学中,取得了满意的效果。学生对汇编语言子程序有了更全面的了解,尤其是后续学习中断系统及8259芯片时,对中断服务程序的概念理解掌握得更迅速。本实验设计的不足之处是在培养学生模块化程序设计思想方面有所欠缺,这是下一步需要思考并改进的。
相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页