imul
有符號乘法指令,分單操作數,雙操作數和但操作數
- 單操作數:此形式與mul指令使用完全相同,操作數乘以al、ax、或eax寄存器中的值,乘積分別存儲到ax、dx:ax或edx:eax中
執行指令:
imul cl
此時eax=FFFFFFFA(-6),ecx=0000 0002,結果:
- 雙操作數:第一個操作數乘以第二個操作數。第一個操作數是通用寄存器,第二個操作數可以是立即數、通用寄存器或內存位置。乘積存儲到第一個操作數中
imul edx,eax
此時edx=0000 0002,eax=ffff fff4
結果:
- 三操作數:第二個操作數(通用寄存器或內存位置)乘以第三個操作數(立即數)。結果放到第一個操作數中(通用寄存器)
imul ecx,edx,0x2
此時edx=ffff ffe8
結果
idvi
格式:
idiv src
執行的操作:與div相同,但操作數必須是帶符號的數,商和余數也都是帶符號的數,且余數的符號和被除數的符號相同,這里我就不介紹了,div的相關操作可以看這篇文章:https://blog.csdn.net/qq_41683305/article/details/105496467