民國99年 乙級專案 數位電子乙級 學科

第27題

副程式或中斷服務執行完畢要返回原程式的位址是由何處取得?

題目

副程式或中斷服務執行完畢要返回原程式的位址是由何處取得?

  1. (1) 堆疊器( S t a c k )
  2. (2) 指標暫存器( I n d e x r e g i s t e r )
  3. (3) 程式計數器( P r o g r a m c o u n t e r )
  4. (4) 位址解碼器( A d d r e s s d e c o d e r )

官方答案

(1) 堆疊器( S t a c k )

解析

呼叫副程式時,CPU 會執行 CALL 指令,先把返回位址(即 CALL 下一道指令的位址)推入堆疊(stack),再跳至副程式;中斷發生時亦由硬體自動將返回位址與旗號推入堆疊。副程式或中斷服務程式執行完畢後,RET 或 IRET 指令便從堆疊頂端彈出該位址載入程式計數器(PC),使程式回到原來的流程繼續執行。指標暫存器用於定址,位址解碼器負責選擇晶片或周邊,兩者都不保存返回位址。因此返回位址是由堆疊取得。

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

官方資料