版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)原理及應(yīng)用第五章8086指令系統(tǒng)第三十講
程序控制指令之條件轉(zhuǎn)移指令下面我們來(lái)學(xué)習(xí)串操作指令程序控制指令之條件轉(zhuǎn)移指令下面我們繼續(xù)學(xué)習(xí)無(wú)條件轉(zhuǎn)移指令中的段間轉(zhuǎn)移指令;斷間轉(zhuǎn)移指令就是要跳轉(zhuǎn)到另外一個(gè)代碼段因此,跳轉(zhuǎn)的時(shí)候既要修改CS的值,又要修改IP的值段間轉(zhuǎn)移指令跳轉(zhuǎn)到另外一個(gè)代碼段修改CS,IP的值跳轉(zhuǎn)時(shí)段間轉(zhuǎn)移指令段間轉(zhuǎn)移指令也分段間直接轉(zhuǎn)移指令和段間間接轉(zhuǎn)移指令如果指令中顯式的給出了CS和IP的值,這種指令就是段間直接轉(zhuǎn)移直接轉(zhuǎn)移指令段間間接轉(zhuǎn)移指令CSIP段間直接轉(zhuǎn)移段間轉(zhuǎn)移指令如果指令中沒(méi)有顯式的給出CS和IP的值,而是放到存儲(chǔ)單元中,那么就是段間間接轉(zhuǎn)移請(qǐng)同學(xué)們注意,這種情況下,只能放到存儲(chǔ)單元中,直接轉(zhuǎn)移指令段間間接轉(zhuǎn)移指令沒(méi)有顯式放到存儲(chǔ)單元段間間接轉(zhuǎn)移段間轉(zhuǎn)移指令因?yàn)镃S和IP一共32個(gè)比特,不能放在寄存器中了直接轉(zhuǎn)移指令段間間接轉(zhuǎn)移指令沒(méi)有顯式放到存儲(chǔ)單元段間間接轉(zhuǎn)移CS和IP一共32個(gè)bit,不能放在寄存器中段間直接尋址首先,我們來(lái)看一下段間直接尋址操作碼后面的兩個(gè)立即數(shù)分別用來(lái)cs和IP的內(nèi)容,轉(zhuǎn)移到CS和IP指向的位置上去CSIP操作碼后兩個(gè)立即數(shù)顯示cs和IP的內(nèi)容段間直接尋址存放在高地址的位置上其中,IP的值存放在低地址的位置上,cs的值存放在高地址的位置上存放在低地址的位置上IPCS操作碼后兩個(gè)立即數(shù)顯示cs和IP的內(nèi)容比如,這個(gè)例子;JMP8000h冒號(hào)1200h;這里的8000h就是新的CS,1200H就是新的IP執(zhí)行這條指令后,的程序會(huì)跳轉(zhuǎn)到81200這個(gè)位置上繼續(xù)執(zhí)行操作碼81200HIP120000120080操作碼CS8000JMP8000H:1200HCSIP繼續(xù)執(zhí)行段間間接轉(zhuǎn)移就是,CS和IP的值沒(méi)有顯示的給出;而是放到了其他的位置上,比如這條指令JMPdwordptr[bx],它將CS和IP的值存放在bx起始的內(nèi)存單元中的雙字里,段間間接轉(zhuǎn)移CS和IP的值未顯示且放到其他位置上JMPdwordptr[bx]IPCSbx起始的內(nèi)存單元中的雙字里其中低地址存放的字是IP的值,高地址存放的字是CS的值段間間接轉(zhuǎn)移低地址IP高地址CS比如這個(gè)例子中;找到bx起始的內(nèi)存單元的物理地址是33000h;從33000h起始的一個(gè)字存放的是IP的值下一個(gè)字存放的是CS的值操作碼IP200BHOB2010CS8010H8033000H30000DS+)3000BX33000內(nèi)存單元IP的值CS的值因此,新的指令存放在8010h:200bh的位置上操作碼IP200BHOB2010CS8010H8033000H30000DS+)3000BX33000內(nèi)存單元IP的值CS的值新的指令存放在8010h:200bh的位置上條件相對(duì)轉(zhuǎn)移指令下面來(lái)看一下條件轉(zhuǎn)移指令;條件轉(zhuǎn)移指令也稱為條件相對(duì)轉(zhuǎn)移指令;就是先判斷條件是否滿足,當(dāng)條件滿足的時(shí)候才會(huì)跳轉(zhuǎn),否則就順序執(zhí)行我們用JCC來(lái)表示,這里的CC就是指條件,通常是標(biāo)志位的狀態(tài),如果標(biāo)志位的狀態(tài)滿足IP就會(huì)跳轉(zhuǎn)到給定的位置,如果標(biāo)志位的狀態(tài)不滿足,那么程序直接將IP+2,指向下一條指令條件轉(zhuǎn)移指令[IP]+DISP→IP,轉(zhuǎn)移至IP條件CC成立[IP]+2→IP,程序順序執(zhí)行條件CC不成立我們用JCC來(lái)表示,這里的CC就是指條件,通常是標(biāo)志位的狀態(tài),如果標(biāo)志位的狀態(tài)滿足IP就會(huì)跳轉(zhuǎn)到給定的位置,如果標(biāo)志位的狀態(tài)不滿足,那么程序直接將IP+2,指向下一條指令[IP]+DISP→IP,轉(zhuǎn)移至IP條件CC成立[IP]+2→IP,程序順序執(zhí)行條件CC不成立條件標(biāo)志位的狀態(tài)狀態(tài)滿足IP跳轉(zhuǎn)給定的位置狀態(tài)不滿足IPIP+2,指向下一條指令段內(nèi)短轉(zhuǎn)移請(qǐng)同學(xué)們注意,所有的條件轉(zhuǎn)移指令都是直接尋址方式的段內(nèi)短轉(zhuǎn)移,只能在以IP為中心的-128到正127的范圍內(nèi)轉(zhuǎn)移IP-128~+127范圍轉(zhuǎn)移直接尋址方式另外一點(diǎn)需要注意的是,這里的條件是標(biāo)志位的狀態(tài),標(biāo)志位的狀態(tài)會(huì)因?yàn)橹噶畹膱?zhí)行而被不斷的修改,所以,跳轉(zhuǎn)指令不會(huì)離獲取標(biāo)志位的指令太遠(yuǎn),防止標(biāo)志位被更新,導(dǎo)致導(dǎo)致失敗條件:標(biāo)志位的狀態(tài)因指令執(zhí)行被不斷修改不會(huì)離獲取標(biāo)志位的指令太遠(yuǎn)跳轉(zhuǎn)指令防止標(biāo)志位更新段內(nèi)短轉(zhuǎn)移IP-128~+127范圍轉(zhuǎn)移直接尋址方式常用的條件轉(zhuǎn)移指令如表所示;其中一些我們之前用過(guò)了;比如JC,JZ;其實(shí),條件轉(zhuǎn)移指令常常會(huì)判斷cf、zf、SF和OF的狀態(tài)標(biāo)志位指令轉(zhuǎn)移條件功能說(shuō)明CFJCCF=1有進(jìn)位/借位JNCCF=0無(wú)進(jìn)位/借位ZFJE/JZZF=1相等/結(jié)果等于0JNE/JNZZF=0不相等/結(jié)果不為0SFJSSF=1是負(fù)數(shù)JNSSF=0是正數(shù)OFJOOF=1有溢出JNOOF=0無(wú)溢出CFZFSFOF例如,如果當(dāng)運(yùn)算結(jié)果有進(jìn)位或借位的時(shí)候就跳轉(zhuǎn),我們就可以用JC,如果當(dāng)運(yùn)算結(jié)果沒(méi)有進(jìn)位或借位的時(shí)候就跳轉(zhuǎn),我們就可以用JNC;其他標(biāo)志位的用法一樣標(biāo)志位指令轉(zhuǎn)移條件功能說(shuō)明CFJCCF=1有進(jìn)位/借位JNCCF=0無(wú)進(jìn)位/借位ZFJE/JZZF=1相等/結(jié)果等于0JNE/JNZZF=0不相等/結(jié)果不為0SFJSSF=1是負(fù)數(shù)JNSSF=0是正數(shù)OFJOOF=1有溢出JNOOF=0無(wú)溢出其他標(biāo)志位用法一致條件轉(zhuǎn)移指令根據(jù)cf或cf和zf的狀態(tài),判斷無(wú)符號(hào)數(shù)的大小除了這些,還有一些條件轉(zhuǎn)移指令也常用;比如基于兩個(gè)或者三個(gè)標(biāo)志位條件轉(zhuǎn)移指令JA/JAE/JB/JBE它們是根據(jù)cf或cf和zf的狀態(tài),判斷無(wú)符號(hào)數(shù)的大小,JA是當(dāng)大于的時(shí)候跳轉(zhuǎn),JAE是當(dāng)大于等于的時(shí)候跳轉(zhuǎn),JB是當(dāng)小于的時(shí)候跳轉(zhuǎn),JBE是當(dāng)小于等于的時(shí)候跳轉(zhuǎn)基于兩個(gè)或者三個(gè)標(biāo)志位條件轉(zhuǎn)移指令:JA/JAE/JB/JBE當(dāng)大于時(shí)跳轉(zhuǎn)JA當(dāng)大于等于時(shí)跳轉(zhuǎn)JAE當(dāng)小于時(shí)跳轉(zhuǎn)JB當(dāng)小于等于時(shí)跳轉(zhuǎn)JBE如果是判斷有符號(hào)數(shù)的大小,可以用JG/JGE/JL/JLE它們是根據(jù)sf和of或SF和OF和ZF的狀態(tài)判斷有符號(hào)數(shù)的大小還有些不是基于標(biāo)志位條件轉(zhuǎn)移,比如基于cx的值的轉(zhuǎn)移Jcxz,就是說(shuō)當(dāng)cx為0的時(shí)候轉(zhuǎn)移到指定的位置JG/JGE/J
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企事業(yè)單位環(huán)境保護(hù)管理手冊(cè)
- 2025年企業(yè)并購(gòu)重組與整合指南
- 超市員工培訓(xùn)及考核標(biāo)準(zhǔn)制度
- 超市商品銷售及價(jià)格調(diào)整制度
- 2026年武漢市第三十二中學(xué)招聘初中教師備考題庫(kù)及1套參考答案詳解
- 2026年深圳市第二人民醫(yī)院健康管理中心招聘?jìng)淇碱}庫(kù)及1套完整答案詳解
- 養(yǎng)老院工作人員服務(wù)禮儀規(guī)范制度
- 2026年永昌縣中醫(yī)院招聘?jìng)淇碱}庫(kù)及參考答案詳解
- 中國(guó)國(guó)際貨運(yùn)航空股份有限公司西南大區(qū)2026屆高校畢業(yè)生招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 2026年茂名市電白區(qū)馬踏鎮(zhèn)衛(wèi)生院公開(kāi)招聘編外人員備考題庫(kù)及一套參考答案詳解
- 2025-2026學(xué)年外研版八年級(jí)上冊(cè)英語(yǔ)期末模擬考試題(含答案)
- 連鎖超市總部部門崗位職責(zé)說(shuō)明書
- 2024年包頭輕工職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)附答案解析
- “五個(gè)帶頭”方面對(duì)照發(fā)言材料二
- 國(guó)際物流海外倉(cāng)直發(fā)合同
- 國(guó)家義務(wù)教育質(zhì)量監(jiān)測(cè)體育體系
- 2025年中考數(shù)學(xué)壓軸訓(xùn)練:一次函數(shù)綜合題 (學(xué)生版)
- 操作系統(tǒng)安全基礎(chǔ)的課件
- 2025年UOM無(wú)人機(jī)理論培訓(xùn)合格證題庫(kù)及答案
- 質(zhì)量管理部門介紹
- 江蘇省南京市南京師范大學(xué)附屬中學(xué)2025年高二上生物期末聯(lián)考試題含解析
評(píng)論
0/150
提交評(píng)論