機器語言
1.什么是機器語言[1]
機器語言是指計算機硬件能夠直接識別的指令的集合,是最早出現(xiàn)的計算機語言。機器語言從屬于硬件設(shè)備。不同的計算機設(shè)備有不同的機器語言.所以機器語言是一種面向機器的語言。
2.機器語言的特點[2]
計算機指令系統(tǒng)中的指令是由“0”和“1”兩種符號組成的代碼,并且能被機器直接理解執(zhí)行,它們被稱為機器指令。一個計算機的機器指令的集,就構(gòu)成了該計算機的機器語言,即計算機可以直接接受、理解的語言。
3.機器語言的優(yōu)點[2]
1、能利用機器指令精準(zhǔn)地描述算法,且編程質(zhì)量高。
2、所占存儲空間小。
3、執(zhí)行速度快。
4.機器語言的缺點[2]
1、難記、難讀、難修改。
用機器語言編寫程序時,要記住每一條“0”和“l(fā)”代碼串所表示的指令及功能,寫出全部用“0”和“1”代碼串組成的程序。這種程序直觀性很差,容易出錯,閱讀檢查和修改調(diào)試非常困難。
2、需要人工分配內(nèi)存。
使用機器語言編寫程序時,需要指明存儲器中哪些單元存放程序,哪些單元存放數(shù)據(jù),對系統(tǒng)不熟悉的用戶很難編寫程序。
3、程序通用性差。
由于不同類型計算機的指令系統(tǒng)不同,機器語言也不同。如果把用mM-Pc機器語言編制的程序直接拿到其他計算機上,就無法運行出需要的結(jié)果。因此,機器語言是一種面向機器的低級語言。
5.機器語言的指令格式[3]
機器語言指令是一種二進制代碼,由操作碼和操作數(shù)兩部分組成。操作碼規(guī)定了指令的操作,是指令中的關(guān)鍵字,不能缺省。操作數(shù)表示該指令的操作對象。
MCS一51系列單片機的指令,按指令長度可分為單字節(jié)指令,雙字節(jié)指令和三字節(jié)指令三種,分別占用1—3個存儲單元。機器指令的格式如圖1-1所示,圖中N表示地址。
圖1-1 不同長度的指令
1、單字節(jié)指令
操作碼本身就隱含了操作數(shù)的信息,不需再加操作數(shù)。
例如,匯編語言指令
其中rrr=000~111,指出選用的工作寄存器Rn(n=0~7)。
2、雙字節(jié)指令
首字節(jié)為操作碼,第二個字節(jié)為操作數(shù)或操作數(shù)地址。
例如,匯編語言指令
其中,第一個字節(jié)表示操作碼以及目的操作數(shù)Rn,第二個字節(jié)表示源操作數(shù)direct。
3、三字節(jié)指令
首字節(jié)為操作碼,后兩個字節(jié)為操作數(shù)或操作數(shù)地址。
例如,匯編語言指令
又如,匯編語言指令