單片微機原理第三章A0單片微機指令系統(tǒng)及程序設(shè)計課件_第1頁
單片微機原理第三章A0單片微機指令系統(tǒng)及程序設(shè)計課件_第2頁
單片微機原理第三章A0單片微機指令系統(tǒng)及程序設(shè)計課件_第3頁
單片微機原理第三章A0單片微機指令系統(tǒng)及程序設(shè)計課件_第4頁
單片微機原理第三章A0單片微機指令系統(tǒng)及程序設(shè)計課件_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第三章單片微機指令系統(tǒng)及程序設(shè)計

3.1指令系統(tǒng)簡介①數(shù)據(jù)傳送指令(28條)②算術(shù)運算指令(24條)③邏輯運算指令(25條)④控制轉(zhuǎn)移類指令(17條)⑤位操作指令(布爾指令)17條)

單字節(jié)指令;(49條)E6H②

雙字節(jié)指令;(45條)7430H③

三字節(jié)指令。(17條)852000H一、MCS-51指令分類:1、按功能分類:2、按字節(jié)分類:3、按尋址方式分:

立即尋址;②

直接尋址;③

寄存器尋址;④

寄存器間接尋址;⑤

變址尋址;⑥

相對尋址;⑦

位尋址。51系列按尋址方式可分成七類:二、指令格式標號:以字母開始的l~8個字符串組成,是符號地址,標號后必用冒號。操作碼:表示指令的性質(zhì)和功能,用助記符表示。

操作數(shù):表示參加運算的數(shù)據(jù)或數(shù)據(jù)有效的地址,分為目的操作數(shù)和源操作數(shù)。

源操作數(shù)表示操作數(shù)的來源,

目的操作數(shù)表示操作結(jié)果。

注釋:便于閱讀程序,對指令的解釋說明。注釋前加分號。MCS—51單片微機采用匯編語言指令(1)格式:標號:操作碼[目的操作數(shù)],[源操作數(shù)];[注釋]在MCS-51指令中,一般指令主要由操作碼、操作數(shù)組成。指令應具有以下功能:(1)操作碼指明執(zhí)行什么性質(zhì)和類型的操作。例如,數(shù)的傳送、加法、減法等。(2)操作數(shù)指明操作的數(shù)本身或者是操作數(shù)所在的地址。(3)指定操作結(jié)果存放的地址。

例如LP:MOVA,#30H;立即數(shù)30H→A標號操作碼目的操作數(shù)源操作數(shù)注釋

(2)機器碼7430H(MOVA,#30H)add16表示16位地址。add11表示11位地址。direct表示片內(nèi)RAM(包括SFR)中8位直接地址。bit代表位地址。rel地址偏移量(指偏移字節(jié)數(shù))。@間接尋址符號A——累加器。B——專用寄存器,用于乘法和除法指令中。C——進位標志或進位位,或布爾處理機中的累加器常用符號說明(3)尋址方式例MOVA,#30H;#30H表示常數(shù)30H。功能:把常數(shù)30H送入累加器A中,程序執(zhí)行結(jié)果是A=30H。注意:立即數(shù)30H的地址在程序區(qū)。設(shè)該指令地址為2000H,其指令的機器代碼為7430,是兩字節(jié)指令。程序存儲區(qū)2000H74H2001H30H30H一、立即尋址特點:源操作數(shù)是常數(shù),直接參與操作。ACC二、直接尋址方式

例如:MOVA,30H;30H(無#號)是內(nèi)存的一個單元地址。功能:把30H地址單元中的內(nèi)容送累加器A。設(shè)30H單元中存放著一個數(shù)FFH,程序執(zhí)行結(jié)果A=FFH。機器碼:E530H程序存儲區(qū)片內(nèi)RAMACC2000HE5H30HFFHFFH2001H30H注意:直接地址只能表示專用寄存器、內(nèi)部存儲器及位地址空間特點:

源操作數(shù)是存放數(shù)據(jù)的一個單元地址。四、

寄存器間接尋址

特點:源操作數(shù)通過寄存器間接得到,即寄存器中存放的是操作數(shù)的地址。例如MOVA,@R0;(R0)→A機器碼:E6H(11100110)MOVXA,@R0

功能:Rn中存放的是一個地址,把該地址所指向的地址單元中的數(shù)據(jù)送入累加器A中。例:程序存儲區(qū)片內(nèi)RAMACC2000HE6HR030H30H

80H80H2001H注意:間址單元可在片內(nèi)低128B,也可在片外64KB中若MOVXA,@R0程序存儲區(qū)片外RAMACC2000HE2HR030H30HABHABH2001H注意:在訪問片內(nèi)RAM低128B和片外RAM低256B時,用R0或R1作地址指針,在訪問全部64K片外RAM時,用DPTR作地址指針。例R1=5AH,(5AH)=20H若MOVA,@R1學生練習!五、變址尋址方式(基址寄存器+變址寄存器間接尋址)特點:以DPTR或PC作基址寄存器,累加器A作為變址寄存器(存放地址偏移量),這兩個寄存器相加,形成了16位的操作地址。

操作數(shù)地址=基址+變址DPTR(PC)A例如MOVCA,@A+DPTR功能:把A+DPTR形成的16位的新地址中的數(shù)據(jù)送入累加器A中。設(shè)(A)=EFH,(DPTR)=2000H,該指令執(zhí)行結(jié)果是把20EFH地址單元中的數(shù)據(jù)送入A中。在8051中,用變址尋址方式只能訪問程序存儲器,訪問的范圍為64KB。特點:把當前的PC值和偏移量值相加,形成了相對轉(zhuǎn)移地址。轉(zhuǎn)移的目的地址是相對PC而言的。

例如SJMP08H若該指令在2000H處,執(zhí)行該指令后,(PC)=2002H(該指令是兩字節(jié)指令),轉(zhuǎn)移的目的地址為:2002H+08H=200AH

例如JC03H機器碼:40H03H若該指令在1000H處,當C=1時,跳轉(zhuǎn)3個字節(jié)。執(zhí)行該指令后,(PC)=1002H(該指令是兩字節(jié)指令),轉(zhuǎn)移的目的地址為:1002H+03H=1005H六、

相對尋址方式注意:①PC是執(zhí)行該指令后的PC;②轉(zhuǎn)移范圍-128B~+127B,即以PC為中心,向前最大可轉(zhuǎn)127字節(jié),向后最遠可轉(zhuǎn)128字節(jié)。七、位尋址方式特點:操作數(shù)直接給出某位的地址(與字節(jié)操作時直接尋址方式類似)例

溫馨提示

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

評論

0/150

提交評論