




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
控制轉(zhuǎn)移指令●無(wú)條件轉(zhuǎn)移指令根據(jù)其轉(zhuǎn)移范圍的大小可以分為五種方式:指令名稱指令格式執(zhí)行操作1.段內(nèi)直接短轉(zhuǎn)移JMPSHORTOPRIP←(IP)+8位位移量2.段內(nèi)直接近轉(zhuǎn)移JMPNEARPTROPRIP←(IP)+16位位移量3.段內(nèi)間接轉(zhuǎn)移JMPWORDPTROPRIP←(EA)4.段間直接轉(zhuǎn)移JMPFARPTROPRIP←OPR的段內(nèi)偏移地址CS←OPR所在段的段地址5.段間間接轉(zhuǎn)移JMPDWORDPTROPRIP←(EA)CS←(EA+2)●1.無(wú)條件轉(zhuǎn)移指令JMP●指令功能:無(wú)條件地轉(zhuǎn)移到由地址表達(dá)式所確定的目標(biāo)單元。●指令格式:JMP地址表達(dá)式無(wú)條件轉(zhuǎn)移指令的一般使用格式為:JMP符號(hào)地址●2.條件轉(zhuǎn)移指令(1)條件轉(zhuǎn)移指令●指令功能:根據(jù)前面指令形成的條件來(lái)確定轉(zhuǎn)移目的的地址。●指令操作:當(dāng)條件滿足時(shí)程序轉(zhuǎn)移至標(biāo)號(hào)處,轉(zhuǎn)移范圍只能在離當(dāng)前IP的-128?+127個(gè)字節(jié)之內(nèi)。按照轉(zhuǎn)移條件分為四類1.單個(gè)標(biāo)志位的條件轉(zhuǎn)移指令。如JZ(JE)、JP2.兩個(gè)無(wú)符號(hào)數(shù)比較的條件轉(zhuǎn)移指令。如JB(JNAE,JC)、JBE(JNA)3.兩個(gè)有符號(hào)數(shù)比較的條件轉(zhuǎn)移指令。如JLE(JNG)、JNL(JGE)4.測(cè)試(CX)=0的條件轉(zhuǎn)移指令。如JCXZ指令分類指令格式執(zhí)行條件1.單個(gè)標(biāo)志位的條件轉(zhuǎn)移指令JZ(JE)標(biāo)號(hào)ZF=1JNZ(JNE)標(biāo)號(hào)ZF=0JS標(biāo)號(hào)SF=1JNS標(biāo)號(hào)SF=0JO標(biāo)號(hào)OF=1JNO標(biāo)號(hào)OF=0JP標(biāo)號(hào)PF=1JNP標(biāo)號(hào)PF=0JC標(biāo)號(hào)CF=1JNC標(biāo)號(hào)CF=02.兩個(gè)無(wú)符號(hào)數(shù)比較的條件轉(zhuǎn)移指令JB(JNAE)標(biāo)號(hào)CF=1(<)JNB(JAE)標(biāo)號(hào)CF=0(≥)JBE(JNA)標(biāo)號(hào)CF∨ZF=1(≤)JNBE(JA)標(biāo)號(hào)CF∨ZF=0(>)3.兩個(gè)有符號(hào)數(shù)比較的條件轉(zhuǎn)移指令JL(JNGE)標(biāo)號(hào)SF⊕OF=1(<)JNL(JGE)標(biāo)號(hào)SF⊕OF=0(≥)JLE(JNG)標(biāo)號(hào)(SF⊕OF)∨ZF=1(≤)JNLE(JG)標(biāo)號(hào)(SF⊕OF)∨ZF=0(>)●3.(1)計(jì)數(shù)循環(huán)指令LOOP循環(huán)控制指令
●指令格式:LOOPOPR●指令功能:每執(zhí)行一次LOOP指令,CX的內(nèi)容減“1”,若(CX)≠0,則循環(huán)轉(zhuǎn)移到目的地址TARGET重復(fù)執(zhí)行其間的程序段,直到(CX)=0,退出循環(huán),順序執(zhí)行下條指令。例[4-18]把數(shù)據(jù)區(qū)buffer內(nèi)的50個(gè)有符號(hào)字節(jié)數(shù)將正(零歸正數(shù))、負(fù)數(shù)分開(kāi),并分別送到NUM1和NUM2兩個(gè)緩沖區(qū)的程序如下:
LEA SI,BUFFER LEA DI,NUM1 LEA BX,NUM2 MOV CX,50BEG: MOVAL,[SI]INCSI TEST AL,80H JNZ MINUS MOV [DI],ALINCDI JMP AGAINMINUS:MOV [BX],ALINCBXAGAIN:LOOP BEG HLT(2)結(jié)果為零或相等時(shí)循環(huán)指令LOOPE/LOOPZ●指令格式:LOOPZ(LOOPE)
OPR●指令功能:使(CX)-1→CX,當(dāng)(CX)≠0,且ZF=1時(shí),則循環(huán)轉(zhuǎn)移至目的地址TATGET去重復(fù)執(zhí)行其間的程序段。當(dāng)(CX)=0,或ZF=0,退出循環(huán),順序執(zhí)行本指令的下條指令。例[4–19]找出以NUM為首地址的100個(gè)字節(jié)數(shù)組中第一個(gè)非零項(xiàng),并將其置于AL中,數(shù)組中若無(wú)非零項(xiàng),則(AL)=0。程序如下:
MOV CX,100 LEA BX,NUM MOV SI,0FFFFHZERO:INC SI CMP BYTEPTR[BX+SI],0 LOOPZZERO JZ OVER MOV AL,[BX+SI] JMP DONEOVER:MOV AL,0DONE:HLT(3)結(jié)果不為零或不相等時(shí)循環(huán)指令LOOPNE/LOOPNZ●指令格式:LOOPNZ(LOOPNE)
OPR●循環(huán)條件:ZF=0且
(CX)≠0●執(zhí)行操作:①
(CX)←(CX)-1;②檢查是否滿足循環(huán)條件:
如滿足則實(shí)行循環(huán); 不滿足則退出循環(huán)。過(guò)程調(diào)用指令CALL與返回指令RET●4.為便于模塊化程序設(shè)計(jì),可把某些經(jīng)常重復(fù)出現(xiàn)的一段程序獨(dú)立編制成一個(gè)模塊,稱為一個(gè)子過(guò)程或子程序。程序中可由調(diào)用指令CALL調(diào)用子程序,在子程序執(zhí)行完成后又用返回指令RET返回調(diào)用程序繼續(xù)執(zhí)行?!襁^(guò)程調(diào)用指令CALL必須同返回指令RET成對(duì)使用?!襁^(guò)程定義的形式如下(詳見(jiàn)第五章“偽指令”):過(guò)程名
PROC[near/far]
過(guò)程體
RET
過(guò)程名 ENDP(1)CALL指令①段內(nèi)直接調(diào)用●指令格式:CALL DST●執(zhí)行操作:SP←(SP)-2
(SP)+1,(SP)←(IP)
IP←(IP)+16位位移量②段內(nèi)間接調(diào)用●指令格式:CALL DST●執(zhí)行操作:SP←(SP)-2
(SP)+1,(SP)←(IP)
IP←(EA)過(guò)程調(diào)用指令CALL與返回指令RET●4.(1)CALL指令③段間直接調(diào)用●指令格式:CALL DST●執(zhí)行操作:SP←(SP)-2
(SP)+1,(SP)←(CS)
SP←(SP)-2(SP)+1,(SP)←(IP)
IP←
偏移地址
CS←
段地址④段間間接調(diào)用●指令格式:CALL DST●執(zhí)行操作:SP←(SP)-2
(SP)+1,(SP)←(CS)
SP←(SP)-2(SP)+1,(SP)←(IP)
IP←
(EA)
CS←(EA+2)CALL指令不影響標(biāo)志位常用格式:CALL子程序名過(guò)程調(diào)用指令CALL與返回指令RET(2)①段內(nèi)返回●指令格式:RET●執(zhí)行操作:IP←((SP)+1,(SP))
SP←(SP)+2②段內(nèi)帶立即數(shù)返回●指令格式:RETn●執(zhí)行操作:IP←((SP)+1,(SP))
SP←(SP)+2SP←(SP)+n
④段間帶立即數(shù)返回●指令格式:RETn●執(zhí)行操作:IP←((SP)+1,(SP))SP←(SP)+2CS←((SP)+1,(SP))SP←(SP)+2
SP←(SP)+n返回指令RET
③段間返回
●指令格式:RET
●執(zhí)行操作:IP←((SP)+1,(SP))SP←(SP)+2CS←((SP)+1,(SP))SP←(SP)+2●4.RET指令不影響標(biāo)志位中斷調(diào)用與返回指令●5.將在第七章中介紹CLC ;CF←0STC ;CF←1CMC ;CF求反,即CF←┓CFCLD
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司讀書(shū)會(huì)策劃方案
- 公司租車(chē)活動(dòng)方案
- 公司文娛游戲活動(dòng)方案
- 公司新人培養(yǎng)活動(dòng)方案
- 公司福利房活動(dòng)方案
- 公司生日小活動(dòng)方案
- 公司組織電影活動(dòng)方案
- 公司改善之星活動(dòng)方案
- 公司新年patty活動(dòng)方案
- 公司紀(jì)念活動(dòng)方案
- 2023版《護(hù)理分級(jí)標(biāo)準(zhǔn)》解讀
- 2025年貴州省普通高中學(xué)業(yè)水平模擬考試物理試卷
- 常州保安證考試題及答案
- 《合理用藥安全教育》課件
- NES-3000 ECDIS電子海圖顯示與信息系統(tǒng)操作手冊(cè)
- 2025年上半年內(nèi)蒙古包頭市市直事業(yè)單位招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 雪亮工程可行性研究報(bào)告
- 2025年度人工智能產(chǎn)業(yè)投資基金入股協(xié)議4篇
- 聚脲涂料施工方案
- T-CCIASD 10012-2024 ISO 標(biāo)準(zhǔn)集裝箱用水性涂料
- 激越管理的22項(xiàng)建議(精神科患者激越的評(píng)估和管理)
評(píng)論
0/150
提交評(píng)論