




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
四、控制轉(zhuǎn)移指令使PC不再自動增加,強行改變PC的內(nèi)容,使程序轉(zhuǎn)移到指定的入口地址繼續(xù)執(zhí)行,以實現(xiàn)分枝循環(huán)、子程序調(diào)用、中斷等功能。共17條。分類:無條件轉(zhuǎn)移
條件轉(zhuǎn)移
中斷12/12/20221福州大學(xué)物理與信息工程學(xué)院四、控制轉(zhuǎn)移指令使PC不再自動增加,強行改變PC的內(nèi)容,使程1、無條件轉(zhuǎn)移指令長轉(zhuǎn)移指令(長跳轉(zhuǎn))LJMPaddr16;(PC)←addr163字節(jié)轉(zhuǎn)移范圍大,0~216,即64KROM12/12/20222福州大學(xué)物理與信息工程學(xué)院1、無條件轉(zhuǎn)移指令長轉(zhuǎn)移指令(長跳轉(zhuǎn))12/11/20222短轉(zhuǎn)移指令(短跳轉(zhuǎn)、絕對跳轉(zhuǎn))AJMPaddr11將當前PC值的高5位和add11相連PC=PC15~11a10a9a8a7a6a5a4a3a2a1a0即將add11寫入PC的第0~10位,PC的11~15位不變。12/12/20223福州大學(xué)物理與信息工程學(xué)院短轉(zhuǎn)移指令(短跳轉(zhuǎn)、絕對跳轉(zhuǎn))12/11/20223福州大學(xué)Addr11代表的范圍是20~211=2K64K的ROM分為32頁,每頁2K,范圍分別是0000H~07FFH、0800H~0FFFH、1000H~17FFH、……F000H~F7FFH、F800H~FFFFHAJMP轉(zhuǎn)移范圍就是PC當前值所在的2K字節(jié)頁面內(nèi),超出該尋址范圍就出錯。用于不太長的程序該指令為2字節(jié)12/12/20224福州大學(xué)物理與信息工程學(xué)院Addr11代表的范圍是20~211=2K12/11/202例:
機器碼匯編語言
07FEH
AJMPK11;
0800H................
0E00H
K11:...............
0F80H
K12:.................
0FFEH
AJMPK12
1000H.........(PC)=(PC)+2=0800H錯誤
(PC)=(PC)+2=1000HK12不在1000H~17FFH同一頁內(nèi)12/12/20225福州大學(xué)物理與信息工程學(xué)院例:(PC)=(PC)+2=0800H12/11/20225相對轉(zhuǎn)移指令SJMPrel;PC←(PC)+2,PC←(PC)+rel轉(zhuǎn)移范圍是當前PC值-128~127范圍內(nèi)12/12/20226福州大學(xué)物理與信息工程學(xué)院相對轉(zhuǎn)移指令12/11/20226福州大學(xué)物理與信息工程學(xué)院例:
0100H
80rel
SJMPAAA
0102H
00
NOP
…
0123H
00
AAA:NOP
rel是一字節(jié)的偏移量,編程時通常用目標地址標號代替,如本例中AAA,匯編時才計算出偏移量rel,計算方法是:
rel=目標地址-(本指令地址+02H)
=0123H-(0100H+02H)
=21H
12/12/20227福州大學(xué)物理與信息工程學(xué)院例:
0100H
80rel
注:編程時,可用標號代替轉(zhuǎn)移目的地址AJMPNEXTSJMPNEXTLJMPNEXT原地踏步指令
HERE:SJMPHERE常寫成:SJMP$12/12/20228福州大學(xué)物理與信息工程學(xué)院注:12/11/20228福州大學(xué)物理與信息工程學(xué)院散轉(zhuǎn)指令:JMP@A+DPTR(PC)←(A)+(DPTR)若DPTR值固定,改變A的內(nèi)容,即可形成多個分枝。12/12/20229福州大學(xué)物理與信息工程學(xué)院散轉(zhuǎn)指令:12/11/20229福州大學(xué)物理與信息工程學(xué)院例:(A)=0轉(zhuǎn)到PRG0,(A)=1轉(zhuǎn)到PRG1,.......(A)=7轉(zhuǎn)到PRG7
MOVDPTR,#TABEL
RLAJMP@A+DPTRTABEL:AJMPPRG0AJMPPRG1......AJMPPRG712/12/202210福州大學(xué)物理與信息工程學(xué)院例:12/11/202210福州大學(xué)物理與信息工程學(xué)院2、調(diào)用及返回指令功能:本質(zhì)上也是無條件轉(zhuǎn)移指令。使用:子程序調(diào)用---程序中反復(fù)多次執(zhí)行的某一段程序。12/12/202211福州大學(xué)物理與信息工程學(xué)院2、調(diào)用及返回指令功能:本質(zhì)上也是無條件轉(zhuǎn)移指令。12/11長調(diào)用指令LCALLaddr16斷點PC值進棧保存,調(diào)用addr16地址的子程序。(PC)←(PC)+3,
(SP)←(SP)+1,((SP))←(PC7~0)
(SP)←(SP)+1,((SP))←(PC15~8)
(PC)←addr1612/12/202212福州大學(xué)物理與信息工程學(xué)院長調(diào)用指令12/11/202212福州大學(xué)物理與信息工程學(xué)院例:(SP)=60H,標號STRT值為2100H,標號DIR值為8100H。STRT:LCALLDIR或STRT:LCALL2100H結(jié)果:(SP)=62H;(61H)=03H;(62H)=21H;(PC)=8100H12/12/202213福州大學(xué)物理與信息工程學(xué)院例:12/11/202213福州大學(xué)物理與信息工程學(xué)院短調(diào)用指令A(yù)CALLaddr11(PC)←(PC)+2,
(SP)←(SP)+1,((SP))←(PC7~0)
(SP)←(SP)+1,((SP))←(PC15~8)(PC)←addr11目的地址與當前PC值必須位于2K范圍的同一頁面內(nèi)12/12/202214福州大學(xué)物理與信息工程學(xué)院短調(diào)用指令12/11/202214福州大學(xué)物理與信息工程學(xué)院編程時,可用標號代替轉(zhuǎn)移目的地址,addr11,addr16交給編譯程序計算如:LCALLDIR;ACALLDIR12/12/202215福州大學(xué)物理與信息工程學(xué)院編程時,可用標號代替轉(zhuǎn)移目的地址,addr11,addr16子程序返回指令RET從堆棧中自動取出斷點地址送給PC,使程序在主程序斷點處繼續(xù)執(zhí)行。(PC15~8)←((SP));(SP)←(SP)-1(PC7~0)←((SP));(SP)←(SP)-1子程序末尾必須是一條返回指令12/12/202216福州大學(xué)物理與信息工程學(xué)院子程序返回指令12/11/202216福州大學(xué)物理與信息工程
例:(SP)=62H,(62H)=07H;(61H)=30HRET
則:(SP)=60H;(PC)=0730H12/12/202217福州大學(xué)物理與信息工程學(xué)院例:12/11/202217福州大學(xué)物理與信息工程學(xué)院中斷返回指令RETI用于中斷服務(wù)程序末尾除執(zhí)行RET指令的操作外,還清除中斷響應(yīng)時被置位的優(yōu)先級狀態(tài),開放較低級中斷和恢復(fù)中斷邏輯等功能。12/12/202218福州大學(xué)物理與信息工程學(xué)院中斷返回指令12/11/202218福州大學(xué)物理與信息工程學(xué)3、條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令是指當滿足某種條件時程序才轉(zhuǎn)移,而條件不滿足時程序繼續(xù)執(zhí)行下一條指令。條件主要指PSW中的標志。注:①對PSW的按位操作也將影響相應(yīng)的標志位。②任何一條改變累加器A的內(nèi)容的指令都將影響P標志。③8051單片機隱含一個零標志位(Z),當(A)=0時,Z置“1”。12/12/202219福州大學(xué)物理與信息工程學(xué)院3、條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令是指當滿足某種條件時程序才轉(zhuǎn)移,A判零轉(zhuǎn)移指令JZrel;(A)=0時轉(zhuǎn)移,(PC)←(PC)+2+rel否則程序順序執(zhí)行(PC)←(PC)+2JNZrel;(A)=1時轉(zhuǎn)移,(PC)←(PC)+2+rel否則程序順序執(zhí)行(PC)←(PC)+212/12/202220福州大學(xué)物理與信息工程學(xué)院A判零轉(zhuǎn)移指令12/11/202220福州大學(xué)物理與信息工程例1、將外RAM的一個數(shù)據(jù)塊(首地址為DATA1)傳送到內(nèi)部數(shù)據(jù)RAM(首地址為DATA2),遇到傳送的數(shù)據(jù)為零時停止傳送,試編程。解:
MOVR0,#DATA2
MOVDPTR,#DATA1MOVXA,@DPTR
JZLOOP2MOV@R0,AINCR0INCDPTRSJMPLOOP1LOOP2:SJMPLOOP2LOOP1:12/12/202221福州大學(xué)物理與信息工程學(xué)院例1、將外RAM的一個數(shù)據(jù)塊(首地址為DATA1)傳送到內(nèi)部比較轉(zhuǎn)移指令:比較指令中兩個操作數(shù)的值是否相等,若值不等,則轉(zhuǎn)移;若相等則順序執(zhí)行。同時影響CY標志位,若第一操作數(shù)<第二操作數(shù),則CY=1,否則CY=0是111條指令中僅有的4條三個操作數(shù)的指令12/12/202222福州大學(xué)物理與信息工程學(xué)院比較轉(zhuǎn)移指令:12/11/202222福州大學(xué)物理與信息工程CJNEA,direct,rel;(A)≠(direct)則轉(zhuǎn)移, (PC)←(PC)+3+relCJNEA,#data,rel;(A)≠(direct)則轉(zhuǎn)移, (PC)←(PC)+3+relCJNERn,#data,rel;
(A)≠(direct)則轉(zhuǎn)移, (PC)←(PC)+3+relCJNE@Ri,#data,rel;(A)≠(direct)則轉(zhuǎn)移, (PC)←(PC)+3+rel12/12/202223福州大學(xué)物理與信息工程學(xué)院CJNEA,direct,rel;(A)≠(d若左操作數(shù)=右操作數(shù),則程序順序執(zhí)行(PC)←(PC)+3,同時(CY)=0若左操作數(shù)>右操作數(shù),則轉(zhuǎn)移(PC)←(PC)+3+rel,同時(CY)=0若左操作數(shù)<右操作數(shù),則轉(zhuǎn)移(PC)←(PC)+3+rel,同時(CY)=1也用于數(shù)值比較,以CY狀態(tài)判斷數(shù)值大小。CJNE操作數(shù)1,操作數(shù)2,轉(zhuǎn)移地址標號12/12/202224福州大學(xué)物理與信息工程學(xué)院若左操作數(shù)=右操作數(shù),則程序順序執(zhí)行(PC)←(PC)+3,例如:
CJNEA,30H,NOTEQ;3分支轉(zhuǎn)移MOVA,R0;(A)=(30H)
AJMPWORK
NOTEQ:JCLITTER;(A)<(30H),轉(zhuǎn)MOVA,R1ACALLSUBLITTER:XXXX┋┋WORK:12/12/202225福州大學(xué)物理與信息工程學(xué)院例如:CJNEA,30H,NOTEQ;3分支減1非零轉(zhuǎn)移指令DJNZRn,rel;(Rn)←(Rn)-1,若(Rn)≠0則轉(zhuǎn)移,(PC)←(PC)+2+rel;若(Rn)=0則順序執(zhí)行(PC)←(PC)+2DJNZdirect,rel;(direct)←(direct)-1,若(direct)≠0則轉(zhuǎn)移,(PC)←(PC)+2+rel;若(direct)=0則順序執(zhí)行(PC)←(PC)+212/12/202226福州大學(xué)物理與信息工程學(xué)院減1非零轉(zhuǎn)移指令12/11/202226福州大學(xué)物理與信息工主要用于控制程序循環(huán),先把Rn或direct賦值循環(huán)次數(shù),利用減1條件轉(zhuǎn)移指令,以減1后是否為0作為轉(zhuǎn)移條件,即可實現(xiàn)按次數(shù)控制循環(huán)。12/12/202227福州大學(xué)物理與信息工程學(xué)院主要用于控制程序循環(huán),先把Rn或direct賦值循環(huán)次數(shù),利例:延時50ms程序
DELY:MOVR7,#200MOVR6,#125DEL2:DJNZR6,DEL2;125*2=250usDJNZR7,DEL1;0.25ms*200=50ms
RET
使用12MHz晶振時,一個機器周期為1us,執(zhí)行DJNZ指令為2us,加其他指令的時間(250+1+2)*200+1=50.301ms
使用例:
ACALLDELY或LCALLDELY
DEL1:12/12/202228福州大學(xué)物理與信息工程學(xué)院例:延時50ms程序DEL1:12/11/202228福州大4、位控制轉(zhuǎn)移指令JCrel;(Cy)=1則轉(zhuǎn)移,(PC)←(PC)+2+rel否則,程序繼續(xù)執(zhí)行,(PC)←(PC)+2JNCrel;(Cy)=0則轉(zhuǎn)移,(PC)←(PC)+2+rel否則,程序繼續(xù)執(zhí)行,(PC)←(PC)+2布爾累加器(進位位)判位轉(zhuǎn)移。12/12/202229福州大學(xué)物理與信息工程學(xué)院4、位控制轉(zhuǎn)移指令JCrel;(C例:比較內(nèi)部RAM的30H和40H單元中的二個無符號數(shù)的大小,將大數(shù)存入20H單元,小數(shù)存入21H單元,若二數(shù)相等,則使內(nèi)RAM的第127位置1。解:
MOVA,30HCJNEA,40H,LOOP1SETB7FHSJMP$LOOP1:JCLOOP2MOV20H,AMOV21H,40HSJMP$LOOP2:MOV20H,40HMOV21H,ASJMP$12/12/202230福州大學(xué)物理與信息工程學(xué)院例:比較內(nèi)部RAM的30H和40H單元中的二個無符號數(shù)的大小4、位控制轉(zhuǎn)移指令JBbit,rel
;(bit)=1則轉(zhuǎn)移,(PC)←(PC)+3+rel否則,程序繼續(xù)執(zhí)行,(PC)←(PC)+3JNBbit,rel;(bit)=0則轉(zhuǎn)移,(PC)←(PC)+3+rel否則,程序繼續(xù)執(zhí)行,(PC)←(PC)+3JBCbit,rel;(bit)=1則轉(zhuǎn)移,(PC)←(PC)+3+rel,且(bit)=0否則,程序繼續(xù)執(zhí)行,(PC)←(PC)+3普通數(shù)據(jù)位判位轉(zhuǎn)移12/12/202231福州大學(xué)物理與信息工程學(xué)院4、位控制轉(zhuǎn)移指令JBbit,rel;(bi例:試判斷A中的正負,若為正數(shù),存入20H單元;若為負數(shù)則存入21H單元。解:JBACC.7,LOOPMOV20H,ASJMP$LOOP:MOV21H,ASJMP$12/12/202232福州大學(xué)物理與信息工程學(xué)院例:試判斷A中的正負,若為正數(shù),存入20H單元;若為負5、空操作指令NOP1字節(jié),單周期該指令僅使(PC)+1然后繼續(xù)執(zhí)行下一條指令,無任何操作。常用于延時或程序中作為時間“微調(diào)”12/12/202233福州大學(xué)物理與信息工程學(xué)院5、空操作指令NOP12/11/202233福州大學(xué)物理與信四、控制轉(zhuǎn)移指令使PC不再自動增加,強行改變PC的內(nèi)容,使程序轉(zhuǎn)移到指定的入口地址繼續(xù)執(zhí)行,以實現(xiàn)分枝循環(huán)、子程序調(diào)用、中斷等功能。共17條。分類:無條件轉(zhuǎn)移
條件轉(zhuǎn)移
中斷12/12/202234福州大學(xué)物理與信息工程學(xué)院四、控制轉(zhuǎn)移指令使PC不再自動增加,強行改變PC的內(nèi)容,使程1、無條件轉(zhuǎn)移指令長轉(zhuǎn)移指令(長跳轉(zhuǎn))LJMPaddr16;(PC)←addr163字節(jié)轉(zhuǎn)移范圍大,0~216,即64KROM12/12/202235福州大學(xué)物理與信息工程學(xué)院1、無條件轉(zhuǎn)移指令長轉(zhuǎn)移指令(長跳轉(zhuǎn))12/11/20222短轉(zhuǎn)移指令(短跳轉(zhuǎn)、絕對跳轉(zhuǎn))AJMPaddr11將當前PC值的高5位和add11相連PC=PC15~11a10a9a8a7a6a5a4a3a2a1a0即將add11寫入PC的第0~10位,PC的11~15位不變。12/12/202236福州大學(xué)物理與信息工程學(xué)院短轉(zhuǎn)移指令(短跳轉(zhuǎn)、絕對跳轉(zhuǎn))12/11/20223福州大學(xué)Addr11代表的范圍是20~211=2K64K的ROM分為32頁,每頁2K,范圍分別是0000H~07FFH、0800H~0FFFH、1000H~17FFH、……F000H~F7FFH、F800H~FFFFHAJMP轉(zhuǎn)移范圍就是PC當前值所在的2K字節(jié)頁面內(nèi),超出該尋址范圍就出錯。用于不太長的程序該指令為2字節(jié)12/12/202237福州大學(xué)物理與信息工程學(xué)院Addr11代表的范圍是20~211=2K12/11/202例:
機器碼匯編語言
07FEH
AJMPK11;
0800H................
0E00H
K11:...............
0F80H
K12:.................
0FFEH
AJMPK12
1000H.........(PC)=(PC)+2=0800H錯誤
(PC)=(PC)+2=1000HK12不在1000H~17FFH同一頁內(nèi)12/12/202238福州大學(xué)物理與信息工程學(xué)院例:(PC)=(PC)+2=0800H12/11/20225相對轉(zhuǎn)移指令SJMPrel;PC←(PC)+2,PC←(PC)+rel轉(zhuǎn)移范圍是當前PC值-128~127范圍內(nèi)12/12/202239福州大學(xué)物理與信息工程學(xué)院相對轉(zhuǎn)移指令12/11/20226福州大學(xué)物理與信息工程學(xué)院例:
0100H
80rel
SJMPAAA
0102H
00
NOP
…
0123H
00
AAA:NOP
rel是一字節(jié)的偏移量,編程時通常用目標地址標號代替,如本例中AAA,匯編時才計算出偏移量rel,計算方法是:
rel=目標地址-(本指令地址+02H)
=0123H-(0100H+02H)
=21H
12/12/202240福州大學(xué)物理與信息工程學(xué)院例:
0100H
80rel
注:編程時,可用標號代替轉(zhuǎn)移目的地址AJMPNEXTSJMPNEXTLJMPNEXT原地踏步指令
HERE:SJMPHERE常寫成:SJMP$12/12/202241福州大學(xué)物理與信息工程學(xué)院注:12/11/20228福州大學(xué)物理與信息工程學(xué)院散轉(zhuǎn)指令:JMP@A+DPTR(PC)←(A)+(DPTR)若DPTR值固定,改變A的內(nèi)容,即可形成多個分枝。12/12/202242福州大學(xué)物理與信息工程學(xué)院散轉(zhuǎn)指令:12/11/20229福州大學(xué)物理與信息工程學(xué)院例:(A)=0轉(zhuǎn)到PRG0,(A)=1轉(zhuǎn)到PRG1,.......(A)=7轉(zhuǎn)到PRG7
MOVDPTR,#TABEL
RLAJMP@A+DPTRTABEL:AJMPPRG0AJMPPRG1......AJMPPRG712/12/202243福州大學(xué)物理與信息工程學(xué)院例:12/11/202210福州大學(xué)物理與信息工程學(xué)院2、調(diào)用及返回指令功能:本質(zhì)上也是無條件轉(zhuǎn)移指令。使用:子程序調(diào)用---程序中反復(fù)多次執(zhí)行的某一段程序。12/12/202244福州大學(xué)物理與信息工程學(xué)院2、調(diào)用及返回指令功能:本質(zhì)上也是無條件轉(zhuǎn)移指令。12/11長調(diào)用指令LCALLaddr16斷點PC值進棧保存,調(diào)用addr16地址的子程序。(PC)←(PC)+3,
(SP)←(SP)+1,((SP))←(PC7~0)
(SP)←(SP)+1,((SP))←(PC15~8)
(PC)←addr1612/12/202245福州大學(xué)物理與信息工程學(xué)院長調(diào)用指令12/11/202212福州大學(xué)物理與信息工程學(xué)院例:(SP)=60H,標號STRT值為2100H,標號DIR值為8100H。STRT:LCALLDIR或STRT:LCALL2100H結(jié)果:(SP)=62H;(61H)=03H;(62H)=21H;(PC)=8100H12/12/202246福州大學(xué)物理與信息工程學(xué)院例:12/11/202213福州大學(xué)物理與信息工程學(xué)院短調(diào)用指令A(yù)CALLaddr11(PC)←(PC)+2,
(SP)←(SP)+1,((SP))←(PC7~0)
(SP)←(SP)+1,((SP))←(PC15~8)(PC)←addr11目的地址與當前PC值必須位于2K范圍的同一頁面內(nèi)12/12/202247福州大學(xué)物理與信息工程學(xué)院短調(diào)用指令12/11/202214福州大學(xué)物理與信息工程學(xué)院編程時,可用標號代替轉(zhuǎn)移目的地址,addr11,addr16交給編譯程序計算如:LCALLDIR;ACALLDIR12/12/202248福州大學(xué)物理與信息工程學(xué)院編程時,可用標號代替轉(zhuǎn)移目的地址,addr11,addr16子程序返回指令RET從堆棧中自動取出斷點地址送給PC,使程序在主程序斷點處繼續(xù)執(zhí)行。(PC15~8)←((SP));(SP)←(SP)-1(PC7~0)←((SP));(SP)←(SP)-1子程序末尾必須是一條返回指令12/12/202249福州大學(xué)物理與信息工程學(xué)院子程序返回指令12/11/202216福州大學(xué)物理與信息工程
例:(SP)=62H,(62H)=07H;(61H)=30HRET
則:(SP)=60H;(PC)=0730H12/12/202250福州大學(xué)物理與信息工程學(xué)院例:12/11/202217福州大學(xué)物理與信息工程學(xué)院中斷返回指令RETI用于中斷服務(wù)程序末尾除執(zhí)行RET指令的操作外,還清除中斷響應(yīng)時被置位的優(yōu)先級狀態(tài),開放較低級中斷和恢復(fù)中斷邏輯等功能。12/12/202251福州大學(xué)物理與信息工程學(xué)院中斷返回指令12/11/202218福州大學(xué)物理與信息工程學(xué)3、條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令是指當滿足某種條件時程序才轉(zhuǎn)移,而條件不滿足時程序繼續(xù)執(zhí)行下一條指令。條件主要指PSW中的標志。注:①對PSW的按位操作也將影響相應(yīng)的標志位。②任何一條改變累加器A的內(nèi)容的指令都將影響P標志。③8051單片機隱含一個零標志位(Z),當(A)=0時,Z置“1”。12/12/202252福州大學(xué)物理與信息工程學(xué)院3、條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令是指當滿足某種條件時程序才轉(zhuǎn)移,A判零轉(zhuǎn)移指令JZrel;(A)=0時轉(zhuǎn)移,(PC)←(PC)+2+rel否則程序順序執(zhí)行(PC)←(PC)+2JNZrel;(A)=1時轉(zhuǎn)移,(PC)←(PC)+2+rel否則程序順序執(zhí)行(PC)←(PC)+212/12/202253福州大學(xué)物理與信息工程學(xué)院A判零轉(zhuǎn)移指令12/11/202220福州大學(xué)物理與信息工程例1、將外RAM的一個數(shù)據(jù)塊(首地址為DATA1)傳送到內(nèi)部數(shù)據(jù)RAM(首地址為DATA2),遇到傳送的數(shù)據(jù)為零時停止傳送,試編程。解:
MOVR0,#DATA2
MOVDPTR,#DATA1MOVXA,@DPTR
JZLOOP2MOV@R0,AINCR0INCDPTRSJMPLOOP1LOOP2:SJMPLOOP2LOOP1:12/12/202254福州大學(xué)物理與信息工程學(xué)院例1、將外RAM的一個數(shù)據(jù)塊(首地址為DATA1)傳送到內(nèi)部比較轉(zhuǎn)移指令:比較指令中兩個操作數(shù)的值是否相等,若值不等,則轉(zhuǎn)移;若相等則順序執(zhí)行。同時影響CY標志位,若第一操作數(shù)<第二操作數(shù),則CY=1,否則CY=0是111條指令中僅有的4條三個操作數(shù)的指令12/12/202255福州大學(xué)物理與信息工程學(xué)院比較轉(zhuǎn)移指令:12/11/202222福州大學(xué)物理與信息工程CJNEA,direct,rel;(A)≠(direct)則轉(zhuǎn)移, (PC)←(PC)+3+relCJNEA,#data,rel;(A)≠(direct)則轉(zhuǎn)移, (PC)←(PC)+3+relCJNERn,#data,rel;
(A)≠(direct)則轉(zhuǎn)移, (PC)←(PC)+3+relCJNE@Ri,#data,rel;(A)≠(direct)則轉(zhuǎn)移, (PC)←(PC)+3+rel12/12/202256福州大學(xué)物理與信息工程學(xué)院CJNEA,direct,rel;(A)≠(d若左操作數(shù)=右操作數(shù),則程序順序執(zhí)行(PC)←(PC)+3,同時(CY)=0若左操作數(shù)>右操作數(shù),則轉(zhuǎn)移(PC)←(PC)+3+rel,同時(CY)=0若左操作數(shù)<右操作數(shù),則轉(zhuǎn)移(PC)←(PC)+3+rel,同時(CY)=1也用于數(shù)值比較,以CY狀態(tài)判斷數(shù)值大小。CJNE操作數(shù)1,操作數(shù)2,轉(zhuǎn)移地址標號12/12/202257福州大學(xué)物理與信息工程學(xué)院若左操作數(shù)=右操作數(shù),則程序順序執(zhí)行(PC)←(PC)+3,例如:
CJNEA,30H,NOTEQ;3分支轉(zhuǎn)移MOVA,R0;(A)=(30H)
AJMPWORK
NOTEQ:JCLITTER;(A)<(30H),轉(zhuǎn)MOVA,R1ACALLSUBLITTER:XXXX┋┋WORK:12/12/202258福州大學(xué)物理與信息工程學(xué)院例如:CJNEA,30H,NOTEQ;3分支減1非零轉(zhuǎn)移指令DJNZRn,rel;(Rn)←(Rn)-1,若(Rn)≠0則轉(zhuǎn)移,(PC)←(PC)+2+rel;若(Rn)=0則順序執(zhí)行(PC)←(PC)+2DJNZdirect,rel;(direct)←(direct)-1,若(direct)≠0則轉(zhuǎn)移,(PC)←(PC)+2+rel;若(direct)=0則順序執(zhí)行(PC)←(PC)+212/12/202259福州大學(xué)物理與信息工程學(xué)院減1非零轉(zhuǎn)移指令12/11/202226福州大學(xué)物理與信息工主要用于控制程序循環(huán),先把Rn或direct賦值循環(huán)次數(shù),利用減1條件轉(zhuǎn)移指令,以減1后是否為0作為轉(zhuǎn)移條件,即可實現(xiàn)按次數(shù)控制循環(huán)。12/12/202260福州大學(xué)物理與信息工程學(xué)院主要用于控制程序循環(huán),先把Rn或direct賦值循環(huán)次數(shù),利例:延時50ms程序
DELY:MOVR7,#200MOVR6,#125DEL2:DJNZR6,DEL2;125*2=250usDJNZR7,DEL1;0.25ms*200=50ms
RET
使用12MHz晶振時,一個機器周期為1us,執(zhí)行DJNZ指令為2us,加其他指令的時間(250+1+2)*200+1=50.301ms
使用例:
ACALLDELY或LCALLDELY
DEL1:12/12/202261福州大學(xué)物理與信息工程學(xué)院例:延時50ms程序
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 制造業(yè)項目標準合同模板
- 合同制優(yōu)化保獎服務(wù)套餐(7型)
- 裝修裝飾工程合同(三)
- 綠色通道綠化合同
- 租賃合同和解協(xié)議書格式示例
- 車輛質(zhì)押借款正式合同
- 公司簽訂安保人員合同范本范例
- 小學(xué)生拓展思維作文課件
- 臨終關(guān)懷服務(wù)的倫理決策案例考核試卷
- 城市配送與物流配送環(huán)節(jié)的風(fēng)險防范考核試卷
- 部隊通訊員培訓(xùn)
- 2024-2030年中國企業(yè)在安哥拉投資建設(shè)化肥廠行業(yè)供需狀況及發(fā)展風(fēng)險研究報告版
- 物業(yè)公司水浸、水管爆裂事故應(yīng)急處置預(yù)案
- 第四章第三節(jié)幼兒的親子關(guān)系(課件)-《幼兒心理學(xué)》(人教版第二版)
- 國企投資管理制度
- 部編版三年級下冊語文作業(yè)本參考答案
- SF-T0095-2021人身損害與疾病因果關(guān)系判定指南
- 2024并網(wǎng)光伏逆變器技術(shù)規(guī)范
- 文言文多文本閱讀:叔向見韓宣子(附答案解析與譯文)
- 工程招投標模擬實訓(xùn)報告范文2024年
- 系統(tǒng)脫敏治療的長期療效跟蹤評估
評論
0/150
提交評論