民國99年 乙級專案 數位電子乙級 學科
第27題
副程式或中斷服務執行完畢要返回原程式的位址是由何處取得?
題目
副程式或中斷服務執行完畢要返回原程式的位址是由何處取得?
- (1) 堆疊器( S t a c k )
- (2) 指標暫存器( I n d e x r e g i s t e r )
- (3) 程式計數器( P r o g r a m c o u n t e r )
- (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。