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