当前位置:首页>维修大全>综合>

各位高手 我想求教汇编中MUL指令的用法 我的单片机寄存器是8位的 现在有两个16位的数相乘(单片机寄存器地址怎么理解)

各位高手 我想求教汇编中MUL指令的用法 我的单片机寄存器是8位的 现在有两个16位的数相乘(单片机寄存器地址怎么理解)

更新时间:2025-07-31 21:55:49

各位高手 我想求教汇编中MUL指令的用法 我的单片机寄存器是8位的 现在有两个16位的数相乘

mul指令是乘法指令。使用mul做乘法的时候:

1) 两个相乘的数:两个相乘的数,要么都是8位,要么都是16位。如果是8位,一个默认放在AL中,另外一个存放在8为寄存器或字节内存单元中;如果是16位,一个默认在AX中,另外一个放在16为寄存器或内存寄存器字单元中。

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+(si)+8)结果的低16位;(dx) =(ax)*((ds)*16+(si)+8)的结果的高16位。

更多栏目