17 lines
2.3 KiB
Markdown
Raw Normal View History

2024-01-05 23:00:41 +03:00
| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
| ---------------- | ---------------------- | ----- | ----------- | --------------- | ------------------------------------------------------------ |
| F6 /5 | IMUL r/m8\* | M | Valid | Valid | AX:= AL r/m byte. |
| F7 /5 | IMUL r/m16 | M | Valid | Valid | DX:AX := AX r/m word. |
| F7 /5 | IMUL r/m32 | M | Valid | Valid | EDX:EAX := EAX r/m32. |
| REX.W + F7 /5 | IMUL r/m64 | M | Valid | N.E. | RDX:RAX := RAX r/m64. |
| 0F AF /r | IMUL r16, r/m16 | RM | Valid | Valid | word register := word register r/m16. |
| 0F AF /r | IMUL r32, r/m32 | RM | Valid | Valid | doubleword register := doubleword register r/m32. |
| REX.W + 0F AF /r | IMUL r64, r/m64 | RM | Valid | N.E. | Quadword register := Quadword register r/m64. |
| 6B /r ib | IMUL r16, r/m16, imm8 | RMI | Valid | Valid | word register := r/m16 sign-extended immediate byte. |
| 6B /r ib | IMUL r32, r/m32, imm8 | RMI | Valid | Valid | doubleword register := r/m32 sign-extended immediate byte. |
| REX.W + 6B /r ib | IMUL r64, r/m64, imm8 | RMI | Valid | N.E. | Quadword register := r/m64 sign-extended immediate byte. |
| 69 /r iw | IMUL r16, r/m16, imm16 | RMI | Valid | Valid | word register := r/m16 immediate word. |
| 69 /r id | IMUL r32, r/m32, imm32 | RMI | Valid | Valid | doubleword register := r/m32 immediate doubleword. |
| REX.W + 69 /r id | IMUL r64, r/m64, imm32 | RMI | Valid | N.E. | Quadword register := r/m64 immediate doubleword. |
> \*In 64-bit mode, r/m8 can not be encoded to access the following byte registers if a REX prefix is used: AH, BH, CH, DH.