LONGEPASS
Q34.

下列那一指令不會改變程式計數器(program counter)?

儀表電子 · 甲級 · 嵌入式系統概論與應用及程式設計 · Q34

難易度分析

2 / 5

此題測試對指令對程式計數器影響的基本認識,結構簡單,無複雜陷阱,屬於入門層次。

正確答案:④push

④ push:push 指令僅將資料壓入堆疊,修改的是堆疊指標 (SP),並不會影響程式計數器的值,程式仍依序執行下一條指令。

錯誤選項解析

  • ① jump:jump 指令會直接將程式計數器 (PC) 設定為目標位址,屬於無條件跳轉指令,必然會改變 PC 的值。
  • ② call:call 指令用於呼叫副程式,會先將返回位址壓入堆疊 (stack),再將 PC 更新為副程式的起始位址,因此會改變 PC。
  • ③ return:return 指令從副程式返回時,會從堆疊中彈出返回位址並載入至 PC,使程式繼續執行主程式,因此會改變 PC。
Learning Tip

"本題核心考點為指令對程式計數器的影響。在嵌入式系統中,jump、call、return 皆屬於控制流轉移指令,會直接修改 PC;而 push/pop 僅操作堆疊記憶體,不改變執行流程。常考陷阱是將 call 與 push 混淆,需注意 call 除了壓入返回位址外,還會跳轉至副程式位址,本質上已改變 PC。"

學員答題分佈

①jump0%
②call0%
③return0%
④push0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目