民國104年 第3梯次 數位電子乙級 學科

第61題

有關組合語言的使用,下列敘述何者正確?

題目

有關組合語言的使用,下列敘述何者正確?

  1. (1) 當堆疊指令P U S H A X 被執行時,會將A X 暫存器內容存入堆疊暫存器( S P )
  2. (2) 若要將標的特定幾個位元設定為1,必須使用X O R 運算指令
  3. (3) 左移與右移指令可分為算數與邏輯兩種運算形式
  4. (4) 副程式呼叫指令,會將返回位址( 即下一個指令的位址) 存入堆疊中

官方答案

(3) 左移與右移指令可分為算數與邏輯兩種運算形式、(4) 副程式呼叫指令,會將返回位址( 即下一個指令的位址) 存入堆疊中

解析

組合語言中,移位指令區分算術與邏輯兩類:左移 SAL 與 SHL 運算相同,右移則有算術右移 SAR(保留符號位元)與邏輯右移 SHR(補零)之別,故選項3正確。副程式呼叫 CALL 執行時,CPU 會先將返回位址(即 CALL 下一個指令的位址)推入堆疊(SP 所指記憶體)再跳轉,故選項4正確。選項1錯誤:PUSH AX 是將 AX 內容存入 SP 所指的堆疊記憶體,並非存入 SP 暫存器本身。選項2錯誤:將特定位元設為1應使用 OR 指令,XOR 是用來切換(反相)位元。

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

官方資料