乘法、除法汇编指令总结

乘法指令的反汇编

a*5imul eax,dword ptr [a],5 ==>(当变量与不是2的幂的数相乘时,三变量)

a*b mov  eax,dword  ptr [a]

     imul  eax,dword  ptr [b] ==>(当两个都是变量相乘时,两变量)

a*8 mov  eax,dword ptr [a] ==>(当变量与2相乘时(2^3=8)

     shl  eax,3  ==>左移操作

 

 

 

 

除法指令的反汇编

a/4:(和22^2=4)进行做除法,4在右边,用sar

mov   eax,dword ptr [a]  

cdq  

and    edx,3  ==>3是由4-1得到的,如果是a/8,则是8-1=7

add    eax,edx  

sar    eax,2   ==>右移操作

4/b:(和22^2=4)进行做除法,4在左边)

mov   eax,4

cdq  

idiv    eax,dword ptr [b]

a/b:(两个变量相除)

mov   eax,dword ptr [a]  

cdq  

idiv    eax,dword ptr [b]  

a/5:(和非2相除)

mov    eax,dword ptr [a]  

cdq  

mov    ecx,5  

idiv     eax,ecx

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值