This preview shows page 1. Sign up to view the full content.
Unformatted text preview: pcode F6 /5 F7 /5 F7 /5 REX.W + F7 /5 0F AF /r 0F AF /r REX.W + 0F AF /r 6B /r ib 6B /r ib REX.W + 6B /r ib 6B /r ib Instruction IMUL r/m8* IMUL r/m16 IMUL r/m32 IMUL r/m64 IMUL r16, r/m16 IMUL r32, r/m32 IMUL r64, r/m64 IMUL r16, r/m16, imm8 IMUL r32, r/m32, imm8 IMUL r64, r/m64, imm8 IMUL r16, imm8 64-Bit Mode Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Valid Compat/ Leg Mode Valid Valid Valid N.E. Valid Valid N.E. Valid Valid N.E. Valid Description AX AL r/m byte. DX:AX AX r/m word. EDX:EAX EAX r/m32. RDX:RAX RAX r/m64. word register word register r/m16. doubleword register doubleword register r/m32. Quadword register Quadword register r/m64. word register r/m16 signextended immediate byte. doubleword register r/m32 sign-extended immediate byte. Quadword register r/m64 sign-extended immediate byte. word register word register sign-extended immediate byte. doubleword register doubleword register signextended immediate byte. Quadword register Quadword register signextended immediate byte. word register r/m16 immediate word. doubleword register r/m32 immediate doubleword. Quadword register r/m64 immediate doubleword. word register r/m16 immediate word. 6B /r ib IMUL r32, imm8 Valid Valid REX.W + 6B /r ib IMUL r64, imm8 Valid N.E. 69 /r iw 69 /r id REX.W + 69 /r id 69 /r iw IMUL r16, r/m16, imm16 IMUL r32, r/m32, imm32 IMUL r64, r/m64, imm32 IMUL r16, imm16 Valid Valid Valid Valid Valid Valid N.E. Valid 3-452 Vol. 2 INSTRUCTION SET REFERENCE, A-M Opcode 69 /r id REX.W + 69 /r id Instruction IMUL r32, imm32 IMUL r64, imm32 64-Bit Mode Valid Valid Compat/ Leg Mode Valid N.E. Description doubleword register r/m32 immediate doubleword. Quadword register r/m64 immediate doubleword. NOTES: * 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. Description
Performs a signed multiplication of two operands. This instruction has three forms, depending on the number of operands. One-operand form -- This form is identical to that used by the MUL instruction. Here, the source operand (in a general-purpose register or memory location) is multiplied by the value in the AL, AX, EAX, or RAX register (depending on the operand size) and the product is stored in the AX, DX:AX, EDX:EAX, or RDX:RAX registers, respectively. Two-operand form -- With this form the destination operand (the first operand) is multiplied by the source operand (second operand). The destination operand is a general-purpose register and the source operand is an immediate value, a general-purpose register, or a memory location. The product is then stored in the destination operand location. Three-operand form -- This form requires a destination operand (the first operand) and two source operands (the second and the third operands). Here, the first source operand (which can be a general-purpose register or a memory location) is multiplied by the second source operand (an immediate value). The product is then stored in th...
View Full Document
This note was uploaded on 10/01/2013 for the course CPE 103 taught by Professor Watlins during the Winter '11 term at Mississippi State.
- Winter '11