LONGEPASS
Q16.

下列8088 指令執行後,何者的結果與其它三個指令不同?

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

難易度分析

2 / 5

此題只要求記憶各指令對AX寄存器及旗標的直接影響,無需多重邏輯推演,屬基礎層面,難度評為2。

正確答案:④OR AX,0

④ OR AX,0:OR AX, 0 將 AX 與 0 進行邏輯或運算,執行後 AX 的值保持原值不變,而非歸零。此結果與前三者將 AX 設為 0 的效果不同,故為本題正確答案。

錯誤選項解析

  • ① MOV AX,0:MOV AX, 0 會將立即數 0 直接載入 AX 暫存器,執行後 AX 的值為 0。此為最直觀的清零方式,但不影響旗標暫存器。
  • ② XOR AX,AX:XOR AX, AX 利用互斥或運算的特性(相同值 XOR 結果為 0),執行後 AX 的值為 0。此為組合語言中常見的高效清零慣用法,且會清除進位旗標 (CF)。
  • ③ SUB AX,AX:SUB AX, AX 將 AX 減去自身,執行後 AX 的值為 0。此指令同樣會將結果歸零,並會更新零旗標 (ZF) 與清除進位旗標。
Learning Tip

"本題核心考點為 8088 暫存器操作指令的執行結果差異。選項 1、2、3 均會使 AX 歸零,但底層機制不同:MOV 為資料搬移不影響旗標,XOR 與 SUB 會更新狀態旗標。選項 4 的 OR AX, 0 因 0 不具遮罩效果,AX 維持原值。實務上 XOR reg, reg 是最常用的清零方式,因其機器碼較 MOV 更短且執行效率更高。"

學員答題分佈

①MOV AX,00%
②XOR AX,AX0%
③SUB AX,AX0%
④OR AX,00%

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

相似類型題目