通常由用戶用高級(jí)語(yǔ)言編寫(xiě)程序,然后講它和數(shù)據(jù)一起送入計(jì)算機(jī)內(nèi),再由計(jì)算機(jī)將其翻譯成機(jī)器能識(shí)別的機(jī)器語(yǔ)言程序,機(jī)器自動(dòng)運(yùn)行該機(jī)器語(yǔ)言程序,并將其計(jì)算結(jié)果輸出。
實(shí)際上,早期的計(jì)算機(jī)只有機(jī)器語(yǔ)言(用0.1代碼表示的語(yǔ)言),用戶必須用二進(jìn)制代碼來(lái)編寫(xiě)程序。這就要求程序員對(duì)他們所使用的計(jì)算機(jī)硬件及其指令系統(tǒng)十分熟悉,編寫(xiě)難度很大,操作也極容易出錯(cuò),但用戶編寫(xiě)的計(jì)其語(yǔ)言程序可以直接在機(jī)器上執(zhí)行。
20世紀(jì)世50年代開(kāi)始出現(xiàn)了符號(hào)式的程序設(shè)計(jì)語(yǔ)言,即匯編語(yǔ)言。他用符號(hào)ADD.SUB.MUL.DIV等分別表示加減乘除等操作。并用符號(hào)表示指令或數(shù)據(jù)所在存儲(chǔ)單元的地址,使程序員可以不再使用繁雜而又易錯(cuò)的二進(jìn)制代碼來(lái)編寫(xiě)程序,然后才能被計(jì)其接受并自動(dòng)運(yùn)行。這個(gè)翻譯過(guò)程是由機(jī)器系統(tǒng)軟件中的匯編程序完成。
盡管有了虛擬機(jī)使用戶編寫(xiě)更為方便,但是,匯編語(yǔ)言仍是一種面向?qū)嶋H機(jī)器的語(yǔ)言,它的每一條語(yǔ)句都是與機(jī)器 語(yǔ)言的某一條語(yǔ)句(0.1)一一對(duì)應(yīng)。因此,使用匯編語(yǔ)言編寫(xiě)程序時(shí),仍要成需要對(duì)實(shí)際機(jī)器的內(nèi)部組成和指令系統(tǒng)非常熟悉,也就是說(shuō),程序員必須經(jīng)過(guò)專門(mén)的訓(xùn)練,否則是無(wú)法操作計(jì)算機(jī)的。另一方面,由于匯編語(yǔ)言擺脫不了實(shí)際機(jī)器的指令系統(tǒng),因此,匯編語(yǔ)言沒(méi)有通用性,每臺(tái)機(jī)器必須有一種與之相對(duì)應(yīng)的匯編語(yǔ)言,這使得程序員要掌握不同機(jī)器的指令系統(tǒng),不利于計(jì)算機(jī)的廣泛應(yīng)用和發(fā)展。
20世紀(jì)60年代開(kāi)始先后出現(xiàn)各種面向問(wèn)題的高級(jí)語(yǔ)言,如fortran,basic,pascal,c等。這類高級(jí)語(yǔ)言對(duì)問(wèn)題的描述十分接近人的習(xí)慣,并且具有較強(qiáng)的通用性。程序員不必了解掌握實(shí)際機(jī)器的機(jī)型,內(nèi)部的具體組成及指令系統(tǒng),只要掌握高級(jí)語(yǔ)言的語(yǔ)法和語(yǔ)義,便可直接用這種高級(jí)語(yǔ)言來(lái)編寫(xiě),給程序員帶來(lái)了極大的方便。
通常,將高級(jí)語(yǔ)言程序翻譯成機(jī)器語(yǔ)言程序的軟件稱為翻譯程序。翻譯程序有兩種:一種是編譯程序,另一種是解釋程序,編譯程序是將用戶編寫(xiě)的高級(jí)語(yǔ)言程序的全部語(yǔ)句一次全部翻譯成機(jī)器語(yǔ)言程序,而后再執(zhí)行機(jī)器語(yǔ)言程序。因此,之喲啊源程序不變,就無(wú)須再次進(jìn)行翻譯。解釋程序是將源程序的一條語(yǔ)句翻譯成相對(duì)應(yīng)機(jī)器語(yǔ)言的一條語(yǔ)句,并且立即執(zhí)行這條語(yǔ)句,接著翻譯源程序的下一條語(yǔ)句,并執(zhí)行這條語(yǔ)句,如此重復(fù)直至完成源程序的全部翻譯任務(wù)。它的特點(diǎn)是翻譯一次執(zhí)行一次,即使下一次重復(fù)執(zhí)行該語(yǔ)句時(shí),也必須重新翻譯。
-
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7607瀏覽量
89853 -
匯編語(yǔ)言
+關(guān)注
關(guān)注
14文章
410瀏覽量
36379
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論