民國101年 第1梯次 電腦硬體裝修丙級 學科

第73題

在I n t e l 80 X 86 C P U 組合語言程式中,若要使中斷服務結束後,能回到主程式繼續執行,則 其中斷服務程式的最後一行,需放置下列那一個指令…

題目

在I n t e l 80 X 86 C P U 組合語言程式中,若要使中斷服務結束後,能回到主程式繼續執行,則 其中斷服務程式的最後一行,需放置下列那一個指令?

  1. (1) E N D
  2. (2) J M P
  3. (3) M O V
  4. (4) I R E T

官方答案

(4) I R E T

解析

在 Intel 80x86 組合語言中,當 CPU 響應硬體或軟體中斷時,硬體會自動將旗標暫存器 FLAGS、程式段暫存器 CS 與指令指標 IP(保護模式再加 EFLAGS、CS、EIP)依序推入堆疊,以便記住返回位址與中斷前的狀態。中斷服務程式結束時必須用 IRET(Interrupt Return)指令,由堆疊依相反順序彈出這些資料,恢復原來的 CS:IP 與旗標,才能正確回到主程式繼續執行。END 是程式結束偽指令,JMP 為跳躍,MOV 為資料搬移,均無法中斷返回。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料