1、機器語言
機器語言 是用二進制代碼表示的計算機能直接識別和執(zhí)行的一種
機器 指令的集合,是直接用二進制代碼指令表達的計算機 語言 ;指令是用 0 和 1
組成的一串代碼,它們有一定的位數(shù),并分成若干段,各段的編碼表示不同的含義,例如某臺計算機字長為 16
位,即有16位二進制數(shù)組成一條指令或其它信息。
機器指令就是用二進制代碼組成的指令,一條機器指令控制計算機完成一個基本操作。用機器語言編寫的程序是計算機惟一能夠直接識別并執(zhí)行的程序,而用其他語言編寫的程序必須經(jīng)過翻譯才能變換成機器語言程序。
2、 匯編語言
所謂匯編語言,其實質(zhì)就是機器語言的一個高級的形式,是一種用符號書寫的、基本操作與機器指令相對應的、并遵循一定語法規(guī)則的計算機語言,比機器語言容易理解和掌握,也容易調(diào)試和維護,但對于匯編語言編寫的程序必須經(jīng)過匯編和連接之后,才能在計算機上執(zhí)行。
用匯編語言編寫的程序稱為匯編源程序??刹捎梦C中任何一個文本編輯器編寫匯編語言源程序。匯編程序可將匯編語言源程序翻譯成機器代碼目標模塊。 80x86cpu
的匯編程序主要有微軟的宏匯編程序 masm ,較著名的還有 borland 公司的 tasm
,無實質(zhì)差別。
連接程序?qū)R編后的目標模塊轉(zhuǎn)換為可執(zhí)行程序。連接程序的文件名通常是: link.exe 。
3、高級語言
由于 匯編語言
依賴于 硬件
體系,且助記符量大難記,于是人們又發(fā)明了更加易用的所謂高級語言。在這種語言下,其語法和結(jié)構(gòu)更類似普通 英文
,且由于遠離對硬件的直接操作,使得一般人經(jīng)過學習之后都可以編程。高級語言通常按其基本類型、代系、實現(xiàn)方式、應用范圍等分類。
高級程序設計語言接近于人類自然語言的語法習慣,與計算機硬件無關(guān),易被用戶掌握和使用。
4、匯編語言特點
① 匯編語言是一種完全面向硬件的語言,這同 basic , c
之類的高級語言截然不同。多數(shù)高級語言都是面向問題的,例如:如果需要在屏幕上顯示一串文字時,我們可以直接應用 basic 語言中的 print 語句,或用 c
語言中的 printf 函數(shù),這個問題就迎刃而解了。而使用匯編語言編程,解決這個問題的最終操作是 將這些文字的 ascii 碼寫入顯示緩沖存儲器中
。可見,匯編語言將這個問題轉(zhuǎn)化成了對硬件(顯示緩沖存儲器)的操作(寫入)。這是匯編語言的一個極其突出的特點,也是匯編語言同高級語言的最顯著的差別;
② 同高級語言相比,匯編語言編寫的程序結(jié)構(gòu)十分緊湊,運行速度很快。匯編語言同機器指令直接對應,編譯速度快,同時, cpu 理解 其 母語
的速度遠高于 翻譯
高級語言的速度。因此,匯編語言是所有程序設計語言中運行效率最高的。這是匯編語言的一個最為突出的優(yōu)點。當需要編寫高速運行的軟件時,例如編寫圖像處理程序,就往往使用匯編語言編寫軟件中的關(guān)鍵部分;
③
用匯編語言編制程序十分費時,而且程序的質(zhì)量直接受到程序員技術(shù)水平的影響,程序的可讀性也很差。就像前面所舉的輸出文字的例子,用高級語言編程只需寫一條語句,簡單明了,極其直觀。而用匯編語言編程則需寫出一系列指令,這些指令都是些對硬件的操作,同
文字輸出 這個問題沒有明顯的直接聯(lián)系,因此程序的可讀性很差。
④
由于匯編語言是面向硬件的,所以用匯編語言編制的程序可移植性很差。顯而易見,不同的 cpu 都有相互獨立的指令系統(tǒng),相互間無任何關(guān)系,就算是使用同一系列 cpu
的機器,因其外圍硬件可能有差別,這也會使相同的程序在不同的機器上無法通用。
匯編語言程序與處理器指令系統(tǒng)密切相關(guān)。
程序員可直接、有效地控制系統(tǒng)硬件。
形成的可執(zhí)行文件運行速度快、占用主存容量少。