民國95年 第3梯次 電腦硬體裝修丙級 學科
第44題
在I n t e l 80 X 86 C P U 組合語言程式中,若要使中斷服務結束後,能回到主程式繼續執行,則 其中斷服務程式的最後一行,需放置下列那一個指令…
題目
在I n t e l 80 X 86 C P U 組合語言程式中,若要使中斷服務結束後,能回到主程式繼續執行,則 其中斷服務程式的最後一行,需放置下列那一個指令?
- (1) E N D
- (2) M O V
- (3) I R E T
- (4) J M P
官方答案
(3) I R E T
解析
中斷發生時,CPU 會自動把旗標暫存器(FLAGS)與返回位址(CS:IP)壓入堆疊保存。中斷服務程式的最後一行必須執行 IRET,它會依序從堆疊彈出 IP、CS 及 FLAGS,恢復中斷前的執行環境,並回到主程式的下一道指令。END 是給組譯器的虛擬指令,只表示原始碼結束,不產生機器碼;MOV 僅做資料搬移;JMP 只是無條件改變執行位址,不會取回旗標與返回位址,因此無法正確返回主程式。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。