民國100年 第3梯次 數位電子乙級 學科
第3題
一般微處理器( C P U ) 的中斷返回指令(R E T R,或R E T I )和副程式返回指令( R E T ) 是不同的, 其主要差別在於
題目
一般微處理器( C P U ) 的中斷返回指令(R E T R,或R E T I )和副程式返回指令( R E T ) 是不同的, 其主要差別在於
- (1) 返回位址長度不同
- (2) 返回位址存放的記憶體不同
- (3) 副程式返回尚需多取回原旗標狀態值
- (4) 中斷返回尚需多取回原旗標狀態值
官方答案
(4) 中斷返回尚需多取回原旗標狀態值
解析
中斷返回指令(RETI)與副程式返回指令(RET)最大差異在於是否復原旗標。呼叫副程式時僅將返回位址(PC)推入堆疊,RET 僅彈出 PC 恢復執行點;而發生中斷時 CPU 通常會把 PC 與程式狀態字(PSW/旗標)都存入堆疊,RETI 除彈回 PC 外,還需額外取回中斷前原有的旗標狀態,方能正確延續原本程式的運算條件。故答案為 4。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。