汇编语言汇编指令mul乘法指令

(1)两个相乘的数:两个相乘的数,要么都是8位,要么都是16位。如果是8位,一个默认放在AL中,另一个放在8位reg或内存字节单元中;如果是16位,一个默认在AX中,另一个放在16位reg或内存字单元中。
(2)结果:如果是8位乘法,结果默认放在AX中;如果是16位乘法,结果高位默认在DX中存放,低位在AX中放。
格式如下:

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 al,100
 mov bx,10000
 mul bx

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


发布日期:

所属分类: 编程 标签:  


没有相关文章!