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