微機原理80x86指令系統(tǒng)

微機原理80x86指令系統(tǒng)

ID:40448128

大小:463.60 KB

頁數(shù):12頁

時間:2019-08-02

微機原理80x86指令系統(tǒng)_第1頁
微機原理80x86指令系統(tǒng)_第2頁
微機原理80x86指令系統(tǒng)_第3頁
微機原理80x86指令系統(tǒng)_第4頁
微機原理80x86指令系統(tǒng)_第5頁
資源描述:

《微機原理80x86指令系統(tǒng)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、五、控制轉(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ù)⑷段間直接

2、轉(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)移。⑴判斷單

3、個標(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使用比

4、較大小的指令時,必須區(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)操作:①CX←CX-1②根據(jù)判斷結(jié)果確定是否循環(huán)說明:①循環(huán)指令不影響狀態(tài)標(biāo)志。②如果目標(biāo)位置的位移量超出Data8所能夠表示的

5、范圍,則需要用JMP輔助來完成循環(huán)。4.子程序調(diào)用CALL子程序調(diào)用指令用法:CALLdst說明:由編譯程序自動匹配為某種尋址方式RET子程序返回指令用法:RET段內(nèi)返回:IP←[SP],SP←SP+2段間返回:IP←[SP],SP←SP+2,CS←[SP],SP←SP+2編譯程序自動匹配為段內(nèi)或段間的返回RETData16在RET的基礎(chǔ)上,把SP再加上一個字?jǐn)?shù)據(jù):SP←SP+Data16六、處理器控制指令1.標(biāo)志處理指令CLC對CF清零,CF←0STC對CF置位,CF←1CMC對CF取反,CF←CFCLD對DF清零,

6、DF←0STD對DF置位,DF←1CLI對IF清零,IF←0STI對IF置位,IF←12.外部同步指令HLT(Halt)停機處理器停止工作,等到外部中斷到來,中斷結(jié)束后繼續(xù)向下執(zhí)行。WAIT(Wait)等待處理器處于等待狀態(tài),等到外部的TEST引腳上的低電平到來。ESC(Escape)換碼該指令是一個交權(quán)的指令前綴,把指令給協(xié)處理處理。一般和WAIT指令一起使用,通過TEST引腳和協(xié)處理器同步。LOCK(Lock)封鎖該指令是一個前綴,使得使用此前綴的指令執(zhí)行時一直維持總線封鎖狀態(tài)。3.空操作指令NOP(NoOpera

7、tion)空操作一個字節(jié)的機器碼,不執(zhí)行任何操作,常用在調(diào)試程序時使用。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。