80X86汇编 mul 乘法指令

时间:2020-11-14 00:37:43   收藏:0   阅读:46

使用 mul 做乘法的时候, 注意以下两点:

格式如下:

mul reg
mul 内存单元

内存单元可以用不同的寻址方式给出, 比如:

mul byte ptr ds:[0]

含义: (ax) = (al) * ((ds) * 16 + 0);

mul word ptr [bx+si+8]

含义: (ax) = (ax) * ((ds) * 16 + (bx) + (si) + 8) 的结果的低 16 位.
(dx) = (ax) * ((ds) * 16 + (bx) + (si) + 8) 的结果的高 16 位.

例:

(1) 计算 100 * 10.

100 和 10 小于 255, 可以做 8 位乘法, 程序如下.

mov al,100
mov bl,10
mul bl

结果: (ax) = 1000(03E8H)

(2) 计算 100 * 10000

100 小于 255, 可 10000 大于 255, 所以必须做 16 位乘法, 程序如下.

mov ax,100
mov bx,10000
mul bx

结果: (ax) = 4240H, (dx) = 000FH    (F4240H = 1000000)

参考: 节选自王爽汇编语言

原文:https://www.cnblogs.com/fanlumaster/p/13971974.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!