分享

汇编语言

 天行健861010 2012-04-24
计算机语言的种类非常的多,总的来说可以分成机器语言汇编语言高级语言三大类。  目前通用的编程语言有两种形式:汇编语言和高级语言。

要了解汇编语言,先要知道机器语言。机器语言是你的电脑唯一认识的语言。虽然有很多种高级语言,象BASIC、C、PASCAL、C++、Java等等,但是用它们写的程序最后都要编译成机器语言来执行。机器语言是什么样子的?用UltraEdit打开任何一个exe文件看看,就是那样子的--一堆乱七八糟的16进制数字.

象这样的语言,普通人自然没法读。所以就出现了汇编语言来减轻程序员的负担。不过,汇编语言与机器语言的差别不很大,基本上就是用简单的单词来表示指令。 

汇编语言是与对应的CPU直接相关的,每种CPU都有自己的一套汇编指令,所以汇编语言是与平台相关的,通用性不好。

C/C++编译器把源代码编译成汇编代码,Java编译器把Java源代码编译成字节码bytecode。

Java跨平台其实就是基于相同的bytecode规范做不同平台的虚拟机,Java程序编译成bytecode后就可以在不同平台跑了。


汇编语言 - 特点

1.面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。

2.保持了机器语言的优点,具有直接和简捷的特点。

3.可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。

4.目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。

5.经常与高级语言配合使用,应用十分广泛。

6.对于不同型号的计算机,有着不同的结构的汇编语言。

7.汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。

8.汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

9.汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。

10.汇编语言中由于使用了助记符号,用汇编语言编制的程序输入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的"汇编程序"中进行加工和翻译,才能变成能够被计算机直接识别和处理的二进制代码程序。

11.用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,当它被安置在内存的预定位置上,就能被计算机的CPU处理和执行。[


汇编语言 - 优点与缺点

优点

汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:

(1)能够直接访问与硬件相关的存储器或I/O端口;

(2)能够不受编译器的限制,对生成的二进制代码进行完全的控制;

(3)能够对关键代码进行更准确的控制,避免因线程共同访问或者硬件设备共享引起的死锁;

(4)能够根据特定的应用对代码做最佳的优化,提高运行速度;

(5)能够最大限度地发挥硬件的功能。

(6)汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。

缺点

同时还应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:

(1)编写的代码非常难懂,不好维护;

(2)很容易产生bug,难于调试;

(3)只能针对特定的体系结构和处理器进行优化;

(4)开发效率很低,时间长且单调。

(5)汇编语言像机器指令一样,是硬件操作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。


http://www.hudong.com/wiki/%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多