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

下載本文檔

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

文檔簡介

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

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

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

3.1.2尋址方式

寄存器尋址

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

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

立即尋址

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論