论文部分内容阅读
摘 要:“汇编语言”是计算机及电子信息类相关专业一门重要的基础课程,开设这门课程目的不仅仅是教授一门编程语言,更重要的是通过这门课程的学习可以帮助学生理解计算机的体系结构以及系统各硬件之间如何协调统一工作,为以后从事软硬件相关方面的工作打下良好的基础。
关键词:汇编语言 教学 意义
“汇编语言”是计算机及电子信息类相关专业一门重要的基础课程,也是学习微机原理、操作系统、编译原理的前导课程,经过多年实践证明了这门课堂开设的必要性。但目前学生当中出现了实用主义思想和无用说法,很多学生认为自己以后用不到汇编语言,学了也没用,特别是在一些大专院校中这种情况比较普遍。对于这种现象我认为有以下几个方面的原因:首先,汇编语言比其它高级语言学习难度大,有些学生就会出现畏难情绪,逃避找借口;其次,汇编语言是面向机器的低级语言与硬件联系紧密,涉及寄存器、主存单元、I/O接口等具体的硬件细节,并且与处理器密切相关,内容比较抽象,很多人认为学习汇编语言就是为了用汇编语言编程,而对于编程来说汇编语言往往不是首选,“不用它来编程那学它有什么用”,但事实上等大家工作以后再来重新思考“学习汇编语言的意义“这个问题的时候,发现要回答这个问题就不是那么简单了。
一、汇编语言的优缺点
1、汇编语言的优点
汇编语言本质上就是机器语言,它可以直接、有效地控制计算机硬件,容易产生运行速度快、指令序列短小的高效率目标程序,可以编写在“时间”和“空间”两方面最有效的程序。这些优点使得汇编语言在程序设计中占有重要的位置,是不可被取代的。汇编语言在编译方面比高级语言具有优势,从某种程度上来说汇编语言与机器语言性质上是一样的,它的执行效率接近于机器语言。任何高级编程语言最终都要编译成机器码,高级语言需要先通过编译器将高级语言源程序编译成汇编层程序,然后再由汇编器和连接器生成最终程序。编译时高级语言将被转化为数倍于自身的代码,更多的代码通常意味着要消耗更多的CPU周期去执行,这样降低了单位时间内的执行速率。
2、汇编语言的缺点
正是由于汇编指令与机器码的一一对应性,使汇编语言过于依赖硬件,不易于开发,对于不同的CPU,汇编语言可能有所差异。例如ARM9、DSP等都有自己的汇编语言,在寻址方式和指令集上会有很大区别,这就要求程序员要熟悉计算机硬件系统、考虑许多细节问题,导致编写程序繁琐,调试、维护、交流困难。这些缺点使得汇编语言在很多场合不是程序员的首选,程序员更青睐于高级程序语言。
二、汇编语言的应用
对于汇编语言的使用当然要扬长避短。我们来看一下汇编语言的实际应用领域:
1.利用汇编程序执行速度快、效率高、占用内存小的优点,可以用来编写操作系统的核心程序段,实现实时控制的系统软件,智能仪器仪表的控制程序等。
2.应用于程序与计算机硬件密切相关,程序要直接、有效地控制硬件的场合。例如,I/O接口电路的初始化程序段,外部设备的低层驱动程序等。
3.应用于大型软件需要提高性能、优化处理的场合。例如,用汇编语言实现计算机系统频繁调用的子程序、动态连接库等。
4.汇编语言还有许多实际应用,例如分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒、逆向工程等。汇编语言应用于破解密码软件核心部分,杀毒软件的扫描过程部分,非常具有优势。
三、汇编语言在教学中的意义
对于我们在大学课堂中学习这门课程不仅仅在于掌握一种编程语言,一个更重要的原因是它对学生理解计算机系统整体架构和内部工作原理有重要的意义。很多教科书中已经把汇编语言作为《微机原理与接口技术》课程中的一个章节,这两门课程之间是相辅相成的。计算机科学的发展依赖于计算机硬件和软件技术的发展,硬件是计算机的躯体,软件是计算机的灵魂。硬件与软件构成了完整的计算机体系。软件由各种语言编写依托硬件得以执行,如果缺少底层知识就学习高层的课程,当遇到与底层相关的内容时,必将难懂与生涩。汇编语言与机器指令相对应,并能直接控制硬件。学习汇编语言不但能感知硬件内部的工作机理,而且可以清晰地观察到芯片之间的协作流程,从而建立底层的知识体系,获得直接从底层分析问题解决问题的能力,为学习高层的知识奠定基石。知识是有层次的,就像一座倒金字塔,越底层越难的知识认知的人越少,但这些底层的知识却是构筑上层建筑所必不可少的支撑,只有掌握好底层基础的知识才可以走得更远站的更高。学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。
我们要从事计算相关的行业,就要了解计算机系统硬件结构和内部工作原理。增加汇编语言教学是我们学习计算机系统硬件结构和内部工作原理的一个有利手段,汇编语言这门基础课程的学习还是不容忽视。
参考文献:
[1]范喆.汇编语言在32位程序设计中的应用[J].计算机与数学工程,2008.4
[2]赵学良.8126汇编语言教学体会[J].科技教育创新,2007.9
[3]齐志儒.高福祥.汇编语言程序设计[M].东北大学出版社,2005.3
关键词:汇编语言 教学 意义
“汇编语言”是计算机及电子信息类相关专业一门重要的基础课程,也是学习微机原理、操作系统、编译原理的前导课程,经过多年实践证明了这门课堂开设的必要性。但目前学生当中出现了实用主义思想和无用说法,很多学生认为自己以后用不到汇编语言,学了也没用,特别是在一些大专院校中这种情况比较普遍。对于这种现象我认为有以下几个方面的原因:首先,汇编语言比其它高级语言学习难度大,有些学生就会出现畏难情绪,逃避找借口;其次,汇编语言是面向机器的低级语言与硬件联系紧密,涉及寄存器、主存单元、I/O接口等具体的硬件细节,并且与处理器密切相关,内容比较抽象,很多人认为学习汇编语言就是为了用汇编语言编程,而对于编程来说汇编语言往往不是首选,“不用它来编程那学它有什么用”,但事实上等大家工作以后再来重新思考“学习汇编语言的意义“这个问题的时候,发现要回答这个问题就不是那么简单了。
一、汇编语言的优缺点
1、汇编语言的优点
汇编语言本质上就是机器语言,它可以直接、有效地控制计算机硬件,容易产生运行速度快、指令序列短小的高效率目标程序,可以编写在“时间”和“空间”两方面最有效的程序。这些优点使得汇编语言在程序设计中占有重要的位置,是不可被取代的。汇编语言在编译方面比高级语言具有优势,从某种程度上来说汇编语言与机器语言性质上是一样的,它的执行效率接近于机器语言。任何高级编程语言最终都要编译成机器码,高级语言需要先通过编译器将高级语言源程序编译成汇编层程序,然后再由汇编器和连接器生成最终程序。编译时高级语言将被转化为数倍于自身的代码,更多的代码通常意味着要消耗更多的CPU周期去执行,这样降低了单位时间内的执行速率。
2、汇编语言的缺点
正是由于汇编指令与机器码的一一对应性,使汇编语言过于依赖硬件,不易于开发,对于不同的CPU,汇编语言可能有所差异。例如ARM9、DSP等都有自己的汇编语言,在寻址方式和指令集上会有很大区别,这就要求程序员要熟悉计算机硬件系统、考虑许多细节问题,导致编写程序繁琐,调试、维护、交流困难。这些缺点使得汇编语言在很多场合不是程序员的首选,程序员更青睐于高级程序语言。
二、汇编语言的应用
对于汇编语言的使用当然要扬长避短。我们来看一下汇编语言的实际应用领域:
1.利用汇编程序执行速度快、效率高、占用内存小的优点,可以用来编写操作系统的核心程序段,实现实时控制的系统软件,智能仪器仪表的控制程序等。
2.应用于程序与计算机硬件密切相关,程序要直接、有效地控制硬件的场合。例如,I/O接口电路的初始化程序段,外部设备的低层驱动程序等。
3.应用于大型软件需要提高性能、优化处理的场合。例如,用汇编语言实现计算机系统频繁调用的子程序、动态连接库等。
4.汇编语言还有许多实际应用,例如分析具体系统尤其是该系统的低层软件、加密解密软件、分析和防治计算机病毒、逆向工程等。汇编语言应用于破解密码软件核心部分,杀毒软件的扫描过程部分,非常具有优势。
三、汇编语言在教学中的意义
对于我们在大学课堂中学习这门课程不仅仅在于掌握一种编程语言,一个更重要的原因是它对学生理解计算机系统整体架构和内部工作原理有重要的意义。很多教科书中已经把汇编语言作为《微机原理与接口技术》课程中的一个章节,这两门课程之间是相辅相成的。计算机科学的发展依赖于计算机硬件和软件技术的发展,硬件是计算机的躯体,软件是计算机的灵魂。硬件与软件构成了完整的计算机体系。软件由各种语言编写依托硬件得以执行,如果缺少底层知识就学习高层的课程,当遇到与底层相关的内容时,必将难懂与生涩。汇编语言与机器指令相对应,并能直接控制硬件。学习汇编语言不但能感知硬件内部的工作机理,而且可以清晰地观察到芯片之间的协作流程,从而建立底层的知识体系,获得直接从底层分析问题解决问题的能力,为学习高层的知识奠定基石。知识是有层次的,就像一座倒金字塔,越底层越难的知识认知的人越少,但这些底层的知识却是构筑上层建筑所必不可少的支撑,只有掌握好底层基础的知识才可以走得更远站的更高。学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点和最有效途径。
我们要从事计算相关的行业,就要了解计算机系统硬件结构和内部工作原理。增加汇编语言教学是我们学习计算机系统硬件结构和内部工作原理的一个有利手段,汇编语言这门基础课程的学习还是不容忽视。
参考文献:
[1]范喆.汇编语言在32位程序设计中的应用[J].计算机与数学工程,2008.4
[2]赵学良.8126汇编语言教学体会[J].科技教育创新,2007.9
[3]齐志儒.高福祥.汇编语言程序设计[M].东北大学出版社,2005.3