版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 1 13. 調(diào)用及返回 (地址a) # (a+ 1) # (地址b) # (b+1) # # CALL * MOV AX, 66H . RET臨執(zhí)行CALL指令前(已讀取該CALL指令), CS:IP = a+2在執(zhí)行CALL指令后,即有執(zhí)行結(jié)果 CS:IP = b在執(zhí)行RET指令后,即有執(zhí)行結(jié)果 CS:IP = a+2 23. 調(diào)用及返回調(diào)用是一種要返回的轉(zhuǎn)移,先保護(hù)返回地址: 近調(diào)用 IP 遠(yuǎn)調(diào)用 CS : IP(見下頁堆棧示意圖)從尋址方式上分: 直接尋址調(diào)用 間接尋址調(diào)用 3堆棧段00000SSSP FFFFFHIPSP - 2近調(diào)用保護(hù)返回的 IP 值存儲(chǔ)器 4 近調(diào)用和返回CAL
2、L 近過程名 ;先IP入棧,后轉(zhuǎn)移到過程。 匯編時(shí)目標(biāo)地址 IP = disp , 雙字節(jié)補(bǔ)碼。執(zhí)行時(shí) IP+ disp 轉(zhuǎn)入目標(biāo) (相對(duì)轉(zhuǎn)移)。IP入棧相當(dāng)于 PUSH IP , 但由CALL自動(dòng)完成,稱隱堆棧操作。 5直接調(diào)用DATASEGMENTSUPADW SUP2 ; 定義SUP2的地址SUPB DD SUP5 ; 定義SUP5的地址DATAENDSCODESEGMENT。SUP2PROC near。RET 。SUP5PROC far。RETCALL SUP2 ; 直接調(diào)用SUP2 6返回指令RET被調(diào)用過程的最后一條是 RET 指令:從棧頂彈出IP,返回主程CALL的下一條。IP彈
3、出相當(dāng)于 POP IP , 但由RET自動(dòng) 完成,也稱隱堆棧操作。CALL/RET 成對(duì)使用,堆棧復(fù)原。注意:有如 JMP SHORT target 這樣的短轉(zhuǎn)移, 但沒有短調(diào)用。 7(2)間址調(diào)用CALL reg16; reg16內(nèi)容當(dāng)目標(biāo)地址,IP (reg16),寄存器間址調(diào)用CALL mem16 ; mem16內(nèi)容當(dāng)目標(biāo)地址, IP (mem16),存儲(chǔ)器間址調(diào)用 8直接調(diào)用和間址調(diào)用比較DATASEGMENTSUPA DW SUP2 ; 定義SUP2的地址SUPB DD SUP5 ; 定義SUP5的地址DATAENDSCODESEGMENT。 SUP2PROC near。RET SU
4、P2 ENDPCALL SUP2 ; 直接調(diào)用SUP2CALL SUPA ; 存儲(chǔ)器間址調(diào)用 MOV BX, SUPA CALL BX ; 寄存器間址調(diào)用 9 先CS入棧,后IP入棧, 再轉(zhuǎn)到遠(yuǎn)過程。CALL 遠(yuǎn)過程名 ; 直接遠(yuǎn)調(diào)用,CALL mem32 ; 存儲(chǔ)器間址遠(yuǎn)調(diào)用。遠(yuǎn)調(diào)用和返回遠(yuǎn)調(diào)用隱含2次入棧操作(32位)。 10RET ;遠(yuǎn)返回,CS : IP出棧 (遠(yuǎn)過程執(zhí)行的最后一條指令)遠(yuǎn)調(diào)用和返回遠(yuǎn)返回也隱含2次出棧(32位)。遠(yuǎn)調(diào)用和遠(yuǎn)返回成對(duì),堆棧復(fù)原。 11直接調(diào)用和間址調(diào)用比較DATASEGMENTSUPADW SUP2 ; 定義SUP2的地址SUPB DD SUP5 ; 定
5、義SUP5的地址DATAENDSCODESEGMENT。SUP2PROC near。RET 。SUP5PROC far。RETCALL SUP5 ; 直接調(diào)用SUP5CALL SUPB ; 存儲(chǔ)器間址調(diào)用 12RET 2*N ;帶操作數(shù)的返回指令(見P382) 例: RET 2 正常返回后再SP加2*N (即,SP SP+2*N), 釋放堆棧。帶參數(shù)調(diào)用過程前,先將參數(shù)壓入堆棧 (SP-2), 過程中使用參數(shù)。過程返回后釋放堆棧(SP + 2)。 13RET 2 例 。CODESEGMENT。 MOV AX, 0F123H PUSH AXCALLSUP5 ; 直接調(diào)用遠(yuǎn)過程SUP5 。SUP5
6、PROC far PUSH BP MOV BP,SP MOV AX,BP+6 . . . POP BP RET 2 . . . SUP5 ENDP 14帶參數(shù)調(diào)用過程舉例主程序:MOV AX,參數(shù)PUSH AX ;壓入CALL 遠(yuǎn)過程名. . .原SP參數(shù)H參數(shù)L返回的CS返回的CS返回的IP返回的IP最后SP堆棧 15遠(yuǎn)過程:PUSH BPMOV BP,SPMOV AX,BP+6. . . POP BPRET 2最先SP參數(shù)H參數(shù)L返回的CS返回的CS返回的IP返回的IP開始SPBPBP最后SP堆棧 164.中斷及返回中斷是一種存儲(chǔ)器間址的遠(yuǎn)調(diào)用。 INT n ; 中斷類型號(hào)n= 0 255
7、類型號(hào) n 的服務(wù)程序入口地址IPLIPHCSLCSHn 4+ 1+ 2+ 3先 FLAGS入棧,再CS入棧、IP 入棧,然后轉(zhuǎn)入中斷服務(wù)程序4*1CH +1 +2 +3入口IP入口CS中斷矢量表 INT 1CH的中斷服務(wù)程序 IRET . .INT 1CH . .指令1指令2 INTP1C PROC FARINTP1C ENDP 1800000SSSP FFFFFH第一次壓入此處FlagsCSIP堆棧段SP - 6 19中斷返回 IRET ; 注:不可帶操作數(shù)彈出IP、彈出CS、彈出FLAGSINT n 和 IRET 各隱含3次堆棧操作(6字節(jié)),也必須成對(duì)使用。 20中斷指令1 . INT
8、 n 指令的機(jī)器碼一般是2字節(jié)。-僅 INT 3 、INTO 各為1字節(jié) (參見教材P382-383)。3.除 INT n指令(軟中斷)外,還有外部硬件 電路信號(hào)引發(fā)的硬中斷,也要形成中斷類型 號(hào) n ,找到中斷矢表,轉(zhuǎn)入中斷服務(wù)。2 . 中斷類型號(hào)(n)0255。 中斷服務(wù)程序入口地址集中排在內(nèi)存地址 低區(qū)1K字節(jié)(0 3FFH),形成中斷矢量表。 21六.CPU控制指令標(biāo)志位操作對(duì)CF、DF、IF的置1 / 清0等 CLC ; (CF) 0 STC ; (CF) 1 CMC ; NOT CF CLD ; (DF) 0 STD ; (DF) 1 CLI ; (IF) 0 使CPU禁止響應(yīng)可屏蔽中斷請(qǐng)求 STI ; (IF) 1 使CPU可以響應(yīng)可屏蔽中斷請(qǐng)求 22CPU控制指令 (續(xù))2. NOP 占1字節(jié)空間,占3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年適用:高科技研發(fā)項(xiàng)目合作合同
- 2024蘋果種植基地灌溉系統(tǒng)改造合同3篇
- 2024網(wǎng)絡(luò)游戲開發(fā)與發(fā)行委托合同
- 2024年04月貴州貴州省農(nóng)村信用社高校畢業(yè)生專場(chǎng)網(wǎng)絡(luò)招考活動(dòng)筆試歷年參考題庫附帶答案詳解
- 2025年度柴油發(fā)電機(jī)租賃及電力市場(chǎng)交易合同4篇
- 2024石材干掛工程安全生產(chǎn)與環(huán)境保護(hù)合同3篇
- 二零二五版窗簾安裝與室內(nèi)環(huán)境檢測(cè)服務(wù)合同3篇
- 2025年度知識(shí)產(chǎn)權(quán)跨境交易及法律服務(wù)合同4篇
- 個(gè)人房產(chǎn)買賣合同2024年版5篇
- 2025年度健康醫(yī)療大數(shù)據(jù)研發(fā)與應(yīng)用合同范本4篇
- 寒潮雨雪應(yīng)急預(yù)案范文(2篇)
- DB33T 2570-2023 營商環(huán)境無感監(jiān)測(cè)規(guī)范 指標(biāo)體系
- 上海市2024年中考英語試題及答案
- 房屋市政工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)(2024版)宣傳海報(bào)
- 垃圾車駕駛員聘用合同
- 2025年道路運(yùn)輸企業(yè)客運(yùn)駕駛員安全教育培訓(xùn)計(jì)劃
- 南京工業(yè)大學(xué)浦江學(xué)院《線性代數(shù)(理工)》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024版機(jī)床維護(hù)保養(yǎng)服務(wù)合同3篇
- 《論拒不執(zhí)行判決、裁定罪“執(zhí)行能力”之認(rèn)定》
- 工程融資分紅合同范例
- 2024國家安全員資格考試題庫加解析答案
評(píng)論
0/150
提交評(píng)論