民國101年 第3梯次 數位電子乙級 學科
第4題
某一80 × 86 組合語言程式為m u l b l ,請問執行結果為下列何者?
題目
某一80 × 86 組合語言程式為m u l b l ,請問執行結果為下列何者?
- (1) a l = a l × b l
- (2) b l = a l × b l
- (3) b x = a l × b l
- (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。