论文部分内容阅读
摘要:针对微机原理与接口技术课程内容抽象,不宜理解等特点,根据多年实际教学经验,将Debug调试工具的有关场景实验与微机原理课程理论教学进行融合,使学生更容易理解微机系统中央处理器的结构和功能特性,从而有利于学生对微机原理课程核心和重点内容的学习和掌握。
关键词:微机原理;教学;场景实验;寄存器
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)32-7279-02
《微机原理与接口技术》是普通高等院校理工科计算机、电子信息、自动化和电气工程等专业的一门重要的学科基础课程。该门课程对学生建立微型计算机系统的整体概念和使得使学生获得应用微机系统软硬件开发能力等方面具有重要的作用,但同时该门课程也是大家公认的“既难教又难学”的课程。在实际的教学过程中,往往理论教学和实验教学是分开的,并且实验教学一般是理论教学课时完成之后在实验室完成。根据教材的顺序或教学进程的要求,如果在中央处理器相关内容的理论课堂的教学上仅仅是按照一定的方法对中央处理器的结构和功能进行讲解,并不能达到很好的教学效果。尤其是在讲解和学习中央处理器寄存器的有关内容时,由于寄存器种类繁多,既有专用的寄存器组和通用的寄存器组,也有功能相交叉的寄存器组,单纯靠课堂抽象的理论讲解,学生很难理解和掌握这些寄存器的功能。如果在课堂上能随堂结合Debug软件等的验证性场景实验演示,既能激发学生的兴趣,也能让学生对相关寄存器的功能产生一定的感性认识,达到事半功倍的教学效果。
1 Debug调试工具的简介
DEBUG是微机操作系统提供的一个DOS实用程序,供程序员使用的程序调试工具。该调试工具含有R(显示或修改寄存器Register)、D(显示内存Dump)、E(显示和修改存储单元内容Enter)、T(单步执行Trace)、A(汇编Assemble)、U(反汇编Unassemble)和G(执行正在调试的程序Go)等常用调试命令。既可以用来观察和检查中央处理器中的各寄存器和内存中的内容,也能够修改内存中的有关内容;它可以用于逐指令执行某个程序以验证程序运行的正确性,也可以追踪执行过程、比较一个指令执行前后的各寄存器和内存中的内容变化情况,有着强大的功能。
2 Debug的场景实验在微机原理理论教学中的应用
由于微机系统是软硬件复杂和有机的统一整体,因此,对微机系统硬件结构和功能的讲解和学习与有关软件的讲解和学习不宜分割进行。在讲解微机系统硬件结构和功能的同时,教师如果根据课堂上学生听课的反映,随堂灵活地运用Debug进行相应的验证性场景实验演示,则能够使得学生较为深刻地理解有关的概念,从而提高理论课堂教学的教学效果。以下将通过若干简单的授课案例来说明如何将Debug验证性的场景实验融合在微机原理课程的课题理论教学中。
2.1 关于“微机中有符号数是用补码的形式存放的”场景实验及其教学效果
当讲授到“带符号数的表示法”的有关内容时,尽管学生通过钟表的例子理解了补码的作用,但很多学生常常对“微机中有符号数据以补码形式存放”感到茫然,并且也常提出如何对这一论述进行考证。如果授课教师能用Debug的调试命令随堂做以下验证性的场景实验,上述的疑问自然就得到了回答,同时也加深了学生对有关概念的认识和理解。
场景实验的主要演示步骤:
1) 在Win7操作系统环境下,进入Debug调试程序后,用汇编A命令输入由3条指令组成的程序段,将得到图1所示的场景实验截屏。
其中第1条指令是向寄存器AX送入整数“-1”,是一条3字节指令, 第2条指令是将AX寄存器中的内容压入堆栈,为单字节指令,第3条指令是将堆栈栈顶的数据弹出并送入BX,也是单字节指令。
2) 用单步执行T命令后,可得到如图2所示的实验截屏。
从图2中可以看到,用单步执行T命令后,地址0B86:0100处的指令mov ax, -1得到了执行,AX的寄存器内容被送入了FFFF,同时通过演算可以让学生确信该值恰好为-1的补码,从而证明了之前由指令mov ax, -1向AX传送的有符号数“-1”在寄存器AX中的确是以补码形式存放的。更重要的是,在这种场景实验过程中,常常会驱使学生带着问题观察实验及结果,从而使得学生在课堂的理论教学中就能够对寄存器的功能有更直接的感性认识,同时也能激发他们思考更多的问题。
2.2 关于指令指针(程序计数器)IP的场景实验及其教学效果
微机系统的核心是中央处理器,而中央处理器中最重要的寄存器之一是指令指针(程序计数器)IP。其作用相当于一个乐队的指挥,IP指向到哪里,则程序会执行到哪里。李继灿在第3版的《新编16/32位微型计算机原理及应用(第3版)》教材上对16位指令指针(程序计数器)IP给出了如下解释:其功能与8位CPU中的PC类似。正常运行时,IP中含有BIU(总线接口单元)要取的下一条指令的偏移地址。IP在程序运行中能够自动加1修正,使之指向要执行的下一条指令。然而在实际的理论教学中,常常出现以下情况:无论做怎样的解释和举例说明,仍有学生(尤其是非计算机专业的学生)会对“IP自动加1,使之指向下一条指令”这一表述产生“为何将该寄存器称为指令指针寄存器”、“指针功能如何体现”、“指针寄存器与其它指针寄存器的区别”、“如果是多字节指令,IP的自动加1功能是否能够保证执行完毕一条指令后,仍能够使得IP指向下一条指令?”等等疑问。针对学生的这些困惑和疑问,如果在讲授完指令指针寄存器IP的概念后,随即让学生观察图2中的IP所指向的偏移地址为0103,而该地址上内存单元存放的指令为push ax,指令的机器代码为50H,为单字节指令,并事先给学生指出:如果用单步执行T命令第二次执行图1中的指令,则IP中的内容将会变为0104。然后由教师输入T命令后,即可得到图3所示的IP为0104。也就是当执行完当前的指令后,IP自动指向了下一条指令的首字节单元地址。这样的场景实验和讲解过程将会给学生做出最直观的回答和解释。
2.3 关于“入出栈操作时堆栈指针SP变化规则”的场景实验及其教学效果
李继灿在第3版的《新编16/32位微型计算机原理及应用(第3版)》教材上对“入出栈操作时堆栈指针SP变化规则”是这样表述的:入栈指令执行时,堆栈指针将被修改为SP-2→SP;出栈指令执行时堆栈指针将被修改为SP 2→SP。当在课堂上讲授这一内容时,可以随堂做如下的场景实验来讲解:首先让学生观察图2的SP,其内容为FFEC,而图3显示了执行完push ax指令后各寄存器中的数据,从图3可以看到:SP已由图2中的FFEC变为了FFEA,这就直观地展示了“堆栈指针将被修改为SP-2→SP”。另外这一操作会导致ax中-1的补码FFFF被压入到堆栈的栈顶;如果继续第三次输入单步执行T命令,然后按“回车”键,则可得到图4的实验截屏图,可以看到该次T命令执行了图1中的第3条指令,即出栈操作pop bx,SP的值又变为了FFEC。而上一条指令压入到堆栈栈顶的数据FFFF,本次会被弹出并送入bx。观察图4,bx寄存器中的内容的确由图3中的0000变为了FFFF。因此这个简单的场景实验从多个角度直观地展现了不同寄存器的变化情况,为理论课堂的授课带来了较好的教学效果。类似上述场景实验教学的案例还可以例举很多,限于篇幅,这里不再逐项罗列。
3 结束语
多年来的实际教学经验也表明,在微机原理理论教学中,上述这些费时不多而且相对简单的场景实验往往使得学生对微处理器执行程序的机制和各种寄存器功能有一个直接认识,既激发了学生的学习兴趣,也让学生理解和掌握了微机系统的核心原理。因此将这种场景实验运用在微机原理的理论课堂教学中,能够取得较好的教学效果。
参考文献:
[1] 李继灿.新编16/32位微型计算机原理及应用[M]. 3版.北京:清华大学出版社,2004.
关键词:微机原理;教学;场景实验;寄存器
中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)32-7279-02
《微机原理与接口技术》是普通高等院校理工科计算机、电子信息、自动化和电气工程等专业的一门重要的学科基础课程。该门课程对学生建立微型计算机系统的整体概念和使得使学生获得应用微机系统软硬件开发能力等方面具有重要的作用,但同时该门课程也是大家公认的“既难教又难学”的课程。在实际的教学过程中,往往理论教学和实验教学是分开的,并且实验教学一般是理论教学课时完成之后在实验室完成。根据教材的顺序或教学进程的要求,如果在中央处理器相关内容的理论课堂的教学上仅仅是按照一定的方法对中央处理器的结构和功能进行讲解,并不能达到很好的教学效果。尤其是在讲解和学习中央处理器寄存器的有关内容时,由于寄存器种类繁多,既有专用的寄存器组和通用的寄存器组,也有功能相交叉的寄存器组,单纯靠课堂抽象的理论讲解,学生很难理解和掌握这些寄存器的功能。如果在课堂上能随堂结合Debug软件等的验证性场景实验演示,既能激发学生的兴趣,也能让学生对相关寄存器的功能产生一定的感性认识,达到事半功倍的教学效果。
1 Debug调试工具的简介
DEBUG是微机操作系统提供的一个DOS实用程序,供程序员使用的程序调试工具。该调试工具含有R(显示或修改寄存器Register)、D(显示内存Dump)、E(显示和修改存储单元内容Enter)、T(单步执行Trace)、A(汇编Assemble)、U(反汇编Unassemble)和G(执行正在调试的程序Go)等常用调试命令。既可以用来观察和检查中央处理器中的各寄存器和内存中的内容,也能够修改内存中的有关内容;它可以用于逐指令执行某个程序以验证程序运行的正确性,也可以追踪执行过程、比较一个指令执行前后的各寄存器和内存中的内容变化情况,有着强大的功能。
2 Debug的场景实验在微机原理理论教学中的应用
由于微机系统是软硬件复杂和有机的统一整体,因此,对微机系统硬件结构和功能的讲解和学习与有关软件的讲解和学习不宜分割进行。在讲解微机系统硬件结构和功能的同时,教师如果根据课堂上学生听课的反映,随堂灵活地运用Debug进行相应的验证性场景实验演示,则能够使得学生较为深刻地理解有关的概念,从而提高理论课堂教学的教学效果。以下将通过若干简单的授课案例来说明如何将Debug验证性的场景实验融合在微机原理课程的课题理论教学中。
2.1 关于“微机中有符号数是用补码的形式存放的”场景实验及其教学效果
当讲授到“带符号数的表示法”的有关内容时,尽管学生通过钟表的例子理解了补码的作用,但很多学生常常对“微机中有符号数据以补码形式存放”感到茫然,并且也常提出如何对这一论述进行考证。如果授课教师能用Debug的调试命令随堂做以下验证性的场景实验,上述的疑问自然就得到了回答,同时也加深了学生对有关概念的认识和理解。
场景实验的主要演示步骤:
1) 在Win7操作系统环境下,进入Debug调试程序后,用汇编A命令输入由3条指令组成的程序段,将得到图1所示的场景实验截屏。
其中第1条指令是向寄存器AX送入整数“-1”,是一条3字节指令, 第2条指令是将AX寄存器中的内容压入堆栈,为单字节指令,第3条指令是将堆栈栈顶的数据弹出并送入BX,也是单字节指令。
2) 用单步执行T命令后,可得到如图2所示的实验截屏。
从图2中可以看到,用单步执行T命令后,地址0B86:0100处的指令mov ax, -1得到了执行,AX的寄存器内容被送入了FFFF,同时通过演算可以让学生确信该值恰好为-1的补码,从而证明了之前由指令mov ax, -1向AX传送的有符号数“-1”在寄存器AX中的确是以补码形式存放的。更重要的是,在这种场景实验过程中,常常会驱使学生带着问题观察实验及结果,从而使得学生在课堂的理论教学中就能够对寄存器的功能有更直接的感性认识,同时也能激发他们思考更多的问题。
2.2 关于指令指针(程序计数器)IP的场景实验及其教学效果
微机系统的核心是中央处理器,而中央处理器中最重要的寄存器之一是指令指针(程序计数器)IP。其作用相当于一个乐队的指挥,IP指向到哪里,则程序会执行到哪里。李继灿在第3版的《新编16/32位微型计算机原理及应用(第3版)》教材上对16位指令指针(程序计数器)IP给出了如下解释:其功能与8位CPU中的PC类似。正常运行时,IP中含有BIU(总线接口单元)要取的下一条指令的偏移地址。IP在程序运行中能够自动加1修正,使之指向要执行的下一条指令。然而在实际的理论教学中,常常出现以下情况:无论做怎样的解释和举例说明,仍有学生(尤其是非计算机专业的学生)会对“IP自动加1,使之指向下一条指令”这一表述产生“为何将该寄存器称为指令指针寄存器”、“指针功能如何体现”、“指针寄存器与其它指针寄存器的区别”、“如果是多字节指令,IP的自动加1功能是否能够保证执行完毕一条指令后,仍能够使得IP指向下一条指令?”等等疑问。针对学生的这些困惑和疑问,如果在讲授完指令指针寄存器IP的概念后,随即让学生观察图2中的IP所指向的偏移地址为0103,而该地址上内存单元存放的指令为push ax,指令的机器代码为50H,为单字节指令,并事先给学生指出:如果用单步执行T命令第二次执行图1中的指令,则IP中的内容将会变为0104。然后由教师输入T命令后,即可得到图3所示的IP为0104。也就是当执行完当前的指令后,IP自动指向了下一条指令的首字节单元地址。这样的场景实验和讲解过程将会给学生做出最直观的回答和解释。
2.3 关于“入出栈操作时堆栈指针SP变化规则”的场景实验及其教学效果
李继灿在第3版的《新编16/32位微型计算机原理及应用(第3版)》教材上对“入出栈操作时堆栈指针SP变化规则”是这样表述的:入栈指令执行时,堆栈指针将被修改为SP-2→SP;出栈指令执行时堆栈指针将被修改为SP 2→SP。当在课堂上讲授这一内容时,可以随堂做如下的场景实验来讲解:首先让学生观察图2的SP,其内容为FFEC,而图3显示了执行完push ax指令后各寄存器中的数据,从图3可以看到:SP已由图2中的FFEC变为了FFEA,这就直观地展示了“堆栈指针将被修改为SP-2→SP”。另外这一操作会导致ax中-1的补码FFFF被压入到堆栈的栈顶;如果继续第三次输入单步执行T命令,然后按“回车”键,则可得到图4的实验截屏图,可以看到该次T命令执行了图1中的第3条指令,即出栈操作pop bx,SP的值又变为了FFEC。而上一条指令压入到堆栈栈顶的数据FFFF,本次会被弹出并送入bx。观察图4,bx寄存器中的内容的确由图3中的0000变为了FFFF。因此这个简单的场景实验从多个角度直观地展现了不同寄存器的变化情况,为理论课堂的授课带来了较好的教学效果。类似上述场景实验教学的案例还可以例举很多,限于篇幅,这里不再逐项罗列。
3 结束语
多年来的实际教学经验也表明,在微机原理理论教学中,上述这些费时不多而且相对简单的场景实验往往使得学生对微处理器执行程序的机制和各种寄存器功能有一个直接认识,既激发了学生的学习兴趣,也让学生理解和掌握了微机系统的核心原理。因此将这种场景实验运用在微机原理的理论课堂教学中,能够取得较好的教学效果。
参考文献:
[1] 李继灿.新编16/32位微型计算机原理及应用[M]. 3版.北京:清华大学出版社,2004.