提高《汇编语言程序设计》教学效率的思考与实践
2017-12-20李鹏赵立辉
李鹏+赵立辉
摘要:讨论了在《微机原理及应用》或《微机原理与接口技术》等教材中,编写汇编语言程序设计部分的两种方法,作者运用这两种方法从提高教学效率的目的出发,编写与出版了两本教材,并分析了这两种方法的特点。
关键词:汇编语言;16位机;32位机;指令系统
中图分类号:TN79-4 文献标识码:A 文章编号:
1.引言
在《微机原理与接口技术》、《微机原理及应用》等教材中,80X86汇编语言一般仅占有1-3章的篇幅,但是,如果专门开设《汇编语言程序设计》课程,则要选用专门的《汇编语言程序设计》教程,一般安排48学时左右的教学时间。在我们出版的《微机原理与接口技术》和《微机原理及应用》两本教程中,分别用了两章和一章的篇幅来介绍80X86汇编语言程序设计,但是,80X86指令集包括16位和32位计算机指令系统,指令复杂,16位和32位汇编语言格式有所不同,内容广泛,要保护汇编语言的完整性,但又受到篇幅的限制,因此,从提高汇编语言程序设计的教学效率出发,结合教学实际,精心组织内容,两本教材采用了兩种不同的撰写方式。
2.采用32位机的方式撰写汇编语言(第一方式)
《微机原理与接口技术》教材只介绍32位汇编语言程序设计,但含盖了16位计算机的指令系统及汇编语言程序设计。《微机原理及应用》教材则按照80X86的发展先后,首先介绍了16位机指令系统及编程,然后介绍了32位机指令系统及编程,从提高教学效率及培养实用性人才方面分析,各有特色。
2.1 首先介绍16位段和32位段
32位机上电或复位后,CPU首先工作在实地址模式,它与8086CPU的工作方式有相同的基本结构,存储器分段每段最多64KB,称为16位段,32位机既可以工作在32位段又可以工作在16位段。
2.2第二步讲解寻址方式
介绍寻址方式之前,明确指出了指令格式中出现的符号及含义,包括8、16以及32位,显然,介绍32位机指令系统的同时,也就包含了16位计算机的指令系统。
寻找操作数或操作数地址的方式称为寻址方式,16位和32位指令系统的寻址方式基本上是相同的,只不过32位微处理器多两个段寄存器,在CPU访问存储器时,有效地址的形成比较复杂,增加了“变址*比例因子”一个累加项。
2.3 第三步分析32位微处理器指令系统
因为已经声明了指令系统中出现的符号及含义,所以,每条指令的通用格式中就含盖了8、16及32位指令,通过举例说明,可以达到事半功倍的效果。
2.4最后介绍汇编语言编程
介绍了汇编语言中的常量、变量、标号以及许多规定,按照先后顺序,介绍了16位完整段汇编语言程序设计、16位简化段汇编语言程序设计、32位汇编语言程序设计,简单指出了汇编语言程序的格式,并按照汇编语言程序的格式编写了经典的汇编程序。
3.采用先介绍16位后介绍32位的方式撰写汇编语言(第二方式)
《微机原理及应用》教材只用一章的篇幅(包括3小节),表述了16位和32位机的指令系统及汇编语言编程,第一节是8086 CPU的寻址方式,第二节是16位微处理器的指令系统,第三节是汇编语言编程。
汇编语言编程一节包括比较多的内容:
机器语言与汇编语言;
汇编语言中的常量、变量和标号;
16位完整段汇编语言程序设计;
32位寻址方式;
32位微处理器扩充与新增指令;
简化段汇编语言程序设计。
从以上可以看出,待讲完16位完整段汇编语言程序设计之后,接着介绍32位寻址方式、32位微处理器扩充与新增指令以及32位程序设计,最后使用简化段格式编写32位程序,并用实际程序例子进行说明。
4.两种方式的特点
共同点:
(1)保护了16、32位汇编语言编程的完整性。
(2)内容精炼,便于自学,便于教学,介绍指令系统时列举了大量指令、讲解汇编语言编程时,列举了较丰富的典型程序例子。
差异:
第一方式知识起点高,结构严谨,一旦入门后就不难学习;不需要另外阐述16位汇编语言编程,举例时,既可以列举16位也可以列举32位。
第二方式做到了先易后难、便于自学、只有一章,篇幅仅是第一方式的2/3,重点突出。
5.结语
在《微机原理及应用》等包含有汇编语言编程的教材中,编写汇编语言部分可以运用该文中提到的两种方法,但是,一定要从提高教学效率出发,优化结构,充实实例,便于自学。
参考文献:
[1]李鹏等.微机原理及应用[M].北京:电子工业出版社,2014.
作者简介:
李鹏(1978-),男(汉族),湖北仙桃人,长江大学计算机科学学院,副教授,硕士endprint