第3章 指令系統(tǒng)及程序設(shè)計(jì)_第1頁(yè)
第3章 指令系統(tǒng)及程序設(shè)計(jì)_第2頁(yè)
第3章 指令系統(tǒng)及程序設(shè)計(jì)_第3頁(yè)
第3章 指令系統(tǒng)及程序設(shè)計(jì)_第4頁(yè)
第3章 指令系統(tǒng)及程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章指令系統(tǒng)及程序設(shè)計(jì)指令:能完成特定功能的命令。指令系統(tǒng):CPU所能執(zhí)行的各種指令的集合。匯編語(yǔ)言程序設(shè)計(jì):利用匯編語(yǔ)言設(shè)計(jì)程序。MCS-51系列單片機(jī)的指令系統(tǒng)功能完善,使用靈活方便。MCS-51的基本指令共111條,其指令系統(tǒng)是一個(gè)具有255種操作碼(00H至FFH,除A5H外)的集合。用匯編語(yǔ)言表達(dá)操作代碼時(shí),只要熟記42種助記符。同一種指令所對(duì)應(yīng)的操作碼可以多至八種(如指令中Rn對(duì)應(yīng)寄存器R0-R7)。MCS-51的指令系統(tǒng)按指令功能分為五大類:①數(shù)據(jù)傳送類②算術(shù)運(yùn)算類③邏輯運(yùn)算類④控制轉(zhuǎn)移類⑤位操作類3.1MCS-51指令系統(tǒng)簡(jiǎn)介

指令格式:指令的表示方法。內(nèi)容包括指令的長(zhǎng)度和指令內(nèi)部信息的安排等。一條指令通常由操作碼和操作數(shù)兩部分組成。操作碼:規(guī)定指令進(jìn)行什么操作。操作數(shù):指令操作的對(duì)象。8051系列單片機(jī)的指令系統(tǒng)有單字節(jié)、雙字節(jié)和三字節(jié)的指令。3.1.1指令格式單字節(jié)指令:操作碼和操作數(shù)同在一個(gè)字節(jié)中。如MOVA,Rn雙字節(jié)指令:操作碼占1個(gè)字節(jié),操作數(shù)占1個(gè)字節(jié)。如MOVA,#data三字節(jié)指令:操作碼占1個(gè)字節(jié),操作數(shù)占2個(gè)字節(jié)。如ANLdirect,#data操作碼和地址碼數(shù)據(jù)或地址碼操作碼和地址碼操作碼數(shù)據(jù)或地址碼數(shù)據(jù)或地址碼尋址方式:CPU尋找操作數(shù)或操作數(shù)地址的方法。尋址方式越多,計(jì)算機(jī)指令功能越強(qiáng),靈活性越大,但是指令系統(tǒng)也越復(fù)雜。

MCS-51采用7種尋址方式。

3.1.2尋址方式

寄存器尋址

可訪問(wèn)選定寄存器區(qū)的8個(gè)工作寄存器R0~R7。寄存器A、B、DPTR和也可作為尋址的對(duì)象。如指令MOVA,Rn(n=0~7)表示把寄存器Rn的內(nèi)容傳送給累加器A。例如,指令MOVA,R7;機(jī)器碼為EFH直接給出內(nèi)部RAM地址。例如指令MOVA,3FH;機(jī)器碼為E5H3FH,表示把內(nèi)部RAM3FH單元的內(nèi)容傳送給A。對(duì)于特殊功能寄存器,在助記符指令中可直接用符號(hào)來(lái)代替地址,如MOVA,P0表示把P0口(地址為80H)的內(nèi)容傳送給累加器A。這種寫(xiě)法與MOVA,80H等同。但更容易理解和閱讀。直接尋址寄存器間接尋址

寄存器間接尋址方式可用于訪問(wèn)內(nèi)部RAM或外部數(shù)據(jù)存儲(chǔ)器。指令指定某一寄存器的內(nèi)容作為操作數(shù)的地址。訪問(wèn)內(nèi)部RAM或外部RAM的低256個(gè)字節(jié)時(shí),可采用R0或R1作為間址寄存器。訪問(wèn)外部RAM,還可用數(shù)據(jù)指針DPTR作為間址寄存器。例如指令A(yù)NLA,@R1;機(jī)器碼為57H。雙字節(jié)指令。第一個(gè)字節(jié)是操作碼,第二字節(jié)就是操作數(shù)。例如指令MOVA,#5AH;機(jī)器碼為74H5AH。

立即尋址

位尋址:對(duì)片內(nèi)RAM的位尋址區(qū)和SFR的尋址位進(jìn)行尋址。操作數(shù)直接給出該位的地址。例如指令MOVC,24H.0;機(jī)器碼為A2H20H,相當(dāng)于MOVC,20H位尋址

用于訪問(wèn)程序存儲(chǔ)器的一個(gè)單元,該單元的地址是基址寄存器(DPTR或PC)的內(nèi)容與變址寄存器A的內(nèi)容之和。例如指令MOVCA,@A+DPTR;機(jī)器碼為93H。變址尋址

訪問(wèn)程序存儲(chǔ)器,出現(xiàn)在相對(duì)轉(zhuǎn)移指令中。相對(duì)尋址是將程序計(jì)數(shù)器PC中的當(dāng)前值與指令第二字節(jié)所給出的偏移量相加,其和為跳轉(zhuǎn)指令的轉(zhuǎn)移地址。偏移量范圍為-128~+127。例如SJMP20H;機(jī)器碼為80H20H。相對(duì)尋址

Rn:n=0~7,表示當(dāng)前寄存器組的8個(gè)通用寄存器R0~R7中的一個(gè)。Ri:i=0,l,可用作間接尋址的寄存器,只能是R0、R1兩個(gè)寄存器中的一個(gè)。Direct:直接地址,內(nèi)部的8位地址。#data:包含在指令中的8位常數(shù)。#datal6:包含在指令中的16位常數(shù)。Rel:相對(duì)轉(zhuǎn)移指令中的偏移量,8位的帶符號(hào)數(shù)。用于SJMP及所有的條件轉(zhuǎn)移指令中。轉(zhuǎn)移范圍為相對(duì)于下一條指令笫一字節(jié)地址的-128~+127。3.1.3MCS-51指令系統(tǒng)符號(hào)意義

DPTR:數(shù)據(jù)指針,可用作16位的地址寄存器。Bit:內(nèi)部RAM或特殊功能寄存器中的直接尋址位。Cy:進(jìn)位位,或位處理機(jī)中的累加器。@:間址寄存器或基址寄存器的前綴。(X):X中的內(nèi)容。((X)):由X尋址的單元中的內(nèi)容。指令系統(tǒng)符號(hào)意義

指令系統(tǒng)符號(hào)意義Addr11:低11位目標(biāo)地址。只限于在ACA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論