機器語言
出自 MBA智库百科(https://wiki.mbalib.com/)
機器語言(Machine Language)
目錄 |
什麼是機器語言[1]
機器語言是指電腦硬體能夠直接識別的指令的集合,是最早出現的電腦語言。機器語言從屬於硬體設備。不同的電腦設備有不同的機器語言.所以機器語言是一種面向機器的語言。
機器語言的特點[2]
電腦指令系統中的指令是由“0”和“1”兩種符號組成的代碼,並且能被機器直接理解執行,它們被稱為機器指令。一個電腦的機器指令的集,就構成了該電腦的機器語言,即電腦可以直接接受、理解的語言。
機器語言的優點[2]
1、能利用機器指令精準地描述演算法,且編程質量高。
2、所占存儲空間小。
3、執行速度快。
機器語言的缺點[2]
1、難記、難讀、難修改。
用機器語言編寫程式時,要記住每一條“0”和“l”代碼串所表示的指令及功能,寫出全部用“0”和“1”代碼串組成的程式。這種程式直觀性很差,容易出錯,閱讀檢查和修改調試非常困難。
2、需要人工分配記憶體。
使用機器語言編寫程式時,需要指明存儲器中哪些單元存放程式,哪些單元存放數據,對系統不熟悉的用戶很難編寫程式。
3、程式通用性差。
由於不同類型電腦的指令系統不同,機器語言也不同。如果把用mM-Pc機器語言編製的程式直接拿到其他電腦上,就無法運行出需要的結果。因此,機器語言是一種面向機器的低級語言。
機器語言的指令格式[3]
機器語言指令是一種二進位代碼,由操作碼和操作數兩部分組成。操作碼規定了指令的操作,是指令中的關鍵字,不能預設。操作數表示該指令的操作對象。
MCS一51系列單片機的指令,按指令長度可分為單位元組指令,雙位元組指令和三位元組指令三種,分別占用1—3個存儲單元。機器指令的格式如圖1-1所示,圖中N表示地址。
圖1-1 不同長度的指令
1、單位元組指令
例如,彙編語言指令
其中rrr=000~111,指出選用的工作寄存器Rn(n=0~7)。
2、雙位元組指令
首位元組為操作碼,第二個位元組為操作數或操作數地址。
例如,彙編語言指令
其中,第一個位元組表示操作碼以及目的操作數Rn,第二個位元組表示源操作數direct。
3、三位元組指令
首位元組為操作碼,後兩個位元組為操作數或操作數地址。
例如,彙編語言指令
又如,彙編語言指令