论文部分内容阅读
摘要微机原理与汇编语言是计算机及相关专业学生的基础课程。该课程涉及知识点较多且比较抽象,要获得良好的教学效果有一定难度。本文在实际教学的基础上,总结了好的教学经验,对如何提高教学质量进行了初步探索。
关键词微机原理 汇编语言 整合 教学方法
中图分类号:G642文献标识码:A
随着计算机技术和通信技术的发展,微型计算机的应用越来越广泛,“微机原理与接口技术”课程也成为除计算机专业外,机械、电子、通信、自动化等相关专业必设的专业基础课。“微机原理与接口技术”课程在一些高校已经逐步和“汇编语言程序设计”课程整合到了一起。这是由于微机原理中要使用汇编语言的知识,汇编编程中又牵涉到微机原理的一些概念。两者相辅相成,且这两门课程都有一定的教学难度,要将它们整合到一起,实现相互印证,相互促进,更是一件难事。通过近几年的教学实践,笔者总结了一些经验,介绍如下。
1 教学过程中注意体现汇编语言本身的优缺点,引导学生学习的方向
学生在学习本课程之前,一般都有过计算机高级语言的学习基础。与高级语言相比,汇编语言存在一些固有的缺点,如对硬件的依赖性较强,可移植性较差,解决问题的步骤较为繁琐,有很多细节问题需要考虑等。①这就好比用户首先学习了如何在饭店点菜,已经习惯了一套简易的流程,现在要学习自己做菜,要考虑的细节更多,也就觉得更麻烦。但学会自己做菜,有利于我们了解菜系的搭配原理,火候问题等,从而制作出更可口的菜肴,如同汇编语言的学习有利于用户了解计算机的工作原理,从而更好地理解微机原理的相关问题。同时,汇编语言的一些细节,也能帮助用户简化一些操作。例如对于求解1+2+3+……+100②这个问题,可以利用LOOP语句中CX每次自减1的特点实现,程序③如下:
MOVAX, 0;用来放累加和
MOVCX, 100;循环次数为100
NEXT:ADDAX, CX ;AX+CX的和傳送给AX
LOOPNEXT ;CX减1,判断CX不等于0时,循环,从NEXT标号处执行
这比用高级语言实现更简洁。汇编语言的优势更多的体现在对硬件芯片的编程,例如对8253、8255芯片的初始化编程,程序段比较简洁、直观。教学过程中,要注意引导学生的学习方向,避免学生在学习过程中产生厌学情绪,要让学生看到汇编语言的优点。
2 找到知识的结合点,加强知识的联系
汇编语言是微机原理课程的一门工具性语言,两门课程中有很多交叉结合的知识点。如果在微机原理部分没有理解CPU的内部结构和工作原理,大量的指令就无法正确运用,也就更难灵活运用汇编语言进行编程。④例如汇编语言中大量采用寄存器结构,很多指令中都有指定的寄存器用法,而寄存器是CPU内部结构的重要组成部分,是微机原理的一个重要的知识点,各种寄存器的用法又可以通过寻址方式体现出来。比如基址指针寄存器BP在寻址做基址中使用时,默认数据在堆栈段中,在汇编语言讲解子程序的参数传递一例时,主程序用PUSH语句将参数放入堆栈,子程序中引用参数时,并不采用数据出栈,而是以BP为基址采用寄存器间接寻址方式访问堆栈。再如,微机原理中讲解外设与计算机的数据传送时,可注重介绍IN,OUT输入输出指令在执行时,对接口电路的影响,即汇编语言指令具体执行对硬件的影响,如M/,,信号以及地址译码的变化。⑤
3 重视实验教学,体现指令与硬件的结合,鼓励进行设计型实验
微机原理很多知识需要通过实验来加以验证和运用,上好实验课是教学的重要环节。但该课程的实验课大部分都是验证性实验,都在演示课本上的例子,这对于学生充分理解微机原理,熟练掌握汇编程序设计和锻炼实践能力来说是一种限制。我校实验采用DJ系列8086/8088微机系统,其中实验十五:简单I/O口控制,实现的功能是利用开关K1~K8控制LED灯L1~L8,一个开关控制一个灯的亮灭,⑥所用接口芯片为74LS244,74LS273。该实验为验证性试验,即学生可按实验指导书完成硬件连线,运行现有程序,即可实现功能。如此则学生较难留下深刻印象,也不能很好地理解硬件和软件的配套关系,因此我要求学生在完成实验的基础上,对实验进行修改,例如当地址线重新连接后,端口地址如何变化;如何修改程序,实现一个开关控制8个灯的亮灭。学生通过自己思考,动手实践,实现功能,从而留下深刻印象,加深了对知识的理解,教学效果也圆满实现。对于实验教学,我们应在做好验证性实验的基础上,多挖掘实验仪器的潜力,多让学生思考,多做一些有设计环节的实验,从而提高学生的实践能力。
4 合理安排课时,考核时注意知识点的倾向性
适当调整教学内容讲授的次序和学时分布,讲授内容有所侧重,建立一个合理的教学体系。由于汇编语言在微机原理这门课程中主要是起到一门工具性语言的作用,即很多微机原理的知识需要通过汇编编程加以体现,因此在汇编语言的教学过程中,不要过于强调如何解决那些计算机高级语言擅长解决的软件问题,这本来就不是汇编擅长的领域。汇编的教学中只要求学生熟悉汇编语言指令的基本功能及使用要求,熟悉汇编语言解决问题的思路即可,不要花费过多的时间,应将教学的侧重点放在汇编语言与微机原理的结合处,主要是对芯片控制的编程。在考核的内容上,也应侧重于汇编语言在解决硬件相关问题的作用,从而引导学生的学习方向。
通过对汇编语言和微机原理整合课程的教学改革,使学生对该课程产生了更浓厚的学习兴趣,取得了较显著的教学成果,同时也还存在一些不完善的地方,需要在以后的教学实践中不断改善。
注释
①许颖梅.对汇编语言和微机原理课程整合的探讨[J].福建电脑,2007.1.
②杨季文.80X86汇编语言程序设计教程[M].北京:清华大学出版社,2004.
③赵树升,赵雪梅.现代微机原理及接口技术[M].北京:清华大学出版社,2008.
④马浩.浅谈微机原理与汇编语言教学改革[J].科技创新导报,2009.17.
⑤周荷琴,吴秀清.微型计算机原理与接口技术(第三版)[M].合肥:中国科技大学出版社,2004.
⑥冯博琴,吴宁.微型计算机原理与接口技术(第2版)[M].北京:清华大学出版社,2007.
关键词微机原理 汇编语言 整合 教学方法
中图分类号:G642文献标识码:A
随着计算机技术和通信技术的发展,微型计算机的应用越来越广泛,“微机原理与接口技术”课程也成为除计算机专业外,机械、电子、通信、自动化等相关专业必设的专业基础课。“微机原理与接口技术”课程在一些高校已经逐步和“汇编语言程序设计”课程整合到了一起。这是由于微机原理中要使用汇编语言的知识,汇编编程中又牵涉到微机原理的一些概念。两者相辅相成,且这两门课程都有一定的教学难度,要将它们整合到一起,实现相互印证,相互促进,更是一件难事。通过近几年的教学实践,笔者总结了一些经验,介绍如下。
1 教学过程中注意体现汇编语言本身的优缺点,引导学生学习的方向
学生在学习本课程之前,一般都有过计算机高级语言的学习基础。与高级语言相比,汇编语言存在一些固有的缺点,如对硬件的依赖性较强,可移植性较差,解决问题的步骤较为繁琐,有很多细节问题需要考虑等。①这就好比用户首先学习了如何在饭店点菜,已经习惯了一套简易的流程,现在要学习自己做菜,要考虑的细节更多,也就觉得更麻烦。但学会自己做菜,有利于我们了解菜系的搭配原理,火候问题等,从而制作出更可口的菜肴,如同汇编语言的学习有利于用户了解计算机的工作原理,从而更好地理解微机原理的相关问题。同时,汇编语言的一些细节,也能帮助用户简化一些操作。例如对于求解1+2+3+……+100②这个问题,可以利用LOOP语句中CX每次自减1的特点实现,程序③如下:
MOVAX, 0;用来放累加和
MOVCX, 100;循环次数为100
NEXT:ADDAX, CX ;AX+CX的和傳送给AX
LOOPNEXT ;CX减1,判断CX不等于0时,循环,从NEXT标号处执行
这比用高级语言实现更简洁。汇编语言的优势更多的体现在对硬件芯片的编程,例如对8253、8255芯片的初始化编程,程序段比较简洁、直观。教学过程中,要注意引导学生的学习方向,避免学生在学习过程中产生厌学情绪,要让学生看到汇编语言的优点。
2 找到知识的结合点,加强知识的联系
汇编语言是微机原理课程的一门工具性语言,两门课程中有很多交叉结合的知识点。如果在微机原理部分没有理解CPU的内部结构和工作原理,大量的指令就无法正确运用,也就更难灵活运用汇编语言进行编程。④例如汇编语言中大量采用寄存器结构,很多指令中都有指定的寄存器用法,而寄存器是CPU内部结构的重要组成部分,是微机原理的一个重要的知识点,各种寄存器的用法又可以通过寻址方式体现出来。比如基址指针寄存器BP在寻址做基址中使用时,默认数据在堆栈段中,在汇编语言讲解子程序的参数传递一例时,主程序用PUSH语句将参数放入堆栈,子程序中引用参数时,并不采用数据出栈,而是以BP为基址采用寄存器间接寻址方式访问堆栈。再如,微机原理中讲解外设与计算机的数据传送时,可注重介绍IN,OUT输入输出指令在执行时,对接口电路的影响,即汇编语言指令具体执行对硬件的影响,如M/,,信号以及地址译码的变化。⑤
3 重视实验教学,体现指令与硬件的结合,鼓励进行设计型实验
微机原理很多知识需要通过实验来加以验证和运用,上好实验课是教学的重要环节。但该课程的实验课大部分都是验证性实验,都在演示课本上的例子,这对于学生充分理解微机原理,熟练掌握汇编程序设计和锻炼实践能力来说是一种限制。我校实验采用DJ系列8086/8088微机系统,其中实验十五:简单I/O口控制,实现的功能是利用开关K1~K8控制LED灯L1~L8,一个开关控制一个灯的亮灭,⑥所用接口芯片为74LS244,74LS273。该实验为验证性试验,即学生可按实验指导书完成硬件连线,运行现有程序,即可实现功能。如此则学生较难留下深刻印象,也不能很好地理解硬件和软件的配套关系,因此我要求学生在完成实验的基础上,对实验进行修改,例如当地址线重新连接后,端口地址如何变化;如何修改程序,实现一个开关控制8个灯的亮灭。学生通过自己思考,动手实践,实现功能,从而留下深刻印象,加深了对知识的理解,教学效果也圆满实现。对于实验教学,我们应在做好验证性实验的基础上,多挖掘实验仪器的潜力,多让学生思考,多做一些有设计环节的实验,从而提高学生的实践能力。
4 合理安排课时,考核时注意知识点的倾向性
适当调整教学内容讲授的次序和学时分布,讲授内容有所侧重,建立一个合理的教学体系。由于汇编语言在微机原理这门课程中主要是起到一门工具性语言的作用,即很多微机原理的知识需要通过汇编编程加以体现,因此在汇编语言的教学过程中,不要过于强调如何解决那些计算机高级语言擅长解决的软件问题,这本来就不是汇编擅长的领域。汇编的教学中只要求学生熟悉汇编语言指令的基本功能及使用要求,熟悉汇编语言解决问题的思路即可,不要花费过多的时间,应将教学的侧重点放在汇编语言与微机原理的结合处,主要是对芯片控制的编程。在考核的内容上,也应侧重于汇编语言在解决硬件相关问题的作用,从而引导学生的学习方向。
通过对汇编语言和微机原理整合课程的教学改革,使学生对该课程产生了更浓厚的学习兴趣,取得了较显著的教学成果,同时也还存在一些不完善的地方,需要在以后的教学实践中不断改善。
注释
①许颖梅.对汇编语言和微机原理课程整合的探讨[J].福建电脑,2007.1.
②杨季文.80X86汇编语言程序设计教程[M].北京:清华大学出版社,2004.
③赵树升,赵雪梅.现代微机原理及接口技术[M].北京:清华大学出版社,2008.
④马浩.浅谈微机原理与汇编语言教学改革[J].科技创新导报,2009.17.
⑤周荷琴,吴秀清.微型计算机原理与接口技术(第三版)[M].合肥:中国科技大学出版社,2004.
⑥冯博琴,吴宁.微型计算机原理与接口技术(第2版)[M].北京:清华大学出版社,2007.