mcu-1718指令系統(tǒng)第五節(jié)控制轉(zhuǎn)移指令_第1頁(yè)
mcu-1718指令系統(tǒng)第五節(jié)控制轉(zhuǎn)移指令_第2頁(yè)
mcu-1718指令系統(tǒng)第五節(jié)控制轉(zhuǎn)移指令_第3頁(yè)
mcu-1718指令系統(tǒng)第五節(jié)控制轉(zhuǎn)移指令_第4頁(yè)
mcu-1718指令系統(tǒng)第五節(jié)控制轉(zhuǎn)移指令_第5頁(yè)
已閱讀5頁(yè),還剩25頁(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)介

1、1第五節(jié) 控制轉(zhuǎn)移指令(P71) 一、無(wú)條件轉(zhuǎn)移1、長(zhǎng)跳轉(zhuǎn) LJMP addr 16 ; 16 位地址送 PC ,范圍64KB2、絕對(duì)跳轉(zhuǎn) AJMP addr 11 ; 11 位地址送 PC 低位,范圍 2KB3、短跳轉(zhuǎn) SJMP rel ; 8 位地址送 PC低位, 范圍 256B4、變址跳轉(zhuǎn) JMP A+DPTR ; 16位地址送 PC ,范圍 64KB2指令本質(zhì)是改變 PC 內(nèi)容: (PC) (當(dāng)前值) rel (偏移量) 送 PC (PC) (本指令首地址)本指令字節(jié) rel 送 PC轉(zhuǎn)移指令3例、 有16個(gè)鍵 0F ,要求每按下一鍵,執(zhí)行相應(yīng)鍵處理程序。 MOV DPTR , #30

2、00H LCALL readkey ; 讀鍵值到 A 中 MOV R0 , A CLR Cy RLC A ADD A , R0 JMP ADPTR(A) 34.3000H LJMP addr16 ; 0 鍵處理程序3003H LJMP addr16 ; 1 鍵處理程序.MOVELCALL.JMP.LJMPAddr16 L8Addr16 H8.3000H3001H3002H3003H5一、條件轉(zhuǎn)移JNZ rel ; (A)00H , 則跳轉(zhuǎn) :(PC)2rel 送 PC (A)00H 時(shí),順序執(zhí)行 : (PC)2送 PC 。 1、A中是否為“ 0 ” JZ rel ; (A)00H , 則跳轉(zhuǎn)

3、:(PC)2rel 送 PC (A)00H 時(shí),順序執(zhí)行 : (PC)2送 PC 。62、數(shù)值比較轉(zhuǎn)移指令 ( 3字節(jié) ) CJNE A , #data , rel ; (A)不等于data時(shí)跳轉(zhuǎn), 相等時(shí)順序執(zhí)行。 CJNE A , direct , rel ; CJNE Rn , #data , rel ; CJNE Ri , #data , rel ; 影響 PSW 標(biāo)志位7比較功能: CJNE A , direct , rel 左操作數(shù) 右操作數(shù) Cy0 左操作數(shù) 右操作數(shù) (PC)+3+rel PC Cy1 左操作數(shù) 右操作數(shù) (PC)+3+rel PC Cy0 左操作數(shù) 右操作數(shù)

4、(PC)+3 PC8例、溫度控制范圍 54 OC55OC 被測(cè)溫度送到累加器中 內(nèi)部RAM 的 54H 單元存放溫控下限 54 OC 內(nèi)部RAM 的 55H 單元存放溫控上限 55 OC 被測(cè)溫度高于 55 OC時(shí)程序轉(zhuǎn)向降溫處理程序“JW” 被測(cè)溫度低于 54 OC時(shí)程序轉(zhuǎn)向升溫處理程序“SW” 54 OC = 被測(cè)溫度 55 ,(Cy)=0 ,跳轉(zhuǎn)到JW CJNE A , 54H , LOOP2 ; T54 轉(zhuǎn)向LOOP2 AJMP FH ;T54 返回LOOP2: JC SW ; T54 ,(Cy)=1 ,跳轉(zhuǎn)到SWFH : RET ; 返回注: JNC: (Cy) 0 時(shí)轉(zhuǎn)移, JC

5、: (Cy) 1 時(shí)轉(zhuǎn)移, 103、減 1 條件轉(zhuǎn)移指令 (控制循環(huán)跳轉(zhuǎn))1)寄存器減 1 條件轉(zhuǎn)移指令 (兩字節(jié)) DJNZ Rn , rel ;(Rn)1 送 Rn , (Rn)0 ,(PC)2rel 送 PC 跳轉(zhuǎn) (Rn)0 ,(PC)2 送 PC 順序執(zhí)行112)直接單元減 1 條件轉(zhuǎn)移指令 (三字節(jié)) DJNZ direct , rel ;(direct)1 送 direct , (direct)0 ,(PC)3rel 送 PC 跳轉(zhuǎn) (direct)0 ,(PC)3 送 PC 順序執(zhí)行12三、調(diào)用子程序及返回指令 本質(zhì)仍是改變PC的內(nèi)容1、調(diào)用指令 執(zhí)行指令包含兩項(xiàng)內(nèi)容: 保護(hù)斷

6、點(diǎn) 修改PC值(構(gòu)造目的地址)斷點(diǎn)子程序返回調(diào)用PC的內(nèi)容131)絕對(duì)調(diào)用:ACALL addr 11 ; 兩字節(jié) ,范圍 2KB 。保護(hù)斷點(diǎn) (PC)2 送 PC ( SP)1 送 SP , ( PC) 70 送 ( SP) ( SP)1 送 SP , ( PC) 158 送 ( SP)修改PC值 addr 11 送 PC 100 142)長(zhǎng)調(diào)用 :LCALL addr 16 ; 三字節(jié) ,范圍 64KB 。保護(hù)斷點(diǎn) (PC)3 送 PC(本質(zhì)是進(jìn)棧操作) ( SP)1 送 SP , ( PC) 70 送 ( SP) ( SP)1 送 SP , ( PC) 158 送 ( SP)修改PC值

7、addr 16 送 PCROMLACLLaddr L8 addr H8 PC斷點(diǎn)地址RAM(PC) H8(PC) L8. SPH8 L8152、子程序返回指令 RET ; 本質(zhì)是出棧操作 :( SP) 送 PC 158 , ( SP) 1 送 SP ( SP) 送 PC 7 0 , ( SP) 1 送 SP 3、中斷服務(wù)子程序返回指令 RETI ; ( SP) 送 PC 158 , ( SP) 1 送 SP ( SP) 送 PC 7 0 , ( SP) 1 送 SP16四、空操作NOP; (PC) 1PC用于延時(shí)等待。17第六節(jié) 位操作指令一、位傳送指令MOVC ,bit ; 任意位(bit

8、)送到 CyMOVbit ,Cy ; (Cy)送到任意位bit二、置位與清零指令1、置位SETBC ; 1 送到CySETBbit ; 1 送到任意位bit182、清零CLRC ; 0 送到CyCLRbit ; 0 送到任意位bit三、位運(yùn)算指令 1、與運(yùn)算ANL C , bit ;任意位(bit )和( Cy)相“與”ANL C , /bit ;任意位(bit )求反后和( Cy)相“與”192、或運(yùn)算ORL C , bit ;任意位(bit )和( Cy)相“或”O(jiān)RL C , /bit ;任意位(bit )求反后和( Cy)相“或”3、非運(yùn)算(求反)CPL C; ( Cy)求反后送 Cy

9、CPL bit ;任意位(bit )求反后送 bit20四、位控制轉(zhuǎn)移指令1、以 C 的狀態(tài)為條件的轉(zhuǎn)移指令( 2字節(jié))JC rel ; 若( Cy)1,則轉(zhuǎn)移,即:(PC)2rel 送 PC 若( Cy)1,則順序執(zhí)行,即:(PC)2 送 PC JNC rel ; 若( Cy)0,則轉(zhuǎn)移,即:(PC)2rel 送 PC 若( Cy)0,則順序執(zhí)行,即:(PC)2 送 PC 212、以任意位 bit 的狀態(tài)為條件的轉(zhuǎn)移指令( 3字節(jié))JB bit , rel ; 若任意位(bit )1,則轉(zhuǎn)移, 若任意位(bit ) 1,則順序執(zhí)行。 JNB bit , rel ; 若任意位(bit ) 1

10、,則轉(zhuǎn)移, 若任意位(bit ) 1 ,則順序執(zhí)行。 22JBC bit , rel ; 若任意位(bit )1,則轉(zhuǎn)移并清零 若任意位(bit ) 1,則順序執(zhí)行。 轉(zhuǎn)移,即:(PC)3rel 送 PC 順序執(zhí)行,即:(PC)3 送 PC23第七節(jié) 偽指令在匯編時(shí)不產(chǎn)生目標(biāo)代碼,不影響程序執(zhí)行的一些指令。一、ORG(Origin起點(diǎn))出現(xiàn)在每段源程序或數(shù)據(jù)塊的開(kāi)始,標(biāo)明其起始地址。格式: ORG nn 24例: ORG 8 0 0 0 H ; 下面程序目標(biāo)代碼起始地址8000H MOV R0 , # 5 0H.25二、DB(Define Byte 定義字節(jié))格式 : 標(biāo)號(hào) :DB 字節(jié)常數(shù)或

11、字符或表達(dá)式例 ORG 9000HDATA1 : DB 73H , 01H , 90HDATA2 : DB 02H73H , 01H , 90H 順序地存放在從9000H開(kāi)始的單元中02H順序地存放在9003H單元中。26例 TBJ3 : DW PRG 0 . . PRG 0 : EQU 8450H 三、DW(Define Word定義字)格式: 標(biāo)號(hào) : DW 字或字串主要用來(lái)定義地址27例 AREA : EQU 1000H 給標(biāo)號(hào)AREA 賦值為1 0 0 0 H ,其值是固定的 。四、EQU(Equate 等值)格式 標(biāo)號(hào) : EQU 操作數(shù)28五、END(匯編結(jié)束)格式 標(biāo)號(hào) : END 地址或標(biāo)號(hào)29寫有偽指令的匯編語(yǔ)言源程序 O RG 8 4 0 0 H MOV A , R2 MOV DPTR , # TB J 3 MOVC A , A + DPTR J M P A + DPTR TBJ3 : DW PRG 0 DB PRG

溫馨提示

  • 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)論