您的位置:首页 > 其它

开发语言小传之二:进化后的机器语言——汇编语言

2014-12-28 22:05 218 查看
     为了写本文,我在网上搜索汇编语言的发明者,结果出乎意料,几乎找不到!后来又搜索英文网站,才在Ask网站(http://www.ask.com/)上找到一个回答,是NathanialRochester和Stan Poley。正如Ask那个回答所说的那样,汇编语言与其说是被发明出来的,还不如说是自然而然进化、发展出来的。当然,这不能说最早想到这个点子的人不重要。

  我想,之所以汇编语言不如其他流行高级语言的发明者那样,名字广为人知,主要是汇编语言跟计算机的体系设计密切相关,不同型号的机器有不同的设计,汇编语言这种本质上只是机器语言的简单映射(早期时候),因为不同的机器而完全不同,所以最初的设计者只是设计思想被传播,实际的指令什么的每种机器都要重新弄一遍,当时各种体系计算机数目又很多,所以才把设计者轻易的湮灭掉了。

  我们知道,最早出现的电子计算机是靠机器语言,也就是二进制来操纵的。要想表达一个指令,要在卡片或者纸带上打上一大堆表示0或1的孔。不用说别的,光是核对一遍就够让人头疼的。于是在1949年末,1950年初的时候,汇编程序的雏型在电子离散时序自动计算机 EDSAC上研制成功的。这是非常简单、初级的指令系统,比如“A 128 F”,“A”表示加(add),“128”表示地址,“F”是终结字母。要知道,当年的存储器都是非常昂贵的,连汇编语言本身字符占位都是要节约的,能少则少!上面那条最早的汇编指令,换算成二进制是11100000100000000,要占17比特(bit)。

  第一个汇编程序是符号优化汇编程序(SOAP)系统﹐它是50年代中期为IBM650计算机研制的,是汇编程序发展中的一个重要里程碑。此後的汇编程序大都以这一系统为模型﹐其主要特征至今未发生本质的变化。随著计算机软件的高速发展和广泛应用﹐汇编程序又吸收了宏加工程序﹑高级语言翻译程序等系统的一些优点﹐相继出现了宏汇编程序﹑高级汇编程序等。    

※图片来自《CODING forthe MIT-IBM 704 COMPUTER》。
  汇编语言是对机器语言(二进制)的抽象,用人容易记忆、理解的字母符号代替直接的二进制。但它本质上依然是面向机器的语言,每一个语句都能对应上机器指令,一步步告诉机器(主要是CPU)该干什么。汇编语言一直都是跟机器直接打交道的最有效手段,今天也是。但现在基本局限于需要跟机器直接打交道驱动程序、操作系统底层跟硬件结合部分、嵌入式工业芯片等领域。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: