<<<    Index    >>>
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
<<<    Index    >>>