機(jī)器語(yǔ)言:程序員需要一雙靈巧的手
原創(chuàng)【51CTO年終策劃】在ENIAC計(jì)算機(jī)之后的十多年,計(jì)算機(jī)的發(fā)展進(jìn)入了微電子時(shí)代。計(jì)算機(jī)的體積不斷減小,而計(jì)算能力卻不斷提高。在這種提高的過(guò)程中,人們已經(jīng)不再滿足于簡(jiǎn)單的數(shù)學(xué)計(jì)算,而需要計(jì)算機(jī)能夠?qū)崿F(xiàn)更多的功能。
可是各計(jì)算機(jī)公司設(shè)計(jì)生產(chǎn)的計(jì)算機(jī),其指令的數(shù)量與功能、指令格式、尋址方式、數(shù)據(jù)格式都有差別,即使是一些常用的基本指令,如算術(shù)邏輯運(yùn)算指令、轉(zhuǎn)移指令等也是各不相同的。事情一直到1964年才有了轉(zhuǎn)機(jī)。
1964年,在設(shè)計(jì)IBM360計(jì)算機(jī)時(shí)所采用的系列機(jī)思想較好地解決了不兼容的問(wèn)題。從此以后,各個(gè)計(jì)算機(jī)公司生產(chǎn)的同一系列的計(jì)算機(jī)盡管其硬件實(shí)現(xiàn)方法可以不同,但指令系統(tǒng)、數(shù)據(jù)格式、I/O系統(tǒng)等保持相同,因而軟件完全兼容(在此基礎(chǔ)上,產(chǎn)生了兼容機(jī))。當(dāng)研制該系列計(jì)算機(jī)的新型號(hào)或高檔產(chǎn)品時(shí),盡管指令系統(tǒng)可以有較大的擴(kuò)充,但仍保留了原來(lái)的全部指令,保持軟件向上兼容的特點(diǎn),即低檔機(jī)或舊機(jī)型上的軟件不加修改即可在比它高檔的新機(jī)器上運(yùn)行,以保護(hù)用戶在軟件上的投資。
密密麻麻的紙帶記錄著開發(fā)命令
在當(dāng)時(shí)為了適應(yīng)機(jī)器語(yǔ)言,人們開發(fā)出來(lái)打孔紙帶以方便錄入程序。相信很多程序員在上大學(xué)時(shí),聽(tīng)到過(guò)計(jì)算機(jī)教授講當(dāng)年的程序開發(fā)是剪刀加漿糊的流程。程序出錯(cuò)了不能像現(xiàn)在這么方便的更改,而是需要拿漿糊把紙帶重新制作一遍。
機(jī)器語(yǔ)言是指一臺(tái)計(jì)算機(jī)全部的指令集合
電子計(jì)算機(jī)所使用的是由"0"和"1"組成的二進(jìn)制數(shù),二進(jìn)制是計(jì)算機(jī)的語(yǔ)言的基礎(chǔ)。計(jì)算機(jī)發(fā)明之初,人們只能降貴紆尊,用計(jì)算機(jī)的語(yǔ)言去命令計(jì)算機(jī)干這干那,一句話,就是寫出一串串由"0"和"1"組成的指令序列交由計(jì)算機(jī)執(zhí)行,這種計(jì)算機(jī)能夠認(rèn)識(shí)的語(yǔ)言,就是機(jī)器語(yǔ)言。使用機(jī)器語(yǔ)言是十分痛苦的,特別是在程序有錯(cuò)需要修改時(shí),更是如此。
計(jì)算機(jī)指令系統(tǒng)
因此程序就是一個(gè)個(gè)的二進(jìn)制文件。一條機(jī)器語(yǔ)言成為一條指令。指令是不可分割的最小功能單元。而且,由于每臺(tái)計(jì)算機(jī)的指令系統(tǒng)往往各不相同,所以,在一臺(tái)計(jì)算機(jī)上執(zhí)行的程序,要想在另一臺(tái)計(jì)算機(jī)上執(zhí)行,必須另編程序,造成了重復(fù)工作。但由于使用的是針對(duì)特定型號(hào)計(jì)算機(jī)的語(yǔ)言,故而運(yùn)算效率是所有語(yǔ)言中***的。機(jī)器語(yǔ)言,是***代計(jì)算機(jī)語(yǔ)言。也是***代編程開發(fā)的語(yǔ)言。
【編輯推薦】