乘法 除法彙編指令總結

2021-07-24 09:56:26 字數 1137 閱讀 2721

乘法指令的反彙編

a*5

imul 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:(和

2的冪(

2^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:(和

2的冪(

2^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

組合語言乘法和除法指令

乘法和除法指令 ia 32 處理器的乘法和除法指令需要區別無符號數和有符號數,並隱含便用丁 eax 和edx 暫存器。基本的乘法指令指出源運算元 reg mem 暫存器或儲存單元 隱含使用目的運算元,表3。若源運算元是8位數8 m8,al與其相乘得到16位積,存入ax中,若源運算元是 16 位數 r...

乘法除法反彙編

彙編乘法指令一般為mul,imul,如果在彙編中使用這些指令來進行乘法運算,會比較慢,一般要進行轉換。int fun 反彙編 push ecx 為區域性變數a分乙個空間 mov eax,dword ptr esp esp棧頂指標指向的就是剛剛壓入的ecx lea ecx,dword ptr eax ...

彙編 div 除法指令

mov ax,10h 被除數為16位,儲存在ax mov dl,3 除數儲存在暫存器中,除數為8位 mov dl,ds 3 除數儲存在記憶體中,除數為8位 div dl 商儲存在al,餘數儲存在ah mov ax,4c00h int 21h code ends end start assume cs...