汇编语言乘指令 MUL、IMUL的具体使用
MUL:无符号乘
==================================================
;影响OF、CF标志位
;指令格式:
;MULr/m ;参数是乘数
;如果参数是r8/m8, 将把 AL做乘数,结果放在AX
;如果参数是r16/m16,将把AX做乘数,结果放在EAX
;如果参数是r32/m32,将把EAX做乘数,结果放在EDX:EAX
当乘积的高半部分(AH、DX、EDX、RDX)中存有结果的有效数字,则CF=OF=1,否则CF=OF=0。
=======================================================
IMUL:有符号乘
=======================================================
;影响OF、CF标志位
;第一种指令格式:
;IMULr/m ;单操作数
;如果参数是r8/m8, 将把 AL做乘数,结果放在AX
;如果参数是r16/m16,将把AX做乘数,结果放在EAX
;如果参数是r32/m32,将把EAX做乘数,结果放在EDX:EAX
;以上这些都是和MUL一样的,只是运算结果有时一样、有时不一样.
;IMUL还有另外两种指令格式:
;IMULr16/r32,r16/r32/m16/m32/i ;双操作数,(1)*(2)->(1)
;IMULr16/r32,r16/r32/m16/m32,i;三操作数,(2)*(3)->(1)
;其中常数i的位数可以<=但不能>其他操作数
=======================================================
简单应用
=================================================
imuledx,ebx;edx=edx*ebx
imuledx,ebx,8;edx=ebx*8
一,目的数为16或32寄存器
二,操作数长度相等
三,三操作数依次为目的,源,立即数
四,与单操作数不溢出不同,可能产生溢出
就这样简要述说了...
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。