《控制轉(zhuǎn)移類指令》PPT課件_第1頁
《控制轉(zhuǎn)移類指令》PPT課件_第2頁
《控制轉(zhuǎn)移類指令》PPT課件_第3頁
《控制轉(zhuǎn)移類指令》PPT課件_第4頁
《控制轉(zhuǎn)移類指令》PPT課件_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

五、控制轉(zhuǎn)移類指令,能夠使程序的執(zhí)行流程發(fā)生改變的指令1.無條件轉(zhuǎn)移JMP轉(zhuǎn)移指令只要執(zhí)行無條件轉(zhuǎn)移指令JMP,就使程序轉(zhuǎn)移到指定的目標(biāo)地址,從目標(biāo)地址處開始執(zhí)行指令。操作:有以下幾種類型段內(nèi)直接短轉(zhuǎn)移JMPSHORTopr;(IP)(IP)+Data8Data8是一個字節(jié)的補碼數(shù)范圍:128+127,段內(nèi)直接近轉(zhuǎn)移JMPNEARPTRopr(IP)(IP)+Data16Data16是兩個字節(jié)的補碼數(shù)范圍:32768+32767段內(nèi)間接轉(zhuǎn)移JMPWORDPTRopr(IP)寄存器或存儲器操作數(shù)段間直接轉(zhuǎn)移JMPFARPTRopr指令中用立即數(shù)的形式指出目標(biāo)位置的段地址和偏移量,段間間接轉(zhuǎn)移JMPDWORDPTRopr目標(biāo)位置的段地址和偏移量保存在存儲器中說明:在匯編語言中通常使用標(biāo)號表示要轉(zhuǎn)移到的位置。在DEBUG環(huán)境中通常使用直接指出的是將要轉(zhuǎn)移到的位置。使用該指令,可以使程序流程改變到任何目標(biāo)位置。,2.條件轉(zhuǎn)移根據(jù)判斷條件是否成立決定是否轉(zhuǎn)移。按照判斷條件的不同分為以下類型:單個標(biāo)志、無符號數(shù)判斷、有符號數(shù)判斷、CX寄存器。條件轉(zhuǎn)移都是段內(nèi)直接短轉(zhuǎn)移,即(IP)=(IP)+Data8類型的轉(zhuǎn)移。判斷單個標(biāo)志ZF:JZ(JE),JNZ(JNE)SF:JS,JNSOF:JO,JNOPF:JP,JNPCF:JC,JNC,判斷無符號數(shù)的大小助記符中的意義:A:大于,B:小于,E:等于JB(JNAE),JNB(JAE)同JC,JNC,JBE(JNA),JNBE(JA):判斷CFandZF判斷有符號數(shù)的大小助記符中的意義:G:大于,L:小于,E:等于JL(JNGE):SFxorOF=1JNL(JGE):SFxorOF=0JLE(JNG):(SFxorOF)andZF=1JNLE(JG):(SFxorOF)andZF=0,使用比較大小的指令時,必須區(qū)分是有符號數(shù)還是無符號數(shù)。,判斷CX寄存器JCXZ:CX=03.循環(huán)循環(huán)指令的轉(zhuǎn)移也都是段內(nèi)直接短轉(zhuǎn)移,即(IP)(IP)+Data8類型的轉(zhuǎn)移。LOOP循環(huán)判斷CX是否等于零,不等于零則循環(huán)LOOPZ(LOOPE)當(dāng)為零或相等時循環(huán)判斷CX是否等于零,不等于零且ZF=1則循環(huán)LOOPNZ(LOOPNE)當(dāng)不為零或不相等時循環(huán)判斷CX是否等于零,不等于零且ZF=0則循環(huán),操作:CXCX1根據(jù)判斷結(jié)果確定是否循環(huán)說明:循環(huán)指令不影響狀態(tài)標(biāo)志。如果目標(biāo)位置的位移量超出Data8所能夠表示的范圍,則需要用JMP輔助來完成循環(huán)。,4.子程序調(diào)用CALL子程序調(diào)用指令用法:CALLdst說明:由編譯程序自動匹配為某種尋址方式RET子程序返回指令用法:RET段內(nèi)返回:IPSP,SPSP+2段間返回:IPSP,SPSP+2,CSSP,SPSP+2編譯程序自動匹配為段內(nèi)或段間的返回,RETData16在RET的基礎(chǔ)上,把SP再加上一個字?jǐn)?shù)據(jù):SPSP+Data16,六、處理器控制指令,1.標(biāo)志處理指令CLC對CF清零,CF0STC對CF置位,CF1CMC對CF取反,CFCFCLD對DF清零,DF0STD對DF置位,DF1CLI對IF清零,IF0STI對IF置位,IF1,2.外部同步指令HLT(Halt)停機處理器停止工作,等到外部中斷到來,中斷結(jié)束后繼續(xù)向下執(zhí)行。WAIT(Wait)等待處理器處于等待狀態(tài),等到外部的TEST引腳上的低電平到來。ESC(Escape)換碼該指令是一個交權(quán)的指令前綴,把指令給協(xié)處理處理。一般和WAIT指令一起使用,通過TEST引腳和協(xié)處理器同步。,LOCK(Lock)封鎖該指令是一個前綴,使得

溫馨提示

  • 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

提交評論