《c指令系統(tǒng)》ppt課件

《c指令系統(tǒng)》ppt課件

ID:27546905

大?。?.28 MB

頁數(shù):135頁

時間:2018-12-04

《c指令系統(tǒng)》ppt課件_第1頁
《c指令系統(tǒng)》ppt課件_第2頁
《c指令系統(tǒng)》ppt課件_第3頁
《c指令系統(tǒng)》ppt課件_第4頁
《c指令系統(tǒng)》ppt課件_第5頁
資源描述:

《《c指令系統(tǒng)》ppt課件》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第三章 80C51單片微機(jī)的指令系統(tǒng)3.180C51指令系統(tǒng)概述80C51指令系統(tǒng)專用于80C51系列單片微機(jī),是一個具有255種操作碼(00H至FFH,除A5H外)的集合。用匯編語言表達(dá)操作代碼時,只要熟記42種助記符。42種助記符代表了33種功能,因?yàn)橛械墓δ苋鐢?shù)據(jù)傳送,可以有幾種助記符,如MOV、MOVC、MOVX。而指令功能助記符與操作數(shù)各種尋址方式的結(jié)合,共構(gòu)造出111種指令,同一種指令所對應(yīng)的操作碼可以多至八種(如指令中Rn對應(yīng)寄存器R0-R7)。尋址方式就是在指令中給出的尋找操作數(shù)或操作數(shù)所在地址的方法。執(zhí)行任何一條指令都需要使用操作數(shù)。80C5l系列單片微機(jī)

2、指令系統(tǒng)中共有以下7種尋址方式。⒈立即尋址立即尋址是指在指令中直接給出操作數(shù),出現(xiàn)在指令中的操作數(shù)稱為立即數(shù),因此就將這種尋址方式稱為立即尋址。為了與直接尋址指令中的直接地址相區(qū)別,在立即數(shù)前面必需加上前綴“?!?。例如:指令MOVDPTR,#1234H其中1234H就是立即數(shù),指令功能是把16位立即數(shù)1234H送入數(shù)據(jù)指針DPTR中,如圖3–1所示。3.1.1尋址方式2.直接尋址直接尋址是指在指令中直接給出操作數(shù)單元的地址。例如:指令MOVA,3AH其功能是把片內(nèi)RAM中3AH單元內(nèi)的數(shù)據(jù)傳送給累加器A,如圖3–2所示。直接尋址方式只能給出8位地址,因此這種尋址方式的尋址范圍

3、只限于片內(nèi)RAM。具體地說:⑴低128單元,在指令中直接以單元地址形式給出。⑵特殊功能寄存器,這時除可以單元地址形式給出外,還可以寄存器符號形式給出。雖然特殊功能寄存器可以使用符號標(biāo)志,但在指令代碼中還是按地址進(jìn)行編碼的。應(yīng)當(dāng)說明的是,直接尋址是訪問特殊功能寄存器的唯一方法。3.寄存器尋址寄存器尋址是指在指令中將指定寄存器的內(nèi)容作為操作數(shù)。因此指定了寄存器就能得到操作數(shù)。寄存器尋址方式中,用符號名稱來表示寄存器。例如:指令I(lǐng)NCR0其功能是把寄存器R0的內(nèi)容加1,再送回R0中。由于操作數(shù)在R0中,指定了R0,也就得到了操作數(shù),如圖3–3所示。寄存器尋址方式的尋址范圍包括:(1

4、)四個寄存器組共32個通用寄存器。但在指令中只能使用當(dāng)前寄存器組。因此在使用前要通過指定PSW中的RS1、RS0,以選擇使用的當(dāng)前寄存器組。(2)部分特殊功能寄存器。例如累加器A、AB寄存器對以及數(shù)據(jù)指針DPTR。4.寄存器間接尋址寄存器間接尋址是指在指令中給出的寄存器內(nèi)容是操作數(shù)的地址,從該地址中取出的才是操作數(shù)。寄存器間接尋址也需以寄存器符號名稱的形式表示。為了區(qū)別寄存器尋址和寄存器間接尋址,在寄存器間接尋址中,應(yīng)在寄存器的名稱前面加前綴“@”。假定R1寄存器的內(nèi)容是60H,則指令A(yù)NLA,R1的功能是以R1寄存器的內(nèi)容60H為地址將60H地址單元的內(nèi)容與累加器A中的數(shù)相

5、“與”,其結(jié)果仍存放在A中、其功能示意請參見圖3–4。寄存器間接尋址的尋址范圍:⑴片內(nèi)RAM的低128單元,只能采用R0或R1為間址寄存器,其形式為@Ri(i=0,1)。⑵片外RAM的64KB單元,使用DPTR作為間址寄存器,其形式為@DPTR,例如MOVXA,@DPTR,其功能是把DPTR指定的片外RAM單元的內(nèi)容送累加器A。⑶片外RAM低256單元,除了可使用DPTR作為間址寄存器外,也可使用R0或R1作間址寄存器。例如:MOVXA,@R0.即把R0指定的片外RAM單元的內(nèi)容送累加器A。⑷堆棧區(qū):堆棧操作指令(PUSH和POP)也應(yīng)算作是寄存器間接尋址,即以堆棧指針(SP

6、)作間址寄存器的間接尋址方式。⒌相對尋址相對尋址是指在指令中給出的操作數(shù)為程序轉(zhuǎn)移的偏移量。在相對轉(zhuǎn)移指令中,給出地址偏移量(在80C51系列單片微機(jī)的指令系統(tǒng)中,以“rel”表示),把PC的當(dāng)前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址。轉(zhuǎn)移的目的地址可用如下公式表示:目的地址=轉(zhuǎn)移指令所在地址+轉(zhuǎn)移指令字節(jié)數(shù)+rel在8051系列單片微機(jī)的指令系統(tǒng)中,有許多條相對轉(zhuǎn)移指令,這些指令多數(shù)均為兩字節(jié)指令.只有個別的是三字節(jié)的指令。偏移量rel是一個帶符號的8位二進(jìn)制補(bǔ)碼數(shù),所能表示的數(shù)的范圍是一128~+127。因此以相對轉(zhuǎn)移指令的所在地址為基點(diǎn),向前最大可轉(zhuǎn)移(127十轉(zhuǎn)移指令

7、字節(jié)數(shù))個單元地址,向后最大可轉(zhuǎn)移(128一轉(zhuǎn)移指令字節(jié)數(shù))個單元地址。例如:指令JC80H表示若進(jìn)位位C為0,則程序計數(shù)器PC中的內(nèi)容不變,即不轉(zhuǎn)移;若進(jìn)位位C為1,則以程序計數(shù)器PC中當(dāng)前值為基地址,加上偏移量80H后所得結(jié)果作為該轉(zhuǎn)移指令的目的地址,其執(zhí)行示意圖如圖3–5所示。指令的操作碼存在1000H單元,偏移量存在1001H單元。執(zhí)行該指令后,程序計數(shù)器PC指向1002H(即當(dāng)前值)。這里80H即–128,故1002H與–128(80H)相加(補(bǔ)碼運(yùn)算)后得到轉(zhuǎn)移地址0F82H。6.變址尋址變

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。