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

第4題

某一80 × 86 組合語言程式為m u l b l ,請問執行結果為下列何者?

題目

某一80 × 86 組合語言程式為m u l b l ,請問執行結果為下列何者?

  1. (1) a l = a l × b l
  2. (2) b l = a l × b l
  3. (3) b x = a l × b l
  4. (4) a x = a l × b l

官方答案

(4) a x = a l × b l

解析

在 80x86 組合語言中,MUL 為無號數乘法指令,運算元長度決定結果存放位置:8 位元乘法(如 MUL BL)會將 AL 與運算元相乘,得到 16 位元的乘積並存入 AX,其中高位元組放 AH、低位元組放 AL。因此執行 MUL BL 的結果為 AX = AL × BL。選項1、2 誤以為結果只放回 8 位元暫存器,會發生溢位;選項3 的 BX 並非 8 位元乘法的預設目的暫存器,BX 只用於 16 位元乘法(MUL BX 時結果放 DX:AX)。

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

官方資料