機器語言、彙編語言,計算機才能聽懂的語言

1.機器語言

機器語言是最早的計算機語言,也是計算機唯一可以識別和接受的語言。談到機器語言,我們就不得不再一次談到“指令”。

機器語言、彙編語言,計算機才能聽懂的語言

同軍艦上的旗語一樣,人們在設計某一類型計算機的同時也為它設計了一套“旗語”——“指令系統”。指令系統就是一臺計算機所能執行的全部指令。在指令系統中,人們事先規定好了某一個二進制代碼代表的是哪一種操作。例如在16位機上,人們規定:用1011011000000000作為一條加法指令,計算機在接收到此指令後就執行一次加法,用1011010100000000作為減法指令,命令計算機去執行一次減法等等。16個“0”和“1”的排列組合可以形成65 536條指令,這些指令通過一定的邏輯電路轉換為不同的電信號,就可以“指揮”計算機執行各種不同的操作了。這種由“0”和“1”組成的指令,就叫做“機器指令”。一種計算機系統的全部機器指令的集合就稱為該計算機的“機器語言”。

機器語言、彙編語言,計算機才能聽懂的語言

2.彙編語言(Assembler Language)

試著記住下面這些字符串:“ADD 1,2”、“SUB 1,2”、“1011011000000000”、“1011010100000000”,你先記住了誰?顯然是前面兩個。它們就是彙編語言的加法和減法語句。由於以二進制編碼產生的機器語言既難懂又難記,人們為了便於閱讀記憶,就將原來的機器代碼以英文字符串的形式來表示,這就是彙編語言。例如用匯編語言“ADD 1,2”中的“ADD”代表機器語言“1011011000000000”,表示要求計算機做一次加法;用匯編語言“SUB 1,2”中的“SUB”代表機器語言“1011010100000000”,表示要求計算機做一次減法等等。比起那兩串長長的二進制代碼,“ADD”和“SUB”是不是簡單好記得多?

彙編語言的出現大大方便了程序員的程序編寫和記憶,使計算機語言的發展向前邁進了一大步。但實際上,彙編語言仍然是一種低級語言,仍然是面向機器硬件的程序設計語言。不過也正因為如此,彙編語言今天仍被廣泛用於編寫面向機器硬件的實時控制程序和系統程序。例如機器自檢、系統初始化、實際的輸入和輸出設備的操作等等。

機器語言、彙編語言,計算機才能聽懂的語言

看到這裡我要提個問題了:你認為機器語言和彙編語言只有一種嗎?回答是“NO”。由於機器語言和彙編語言都是面向計算機硬件的低級語言,所以不同的硬件生產廠商都會有自己的機器語言和彙編語言——“方言”。不同機器之間的“方言”是互不相通的。其次我要說明的是:用匯編語言編寫的程序計算機是無法直接識別的。必須將彙編語言源程序編譯成相應的機器語言目標程序,計算機才能識別。


分享到:


相關文章: