2022年單片機(jī)指令系統(tǒng)_第1頁
2022年單片機(jī)指令系統(tǒng)_第2頁
2022年單片機(jī)指令系統(tǒng)_第3頁
2022年單片機(jī)指令系統(tǒng)_第4頁
2022年單片機(jī)指令系統(tǒng)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

福州大學(xué)物理與信息工程學(xué)院?jiǎn)纹瑱C(jī)原理及應(yīng)用10/8/20251第三章 指令系統(tǒng)

指令格式與分類

尋址方式

指令系統(tǒng)3.4程序設(shè)計(jì)10/8/20252第三章 指令系統(tǒng)

指令格式與分類單片機(jī)原理與應(yīng)用10/8/20253關(guān)于計(jì)算機(jī)指令指令是指計(jì)算機(jī)能夠識(shí)別和執(zhí)行的操作命令指令系統(tǒng)是一臺(tái)計(jì)算機(jī)所具有的全部指令的集合每一種CPU都有其獨(dú)立的指令系統(tǒng)指令系統(tǒng)很大程度上決定了計(jì)算機(jī)處理問題的能力和使用的快捷單片機(jī)原理與應(yīng)用10/8/20254一、助記符:(指令助記符)由助記符組成的指令系統(tǒng)稱為匯編語言1000H74H1001H12H1002HE8H1003H75H1004H40H1005H36H地址內(nèi)容A←12H(40H)←36HR0←R0+1

例:當(dāng)前PC=1000HPC增至1006H時(shí),CPU作了3個(gè)處理,即執(zhí)行了3條指令。單片機(jī)原理與應(yīng)用10/8/20255數(shù)據(jù)傳送類指令29條算術(shù)運(yùn)算類指令24條邏輯運(yùn)算類指令24條控制轉(zhuǎn)移類指令17條位操作類指令17條助記符與二進(jìn)制碼(機(jī)器碼)有對(duì)照表共42個(gè)助記符,組成111條指令,形成33種功能單片機(jī)原理與應(yīng)用10/8/20256二、指令格式

操作碼操作數(shù)操作碼表示該指令的操作功能,即指令做什么操作(又被稱作操作符、功能助記符)操作數(shù)是指指令操作所需要的數(shù)或數(shù)存放的地址,即對(duì)什么數(shù)進(jìn)行操作單片機(jī)原理與應(yīng)用10/8/20257常用符號(hào)說明

Rn

:當(dāng)前被選中的工作寄存器,

R0~R7,共8個(gè)

Ri

:當(dāng)前選定的工作寄存器中能作為間接尋址的兩個(gè)寄存器R0或R1,i=0,1

#data

:8位二進(jìn)制立即數(shù)

#data16

:16位二進(jìn)制立即數(shù)單片機(jī)原理與應(yīng)用10/8/20259常用符號(hào)說明

direct

:8位片內(nèi)RAM的地址(或SFR),

為字節(jié)地址

rel

:帶符號(hào)的8位相對(duì)地址偏移量(-128~127)

addr11:11位二進(jìn)制數(shù)的目的地址

addr16:16位二進(jìn)制數(shù)的目的地址

bit

:片內(nèi)RAM或SFR中的位地址單片機(jī)原理與應(yīng)用10/8/202510常用符號(hào)說明

@

:間址寄存器前綴符號(hào)

/

:位操作數(shù)的前綴,表示對(duì)該位取反

(x)

:表示寄存器或存儲(chǔ)單元x(地址)中的內(nèi)容

((x))

:表示以寄存器或存儲(chǔ)單元x內(nèi)容作為地址的存儲(chǔ)單元的內(nèi)容(即表示x不是我們要的數(shù)據(jù),而是我們所要數(shù)據(jù)的地址)內(nèi):數(shù)據(jù)傳送方向(左邊的內(nèi)容被右邊的內(nèi)容代替)單片機(jī)原理與應(yīng)用10/8/202511第三章 指令系統(tǒng)

尋址方式單片機(jī)原理與應(yīng)用10/8/202512尋址方式就是如何尋找操作數(shù)或操作數(shù)存放的地址。指令的一個(gè)重要組成部分是操作數(shù)。由尋址方式指定參與運(yùn)算的操作數(shù)或操作數(shù)所在單元的地址。尋址方式越多,計(jì)算機(jī)尋址能力越強(qiáng),但指令系統(tǒng)也越復(fù)雜。單片機(jī)原理與應(yīng)用10/8/202513MCS-51系統(tǒng)七種尋址方式立即尋址方式直接尋址方式寄存器尋址方式寄存器間接尋址方式基址加變址的間接尋址方式相對(duì)尋址方式位尋址方式單片機(jī)原理與應(yīng)用10/8/202514一、立即尋址

操作數(shù)直接出現(xiàn)在指令碼中,即指令的操作碼后面的就是實(shí)際的操作數(shù)(立即數(shù))。

操作數(shù)可能是1字節(jié),也可能是2字節(jié)。

用#data或#data16表示立即數(shù)單片機(jī)原理與應(yīng)用10/8/202515例:MOVDPTR,#2101H;(DPH)←21H,(DPL)←01H

MOVA,#20H;(A)←20H單片機(jī)原理與應(yīng)用10/8/202516單片機(jī)原理與應(yīng)用10/8/202517立即尋址方式只能適用于源操作數(shù)。

注意單片機(jī)原理與應(yīng)用10/8/202518二、直接尋址指令中直接出現(xiàn)存放操作數(shù)的單元地址。單片機(jī)原理與應(yīng)用10/8/202519例:ANL

70H,#48H;(70H)←(70H)∧48HMOV

A,70H;(A)←(70H)

單片機(jī)原理與應(yīng)用10/8/202520單片機(jī)原理與應(yīng)用10/8/202521

這種尋址方式使用的變量是direct,可訪問片內(nèi)RAM。特殊功能寄存器只能使用直接尋址方式。

PUSHB;PUSHF0H

POPACC;POPE0HMOV

TMOD,A;(89H)←(A)注:A(寄存器)≠ACC(代表A的地址)單片機(jī)原理與應(yīng)用10/8/202522三、寄存器尋址

指令中出現(xiàn)寄存器的名稱,操作數(shù)是寄存器的內(nèi)容。

單片機(jī)原理與應(yīng)用10/8/202523例:MOVA,R6

;(A)←(R6)

INC

R3

;(R3)←(R3)+1

MOVA,B

;(A)←(B)

MOVDPTR,#1000H

單片機(jī)原理與應(yīng)用10/8/202524

這種尋址方式適用于A、DPTR、Rn(其狀態(tài)由PSW中的RS1和RS0確定)單片機(jī)原理與應(yīng)用10/8/202525例:MOV

A,@R0;(A)←((R0))

如果(R0)=20H,(20H)=55H則(A)=55HMOVX

A,@DPTR如果DPTR=3456H,片外RAM(3456H)=99H則(A)=99H單片機(jī)原理與應(yīng)用10/8/202527寄存器間接尋址適用的存儲(chǔ)空間有:

1.內(nèi)部RAM,使用的變量為@R0、@R1、@SP;例:

MOV@R0,76H

;

((R0))←(76H)

PUSH

PSW;

(SP)←(SP)+1,((SP))←(PSW)@SP通常隱含其中單片機(jī)原理與應(yīng)用10/8/202528五、基址加變址的間接尋址(變址尋址)以基址寄存器的內(nèi)容加上變址寄存器的內(nèi)容作為操作數(shù)的地址。

基址寄存器:PC(16位)、DPTR(16位)變址寄存器:A

以程序計(jì)數(shù)器PC或數(shù)據(jù)指針DPTR中的內(nèi)容為基地址,加上累加器A中的內(nèi)容作為操作數(shù)的地址。這種尋址方式僅適用于程序存儲(chǔ)器空間ROM

單片機(jī)原理與應(yīng)用10/8/202530例:MOVCA,@A+DPTR;(A)←((A)+(DPTR))如果DPTR=63A0H,(A)=22H則63A0H+22H=63C2H如果片外ROM中(63C2H)=38H則(A)=38H單片機(jī)原理與應(yīng)用10/8/202531MOVCA,@A+PC;(A)←((A)+(PC))注意:PC為當(dāng)前值(開始執(zhí)行本條指令時(shí)候PC已經(jīng)+1)單片機(jī)原理與應(yīng)用10/8/202532六、相對(duì)尋址作用:確定控制轉(zhuǎn)移類指令的轉(zhuǎn)移地址。適用空間:相對(duì)尋址方式只能適用于程序存儲(chǔ)器ROM空間。單片機(jī)原理與應(yīng)用10/8/202533內(nèi)部操作:

以PC內(nèi)容作為基地址,把指令中提供的偏移量與PC的當(dāng)前值相加,得到參與操作的數(shù)據(jù)地址(即指定的轉(zhuǎn)移的目標(biāo)地址:新的PC值,用于改變程序當(dāng)前的執(zhí)行順序,PC值不再順序加1)。偏移量rel是單字節(jié)帶符號(hào)數(shù)。

單片機(jī)原理與應(yīng)用10/8/202534與變址尋址的區(qū)別變址尋址中的內(nèi)容是無符號(hào)的數(shù)。相對(duì)尋址中偏移量是有符號(hào)的數(shù),以補(bǔ)碼形式給出的。取值范圍是80H~7FH即(-128~+127)。故轉(zhuǎn)移的目標(biāo)地址在當(dāng)前PC值的-128~+127之間。單片機(jī)原理與應(yīng)用10/8/202535注:CPU取指令后,PC會(huì)自動(dòng)增加,具體的增加量與當(dāng)前指令的長度(字節(jié)數(shù))有關(guān)。若當(dāng)前指令為2字節(jié),PC值會(huì)+2。若當(dāng)前指令為3字節(jié),則PC值會(huì)+3。單片機(jī)原理與應(yīng)用10/8/202536例:SJMP38H

;程序跳轉(zhuǎn)指令,2字節(jié)如果當(dāng)前指令的地址PC=1832H,則PC的當(dāng)前值為

PC=1832H+2=1834H則執(zhí)行此指令后

PC=1834+38H=186CH單片機(jī)原理與應(yīng)用10/8/202537例:

JC

80H

;該指令為2字節(jié)指令C=0,順序執(zhí)行

,即(PC)←(PC)+2

C=1,轉(zhuǎn)移,(PC)

(PC)+2,(PC)

(PC)+80H注意:80H表示向前跳(-128)如果C=1,此指令的地址為1005H則PC=PC+2-80H=1007H-128=0F87H單片機(jī)原理與應(yīng)用10/8/202538七、位尋址操作對(duì)象是存儲(chǔ)單元的一位,而不是一個(gè)字節(jié)。指令中直接給出位地址。這種尋址方式也可以歸并于直接尋址方式,但它提供的是直接的位地址。

SFR中有11個(gè)寄存器可以位尋址,但實(shí)際上只有82個(gè)可以位尋址的位。所以共有128+82=210個(gè)位可尋址單片機(jī)原理與應(yīng)用10/8/202539

MOVC,bitbit-位地址,有四種表示方法:(以PSW中D5位為例)1、直接地址法:MOVC,0D5H2、點(diǎn)操作符法:MOVC,3、位名稱法:MOVC,F(xiàn)04、點(diǎn)字節(jié)地址法:MOVC,單片機(jī)原理與應(yīng)用10/8/202540變址尋址中的內(nèi)容是無符號(hào)的數(shù)。CPU取指令后,PC會(huì)自動(dòng)增加,具體的增加量與當(dāng)前指令的長度(字節(jié)數(shù))有關(guān)。MOVCA,@A+DPTR;((SP))←(PSW)PC=1832H+2=1834H位操作類指令17條:數(shù)據(jù)傳送方向(左邊的內(nèi)容被右邊的內(nèi)SJMP38H;SJMP38H;如果DPTR=63A0H,(A)=22H位尋址方式只能適用于位地址空間,#data16:16位二進(jìn)制立即數(shù)SJM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論