Intel 64 and IA-32 Architectures Software Developers Manual Volume 2B, Instruction Set Reference, N-Z
Vol. 2B A-19
OPCODE MAP
A.4 OPCODE EXTENSIONS FOR ONE-BYTE AND TWO-
BYTE OPCODES
Some 1-byte and 2-byte opcodes use bits 3-5 of the ModR/M byte (the nnn field in
Figure A-1) as an extension of the opcode.
Opcodes that have opcode extensions are indicated in Table A-6 and organized by
group number. Group numbers (from 1 to 16, second column) provide a table entry
point. The encoding for the r/m field for each instruction can be established using the
third column of the table.
A.4.1 Opcode Look-up Examples Using Opcode Extensions
An Example is provided below.
Example A-3. Interpreting an ADD Instruction
An ADD instruction with a 1-byte opcode of 80H is a Group 1 instruction:
• Table A-6 indicates that the opcode extension field encoded in the ModR/M byte
for this instruction is 000B.
• The r/m field can be encoded to access a register (11B) or a memory address
using a specified addressing mode (for example: mem = 00B, 01B, 10B).
Example A-2. Looking Up 0F01C3H
Look up opcode 0F01C3 for a VMRESUME instruction by using Table A-2, Table A-3
and Table A-6:
• 0F tells us that this instruction is in the 2-byte opcode map.
• 01 (row 0, column 1 in Table A-3) reveals that this opcode is in Group 7 of Table
A-6.
• C3 is the ModR/M byte. The first two bits of C3 are 11B. This tells us to look at the
second of the Group 7 rows in Table A-6.
• The Op/Reg bits [5,4,3] are 000B. This tells us to look in the 000 column for
Group 7.
• Finally, the R/M bits [2,1,0] are 011B. This identifies the opcode as the
VMRESUME instruction.
mod nnn R/M
Figure A-1. ModR/M Byte nnn Field (Bits 5, 4, and 3)