登錄

機(jī)器語(yǔ)言

百科 > 信息技術(shù) > 機(jī)器語(yǔ)言

1.什么是機(jī)器語(yǔ)言[1]

  機(jī)器語(yǔ)言是指計(jì)算機(jī)硬件能夠直接識(shí)別的指令的集合,是最早出現(xiàn)的計(jì)算機(jī)語(yǔ)言。機(jī)器語(yǔ)言從屬于硬件設(shè)備。不同的計(jì)算機(jī)設(shè)備有不同的機(jī)器語(yǔ)言.所以機(jī)器語(yǔ)言是一種面向機(jī)器的語(yǔ)言。

2.機(jī)器語(yǔ)言的特點(diǎn)[2]

  計(jì)算機(jī)指令系統(tǒng)中的指令是由“0”和“1”兩種符號(hào)組成的代碼,并且能被機(jī)器直接理解執(zhí)行,它們被稱為機(jī)器指令。一個(gè)計(jì)算機(jī)的機(jī)器指令的集,就構(gòu)成了該計(jì)算機(jī)的機(jī)器語(yǔ)言,即計(jì)算機(jī)可以直接接受、理解的語(yǔ)言。

3.機(jī)器語(yǔ)言的優(yōu)點(diǎn)[2]

  1、能利用機(jī)器指令精準(zhǔn)地描述算法,且編程質(zhì)量高。

  2、所占存儲(chǔ)空間小。

  3、執(zhí)行速度快。

4.機(jī)器語(yǔ)言的缺點(diǎn)[2]

  1、難記、難讀、難修改。

  用機(jī)器語(yǔ)言編寫程序時(shí),要記住每一條“0”和“l(fā)”代碼串所表示的指令及功能,寫出全部用“0”和“1”代碼串組成的程序。這種程序直觀性很差,容易出錯(cuò),閱讀檢查和修改調(diào)試非常困難。

  2、需要人工分配內(nèi)存。

  使用機(jī)器語(yǔ)言編寫程序時(shí),需要指明存儲(chǔ)器中哪些單元存放程序,哪些單元存放數(shù)據(jù),對(duì)系統(tǒng)不熟悉的用戶很難編寫程序。

  3、程序通用性差。

  由于不同類型計(jì)算機(jī)的指令系統(tǒng)不同,機(jī)器語(yǔ)言也不同。如果把用mM-Pc機(jī)器語(yǔ)言編制的程序直接拿到其他計(jì)算機(jī)上,就無(wú)法運(yùn)行出需要的結(jié)果。因此,機(jī)器語(yǔ)言是一種面向機(jī)器的低級(jí)語(yǔ)言。

5.機(jī)器語(yǔ)言的指令格式[3]

  機(jī)器語(yǔ)言指令是一種二進(jìn)制代碼,由操作碼和操作數(shù)兩部分組成。操作碼規(guī)定了指令的操作,是指令中的關(guān)鍵字,不能缺省。操作數(shù)表示該指令的操作對(duì)象。

  MCS一51系列單片機(jī)的指令,按指令長(zhǎng)度可分為單字節(jié)指令,雙字節(jié)指令和三字節(jié)指令三種,分別占用1—3個(gè)存儲(chǔ)單元。機(jī)器指令的格式如圖1-1所示,圖中N表示地址。

Image:不同長(zhǎng)度的指令.jpg

圖1-1 不同長(zhǎng)度的指令

       1、單字節(jié)指令

  操作碼本身就隱含了操作數(shù)的信息,不需再加操作數(shù)。

  例如,匯編語(yǔ)言指令

Image:單字節(jié)指令.jpg

  指令的機(jī)器碼為:Image:單字節(jié)指令機(jī)器碼.jpg

  其中rrr=000~111,指出選用的工作寄存器Rn(n=0~7)。

  2、雙字節(jié)指令

  首字節(jié)為操作碼,第二個(gè)字節(jié)為操作數(shù)或操作數(shù)地址。

  例如,匯編語(yǔ)言指令

Image:雙字節(jié)指令.jpg

  指令的機(jī)器碼為:Image:雙字節(jié)指令機(jī)器碼.jpg

  其中,第一個(gè)字節(jié)表示操作碼以及目的操作數(shù)Rn,第二個(gè)字節(jié)表示源操作數(shù)direct。

  3、三字節(jié)指令

  首字節(jié)為操作碼,后兩個(gè)字節(jié)為操作數(shù)或操作數(shù)地址。

  例如,匯編語(yǔ)言指令

Image:三字節(jié)指令1.jpg

  指令的機(jī)器碼為:Image:三字節(jié)指令機(jī)器碼.jpg

  又如,匯編語(yǔ)言指令

Image:三字節(jié)指令2.jpg

  指令的機(jī)器碼為:Image:三字節(jié)指令機(jī)器碼.jpg

評(píng)論  |   0條評(píng)論