IMUL AX,BX,30 ;AX←30×BX ;BX乘8位立即数送AX
IMUL RAX,RBX,12345678H ;RAX←RAX×RBX×12345678H ;RBX乘32位立即数送RAX
RAX←RAX×RBX×12345678H ;注解错
IMUL—有符号乘法
操作码 指令 64位模式 非64位模式 描述
F6 /5 IMUL r/m8* 有效 有效 AX← AL * r/m 字节.
F7 /5 IMUL r/m16 有效 有效 DX:AX ← AX * r/m 字.
F7 /5 IMUL r/m32 有效 有效 EDX:EAX ← EAX * r/m32.
REX.W + F7 /5 IMUL r/m64 有效 N.E. RDX:RAX ← RAX * r/m64.
0F AF /r IMUL r16, r/m16 有效 有效 字寄存器 ← 字寄存器 *r/m16.
0F AF /r IMUL r32, r/m32 有效 有效 双字 寄存器 ← 双字 寄存器 * r/m32.
REX.W + 0F AF /r IMUL r64, r/m64 有效 N.E. 四字寄存器 ←四字寄存器 * r/m64.
6B /r ib IMUL r16, r/m16,imm8 有效 有效 字寄存器 ← r/m16 * sign-扩展 立即数 字节.
6B /r ib IMUL r32, r/m32,imm8 有效 有效 双字 寄存器 ← r/m32 *符号扩展 立即数 字节.
REX.W + 6B /r ib IMUL r64, r/m64,imm8 有效 N.E. 四字寄存器 ← r/m64 *符号扩展 立即数 字节.
6B /r ib IMUL r16, imm8 有效 有效 字寄存器 ← 字寄存器 *符号扩展 立即数 字节.
6B /r ib IMUL r32, imm8 有效 有效 双字 寄存器 ← 双字 寄存器 * 符号扩展 立即数 字节.
REX.W + 6B /r ib IMUL r64, imm8 有效 N.E. 四字寄存器 ←四字寄存器 * 符号扩展立即数 字节.
69 /r iw IMUL r16, r/m16,imm16 有效 有效 字寄存器 ← r/m16 *立即数 字.
69 /r id IMUL r32, r/m32, imm32 有效 有效 双字寄存器 ← r/m32 *立即数 双字。
REX.W + 69 /r id IMUL r64, r/m64,imm32 有效 N.E. 四字寄存器 ← r/m64 *立即数双字。
69 /r iw IMUL r16, imm16 有效 有效 字寄存器 ← r/m16 * 立即数 字.
69 /r id IMUL r32, imm32 有效 有效 双字寄存器 ← r/m32 * 立即数 双字。
REX.W + 69 /r id IMUL r64, imm32 有效 N.E. 四字寄存器 ← r/m64 * 立即数 双字。
2条指令操作数不同,所以执行不同。
经查证。64位指令集中没有更改IMUL指令。所以,该IMUL指令为三目指令。
应该和IMUL 32相同。应该是书本上的错误,你可以自己实践下,我的电脑不是64位的电脑,没有办法、
多了个R,相乘
我也看不懂