單片機(jī)指令系統(tǒng)
指令是根據(jù)計(jì)算機(jī)硬件特點(diǎn)研制出來(lái)的,指令系統(tǒng)與計(jì)算機(jī)硬件有著相對(duì)應(yīng)的關(guān)系,用指令對(duì)計(jì)算機(jī)進(jìn)行控制能夠充分利用計(jì)算機(jī)的硬件資源。計(jì)算機(jī)所能執(zhí)行的全部指令集合就稱為計(jì)算機(jī)的指令系統(tǒng)。
機(jī)器語(yǔ)言指令用二進(jìn)制碼表示,是CPU唯一能直接識(shí)別和執(zhí)行的指令,但是不便于人們理解。為便于人們使用而采用匯編語(yǔ)言來(lái)編寫程序。匯編語(yǔ)言的指令主要由助記符、符號(hào)和數(shù)字等來(lái)表示,它通過(guò)匯編程序?qū)⑵浞g成機(jī)器指令代碼(目標(biāo)代碼)來(lái)控制CPU完成相應(yīng)的功能。
一、單片機(jī)指令系統(tǒng)匯編語(yǔ)言指令語(yǔ)句格式如下:
標(biāo)號(hào):操作碼 【操作數(shù)1】,【操作數(shù)2】 ; 注釋
標(biāo)號(hào):標(biāo)號(hào)為用戶定義的符號(hào),實(shí)際意義代表當(dāng)前語(yǔ)句在程序存儲(chǔ)器中的存放地址。標(biāo)號(hào)可以缺省,以字母開始,后跟1-8個(gè)英文字母或數(shù)字,并以冒號(hào)結(jié)尾。
操作碼:也稱指令助記符,是指令名稱的代表符號(hào),匯編語(yǔ)言中由英文單詞縮寫而成,反映指令的功能。它是指令語(yǔ)句中的關(guān)鍵字,不可缺省,表示指令的操作類型,必要時(shí)可以在前面加上一個(gè)或多過(guò)“前綴”,從而實(shí)現(xiàn)某些附加操作。
操作數(shù):參加本指令運(yùn)算的數(shù)據(jù)或數(shù)據(jù)存放的地址。一條指令可以沒(méi)有操作數(shù),也可以有多個(gè)操作數(shù)。
注釋:注釋可以缺省,注釋必須用分號(hào)(;)開頭。
二、單片機(jī)指令格式本章后面章節(jié)部分用到了一些一些特殊符號(hào),它們的意義如表1所示。
表1 特殊符號(hào)意義表
操作數(shù)字段可以只有一個(gè)、兩個(gè)或多個(gè),分別對(duì)應(yīng)于單字節(jié)、雙字節(jié)或三字節(jié)指令。
1.單字節(jié)指令
單字節(jié)指令只有一個(gè)字節(jié),由8位二進(jìn)制編碼表示。操作碼和操作數(shù)在一個(gè)字節(jié)中。
例如:MOV A, Ri ; Ri)→(A)把寄存器Ri中的內(nèi)容送到累加器A中去。
2.雙字節(jié)指令
雙字節(jié)的編碼由兩個(gè)字節(jié)組成,其中一個(gè)字節(jié)為操作碼,另一個(gè)字節(jié)為操作數(shù)。該指令存放在存儲(chǔ)器時(shí)需占用兩個(gè)存儲(chǔ)器單元。
例如:MOV A, #data ; data → (A)把立即數(shù)data送到累加器A中。
在MCS-51匯編語(yǔ)言指令中,立即數(shù)前面必須有符號(hào)“#”。
3.三字節(jié)指令
三字節(jié)指令格式中第一個(gè)字節(jié)為操作碼,其后兩個(gè)字節(jié)為操作數(shù)。操作數(shù)可以是數(shù)據(jù),
也可以是地址。
例如:MOV direct, #data ; data → (direct) 把立即數(shù)data送到內(nèi)存單元或者特殊功能寄存器中
編輯:admin 最后修改時(shí)間:2018-05-08