浅析汇编语言的功能
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅析汇编语言的功能
摘要:汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,汇编语言设计的程序最终被转换成机器指令,故能够保持机器语言的一致性,直接、简捷,并能象机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。使用汇编语言,可以访问所有能够被访问的软、硬件资源。目标代码简短,占用内存少,执行速度快,是高效的程序设计语言,经常与高级语言配合使用,以改善程序的执行速度和效率,弥补高级语言在硬件控制方面的不足,应用十分广泛。
关键词: 汇编语言,应用领域,优点
一汇编语言的概述
随着一些高级语言的发展,如C++,C#等使对于汇编语言不是十分了解的人认为汇编语言已经失去了其存在的意义,但是汇编语言有着其不可替代的作用.
汇编语言是直接面向处理器(Processor)的程序设计语言,有以下特点:
1.机器相关性。
这是一种面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。因为是机器指令的符号化表示,故不同的机器就有不同的汇编语言。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
2.高速度和高效率。
汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,且占用内存少,执行速度快,是高效的程序设计语言。
3.编写和调试的复杂性。
由于是直接控制硬件,且简单的任务也需要很多汇编语言语句,因此在进行程序设计时必须面面俱到,需要考虑到一切可能的问题,合理调配和使用各种软、硬件资源。这样,就不可避免地加重了程序员的负担。与此相同,在程序调试时,一旦程序的运行出了问题,就很难发现。
二.汇编语言的应用领域
汇编语言的在不同的领域有着不同的应用,下面介绍其主要的用途:
1.汇编语言在加密解密过程中的应用
今天在计算机被广泛应用的信息时代,信息本身就是财富。大量的信息用数据的形式存
放在计算机系统里。信息的传输则是通过公共信道。这些计算机系统和信道是不设防的,很脆弱的,很容易受到攻击和破坏,因而我们需要一种措施来保护我们
的数据,防止被一些用心不良的人盗取或破坏。数据的加密和解密从宏观上讲是很简单,很容易理解的。加密和解密的一些方法也是很直接的,很容易掌握,可以很方便的对机密数据进行加密和解密。数据加密和解密功能的实现是利用对数据的ASCII码进行加减运算,使它改写为另一组数据,隐藏了原数据,使他人不能看到,从而保证了原数据的安全。
汇编语言作为一种底层语言可以很好的实现对数据的加密和解密,利用汇编语言写的加密算法des等都得到广泛的应用.
2汇编语言在硬件的嵌入式开发中的应用
编语言是计算机能够提供给用户的最快的、也是最有效的语言,也是能够利用计算机所有硬件特性并且能够直接控制硬件的唯一语言。也正因为汇编语言的如此特性,汇编语言做底层开发,内核开发,驱动开发具有十分重要的意义,并且在对于程序的空间和实践要求很高的场合,以及需要直接控制硬件的应用场合,使用汇编语言是必不可少的。例如unix操作系统的启动部分.windows 的dos部分,以及对硬件的管理部分由于这些与硬件联系非常密切,而使用汇编语言则刚好可以达到直接面向硬件的操作目的。另外汇编语言在许多常用的电器如电冰箱,空调等的控制部分也是应有了较多的汇编语言以达到对部分机器硬件的控制作用.
3 汇编语言在应用程序中的应用
汇编语言是面向机器的低级语言,指令用助记
符表示,因其涉及寄存器、主存单元、I/O接口等具
体的硬件细节,内容比较抽象,又与处理器密切相
关,因此编写程序比较繁琐,但是汇编语言具有高
级语言无法比拟的优点,比如汇编语言程序可以直接有效地控制计算机硬件,目标代码简短,占用内存较少,执行效率高等因此在程序设计中涉及到硬件控制的语句常常用到汇编语言.
4.汇编语言在病毒分析.写病毒过程中的应用
病毒指“编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且我复制的一组计算机指令或者程序代码。计算机病毒具有
大部分计算机病毒在感染系统后并不马上发作,而是要等到条件
满足才实施破坏。计算机病毒的潜伏性越好,它在系统中的存在时间
就会越长,计算机病毒的传染范围就越大,并且具有以下特点:
(1)传染性
计算机病毒的传染性也称为自我复制和可传播性,这是计算机病
毒的本质特征,也是和一般破坏性程序的区别。要判断一个程序是不
是计算机病毒,关键要看它是否具有传染能力。
(2)可触发性
计算机病毒因某个事件或数值的出现,而实施感染或进行攻击的
特征称为可触发性。
(3)非授权性
计算机病毒程序是非授权而执行的。一般正常的程序对用户是可
见的、透明的,而计算机病毒具有正常程序的一切特性,它隐藏于正
常程序中,当用户调用正常程序时窃取系统的控制权,先于正常程序
执行,计算机病毒的动作、目的对用户是未知的,是未经过用户允许
的。
(4)隐蔽性
计算机病毒一般是具有很高编程技巧、短小精悍的程序。通常附
在正常程序中或磁盘较隐蔽的地方,也有个别的以隐含文件的形式出
现,目的是不让用户发现它的存在。
常见的病毒有蠕虫病毒、寄生病毒、伴随性病毒、木马病毒、变形病毒等。
汇编语言底层,灵活,速度快,体积小的优势能将一个病毒程序发挥到极至,通常一个程序写出来才几千字节就包含了所有的功能。
破解密码软件核心部分,杀毒软件的扫描过程部分也都是用汇编语言编写的,其速度比其他快的很多如金山软件等.杀毒软件的扫描过程部分也都是用汇编语言编写的,其速度比其他高级语言更加迅速,十分的具有优势.
5.汇编语言在其他方面的应用
汇编语言也在如下方面也有较好的利用如:
操作系统内核,工业控制,实时系统;系统性能的瓶颈,或频繁被使用子程序或程序段;设备驱动程序,家用电器的计算机控制功能等;没有适当的高级语言开发环境.等
但是汇编语言在编写一写大型的程序和一些高级的应用程序中显示出了其代码