mul指令
mul reg
mul 内存单元
8位 乘以 8位
mul byte ptr ds:[0]
含义是
(ax)=(al) x ((ds) x 16+0)
- 其中一个乘数默认放在AL寄存器中
- 乘法的结果放在AX寄存器之中
100 * 10
mov al,100
mov bl,10
mul bl
(ax) = 1000(03E8H)
16位 乘以 16位
mul word ptr [bx+si+8]
含义是
结果的低16位 (ax)=(ax) x ((ds) x 16+(bx) +(si) +8)
结果的高16位 (dx)=(ax) x ((ds) x 16+(bx) +(si) +8)
- 其中一个乘数默认放在 AX寄存器 之中
- 结果的低16位放在AX寄存器,高16位放在DX寄存器
100 * 10000
mov ax,100
mov bx,10000
mul bx
(ax) = 4240H (dx)=000FH
(000F4240H = 1000000)