由于計算機只能識別二進(jìn)制數(shù),所以計算機的指令均由二進(jìn)制代碼組成。為了閱讀和書寫的方便,常把它寫成十六進(jìn)制形式,通常稱這樣的指令為機器指令?,F(xiàn)在一般的計算機都有幾十甚至幾百種指令。顯然即便用十六進(jìn)制去書寫和記憶也是不容易的,為了便于記憶和使用的方便,制造廠家對指令系統(tǒng)的每一條指令都給出了助記符。助記符是根據(jù)機器指令不同的功能和操作對象來描述指令的符號。由于助記符是用英文縮寫來描述指令的特征,因此它不但便于記憶,也便于理解和分類。這種用助記符形式來表示的機器指令稱為匯編語言指令。
匯編語言有如下特點:
① 助記符指令和機器指令一一對應(yīng),所以用匯編語言編寫的程序效率高,占用存儲空間小,運行速度快,因此匯編語言能編寫出最優(yōu)化的程序。
② 使用匯編語言編程比使用高級語言困難。因為匯編語言是面向計算機的,匯編語言的程序設(shè)計人員必須對計算機硬件有相當(dāng)深入的了解。
③ 匯編語言能直接訪問存儲器及接口電路,也能處理中斷,因此匯編語言程序能直接管理和控制硬件設(shè)備。
④ 匯編語言缺乏通用性,程序不易移植,各種計算機都有自己的匯編語言,不同計算機的匯編語言之間不能通用。
匯編指令的格式
MCS-51匯編語言的語句格式表示如下:
〔<標(biāo)號>〕:<操作碼>〔<操作數(shù)>〕;〔<注釋>〕
即一條匯編語句是由標(biāo)號、操作碼、操作數(shù)和注釋四個部分所組成,其中方括號括起來的是可選擇部分,可有可無,視需要而定。
指令通常兩部份組成:操作碼、操作數(shù)
操作碼:是由助記符表示的字符串,操作碼其實就是告訴我們這條指令是起什么樣的一個功能,是加?減?傳送?還是控制?等等。
操作數(shù):是指參加操作的數(shù)據(jù)或者是數(shù)據(jù)地址。
注釋:為了便于我們閱讀程序,通常我們在指令的后面都會加上注釋。
標(biāo)號:用來表示子程序名稱或程序執(zhí)行條件跳轉(zhuǎn)時的程序跳轉(zhuǎn)地址,實際上是表示一個地址值。
在80C51指令系統(tǒng)中,操作數(shù)可以是1、2、3個,也可以沒有。不同功能的指令,操作數(shù)作用也不同。例如,傳送類指令多數(shù)有兩個操作數(shù),寫在左面的稱為目的操作數(shù)(表示操作結(jié)果存放的單元地址),寫在右面的稱為源操作數(shù)(指出操作數(shù)的來源)。
操作碼與操作數(shù)之間必須用空格分開,操作數(shù)與操作數(shù)之間必須用逗號“,”分開。帶方括號的項可有可無,稱為可選項。由指令格式可見,操作碼是指令的核心,不可缺少。
例如一條傳送指令的書寫格式如為:MOV A,3AH;(3AH)A
它表示將3AH存儲單元的內(nèi)容送到累加器A中。