計(jì)算機(jī)原理:第二章微型機(jī)指令系統(tǒng)3of4_第1頁
計(jì)算機(jī)原理:第二章微型機(jī)指令系統(tǒng)3of4_第2頁
計(jì)算機(jī)原理:第二章微型機(jī)指令系統(tǒng)3of4_第3頁
計(jì)算機(jī)原理:第二章微型機(jī)指令系統(tǒng)3of4_第4頁
計(jì)算機(jī)原理:第二章微型機(jī)指令系統(tǒng)3of4_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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) (相對轉(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 成對使用,堆棧復(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)返回成對,堆棧復(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 ; 中斷類型號n= 0 255

7、類型號 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é)),也必須成對使用。 20中斷指令1 . INT

8、 n 指令的機(jī)器碼一般是2字節(jié)。-僅 INT 3 、INTO 各為1字節(jié) (參見教材P382-383)。3.除 INT n指令(軟中斷)外,還有外部硬件 電路信號引發(fā)的硬中斷,也要形成中斷類型 號 n ,找到中斷矢表,轉(zhuǎn)入中斷服務(wù)。2 . 中斷類型號(n)0255。 中斷服務(wù)程序入口地址集中排在內(nèi)存地址 低區(qū)1K字節(jié)(0 3FFH),形成中斷矢量表。 21六.CPU控制指令標(biāo)志位操作對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)可屏蔽中斷請求 STI ; (IF) 1 使CPU可以響應(yīng)可屏蔽中斷請求 22CPU控制指令 (續(xù))2. NOP 占1字節(jié)空間,占3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論