B-9
INSTRUCTION FORMATS AND ENCODINGS
CMPXCHG8B Compare and Exchange 8 Bytes
memory, register
0000 1111 : 1100 0111 : mod reg r/m
CPUID CPU Identification
0000 1111 : 1010 0010
CWD Convert Word to Doubleword
1001 1001
CWDE Convert Word to Doubleword
1001 1000
DAA Decimal Adjust AL after Addition
0010 0111
DAS Decimal Adjust AL after Subtraction0010 1111
DEC Decrement by 1
register
1111 111w : 11 001 reg
register (alternate encoding)
0100 1 reg
memory
1111 111w : mod 001 r/m
DIV Unsigned Divide
AL, AX, or EAX by register
1111 011w : 11 110 reg
AL, AX, or EAX by memory
1111 011w : mod 110 r/m
ENTER Make Stack Frame for High Level
Procedure
1100 1000 : 16-bit displacement : 8-bit level (L)
HLT Halt
1111 0100
IDIV Signed Divide
AL, AX, or EAX by register
1111 011w : 11 111 reg
AL, AX, or EAX by memory
1111 011w : mod 111 r/m
IMUL Signed Multiply
AL, AX, or EAX with register
1111 011w : 11 101 reg
AL, AX, or EAX with memory
1111 011w : mod 101 reg
register1 with register2
0000 1111 : 1010 1111 : 11 : reg1 reg2
register with memory
0000 1111 : 1010 1111 : mod reg r/m
register1 with immediate to register2
0110 10s1 : 11 reg1 reg2 : immediate data
memory with immediate to register
0110 10s1 : mod reg r/m : immediate data
IN Input From Port
fixed port
1110 010w : port number
variable port
1110 110w
INC Increment by 1
reg
1111 111w : 11 000 reg
reg (alternate encoding)
0100 0 reg
memory
1111 111w : mod 000 r/m
INS Input from DX Port
0110 110w
Table B-10. Integer Instruction Formats and Encodings (Contd.)
Instruction and Format
Encoding