Titanium

Instruction Set Architecture
This page is unfinished!!!
W32 Titanium (formerly serialized as ua-w32-titanium#nf) is a 32-bit architecture written by User:Alx with native support for data width up to 128 bits, initially written as an extension to D8086, but eventually grew into its own completely separate architecture. Unfortunately, due to it being birthed from a minimal virtualization experiment, it was intended to only index a small subsection of virtual memory, being 2 ** 24 (16777216) bytes, with a predesigned address width of 24 bits, which are not padded to 32 bits in representation either. However, it is still a very powerful (virtual) instruction set architecture. This manual page also speaks in relativity to the standard assembler for this instruction set, when referencing programmable assembly.
The architecture has native support for 8-128 bit dynamic arithmetic computing results for both signed and unsigned operations, and native (through architecture extensions) support for dynamic floating-point arithmetic. Unlike other architectures such as 8086, this architecture does not have complex status flags, and does not combine flags to form GE/LE/GTE/LTE conditions. The following main condition flags in the architecture are (assume unset otherwise):
Flag Mnemonic	Description
OF 	Overflow Flag, set if integer arithmetic conditions overflow, (ex. pos + pos leading to a negative result)
SF 	Sign Flag, used to determine if an integer arithmetic result has a set sign bit
EF 	Equal Flag, set if integer arithmetic result is zero
LF 	Less Than Flag, set after integer arithmetic result computes the less-than truthiness of the two operands
GF 	Greater Than Flag, set after integer arithmetic result computes the greater-than truthiness of the two operands
LEF 	Less Than or Equal To Flag, set after integer arithmetic result computes the less-than or equal-to truthiness of the two operands
GEF 	Greater Than or Equal To Flag, set after integer arithmetic result computes the greater-than or equal-to truthiness of the two operands
DF 	Debug Flag, used as a trap for certain routines
Register Information
The W32 Titanium architecture contains 62 registers, being...
* 16 general purpose DWORD-sized registers, notated from GR0-GRF (0-9A-F).
* 8 general (II) purpose QWORD-sized registers, notated from QR0-QR7.
* 8 interrupt parameter passing PTRWORD-sized registers, notated from IR0-IR7, also typically used for storing memory addresses.
* 16 local frame DWORD-sized registers, notated from LR0-LRF, used for passing arguments to subroutines, and as a means to register-allocated non-volatile subroutine variables.
* 8 stack WORD-sized registers, notated from ST0-ST7, used as fast-read access to stack items, assuming the stack is aligned by WORDs.
* 1 stack pointer PTRWORD-sized register, which holds the address of the topmost stack item, notated as SPTR.
* 1 frame pointer PTRWORD-sized register, which is initialized at the same address as the stack pointer, and is used for stack frames, notated as FPTR.
* 4 Branch-prediction DWORD-sized registers, which are now unused, notated as BR0-BR3.
Stack Information
The stack in the W32 Titanium architecture grows upwards in memory, and is initialized to 0x100000 on startup. Unfortunately due to the address width design choice, the stack becomes unaligned so the STx registers cannot properly index WORD items on the stack.
The stack allows every width to be pushed/popped onto/from, as there are no misalignment issues doing this.
Instruction Operand Notation
Register operands are represented in binary by their mnemonic, matching the encoding number. Register operands take up 1 byte.
Immediate operands are represented in binary with a byteorder of Big Endian. Immediate operands take up either 1, 2, 3, 4, 8, or 16 bytes.
Memory operands are represented in binary with their base, disposition/index (if present) and scale (if present) following. Memory base address operands are always PTRWORD sized if they're an immediate, as well as dispositions/indexes. Scales are always immediates, and with a 7 bit range of unaligned scale.
Operands are solely differentiated by the opcode.
Memory Modes of Operation
The formula for calculating a memory address is: base + (disp * scale) for an incremental address, or base - (disp * scale) for a decremental address. 
The legal memory addressal modes are as follows:
 +--------------------------------------+
Md. 0: | BASE: 24 (IMM) |
 +--------------------------------------+
Addressal Mode 0 specifies only an immediate base address, with no
disposition or scale, as this address is formed at assemble time.
This addressal mode is suitable for an addressal with an immediate
base, immediate disposition and immediate scale.
Addressal Mode 0 encapsulates the following literal addressals:
 - [imm]
 - [imm+imm]
 - [imm+imm*imm]
 - [imm-imm]
 - [imm-imm*imm]
 +----------------------+--------------------------------------+--------+
Md. 1: | BASE: 8 (REG) | DISP: 23 (IMM) | DIR: 1 |
 +----------------------+--------------------------------------+--------+
Addressal Mode 1 specifies a variable base address, with an immediate disposition.
Since the scale must be immediate in every mode, the disp * scale can
be computed at assemble-time. One bit from the LSB of the disposition is allocated
for the direction of the addressal, to determine whether it is incrementing from the
base address, or decrementing from the base address.
Addressal Mode 1 encapsulates the following literal addressals:
 - [reg]
 - [reg+imm]
 - [reg+imm*imm]
 - [reg-imm]
 - [reg-imm*imm]
 +---------------------------------------+----------------------+----------------+--------+
Md. 2: | BASE: 24 (IMM) | DISP: 8 (REG) | SCALE: 7 | DIR: 1 |
 +---------------------------------------+----------------------+----------------+--------+
Addressal Mode 2 specifies an immediate base address, followed by a variable
disposition. Since this factor cannot be calculated at assemble-time, the
scale is also included, with one bit from the scale allocated to determine
the direction of the addressal.
Addressal Mode 2 encapsulates the following literal addressals:
 - [imm+reg]
 - [imm+reg*imm]
 - [imm-reg]
 - [imm-reg*imm]
 +----------------------+----------------------+----------------+--------+
Md. 3: | BASE: 8 (REG) | DISP: 8 (REG) | SCALE: 7 | DIR: 1 |
 +----------------------+----------------------+----------------+--------+
Addressal Mode 3 specifies a variable base address, and a variable
disposition. This factor is also impossible to calculate at assemble
time. The scale allocates one bit for the addressal direction.
Addressal Mode 3 encapsulates the following literal addressals:
 - [reg+reg]
 - [reg+reg*imm]
 - [reg-reg]
 - [imm-reg*imm]
VM Datatype Information
The W32 Titanium architecture's word size is 32 bits, and natively supports the following data widths:
Width (bits)	Notation 	Notation Alias 	Formula
8 	QAWORD (Quarter WORD) 	BYTE 	WORD / 4
16 	HWORD (Half WORD) 	WORD86 	WORD / 2
24 	PTRWORD (Pointer WORD)	N/A 	WORD - 8
32 	WORD 	DWORD86 	WORD
64 	DWORD (Double WORD) 	QWORD86 	WORD * 2
128 	QWORD (Quad WORD) 	OWORD86, XMMWORD86	WORD * 4
Instruction Encodings
The notation used in the following table is as follows:
/o16 ...: 16-bit opcode
/w8: 8 bits of width
/w16: 16 bits of width
/w24: 24 bits of width
/w32: 32 bits of width
/w64: 16 bits of width
/w128: 16 bits of width
/m0: Memory mode 0, 24 bits of data
/m1: Memory mode 1, 32 bits of data
/m2: Memory mode 2, 40 bits of data
/m3: Memory mode 3, 24 bits of data
N/A: Not available / not present
MOV
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for MOV
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 mov(q) reg128, reg128 	/o16 027c	/w8 	/w8 	N/A 	N/A
qword, xmmword86 mov(q) reg128, imm128 	/o16 027d	/w8 	/w128 	N/A 	N/A
qword, xmmword86 mov(q) reg128, [mem128]	/o16 027e	/w8 	/m0 	N/A 	N/A
qword, xmmword86 mov(q) reg128, [mem128]	/o16 027f	/w8 	/m1 	N/A 	N/A
qword, xmmword86 mov(q) reg128, [mem128]	/o16 0280	/w8 	/m2 	N/A 	N/A
qword, xmmword86 mov(q) reg128, [mem128]	/o16 0281	/w8 	/m3 	N/A 	N/A
qword, xmmword86 mov(q) [mem128], reg128	/o16 0282	/m0 	/w8 	N/A 	N/A
qword, xmmword86 mov(q) [mem128], reg128	/o16 0283	/m1 	/w8 	N/A 	N/A
qword, xmmword86 mov(q) [mem128], reg128	/o16 0284	/m2 	/w8 	N/A 	N/A
qword, xmmword86 mov(q) [mem128], reg128	/o16 0285	/m3 	/w8 	N/A 	N/A
qword, xmmword86 mov(q) [mem128], imm128	/o16 0286	/m0 	/w128 	N/A 	N/A
qword, xmmword86 mov(q) [mem128], imm128	/o16 0287	/m1 	/w128 	N/A 	N/A
qword, xmmword86 mov(q) [mem128], imm128	/o16 0288	/m2 	/w128 	N/A 	N/A
qword, xmmword86 mov(q) [mem128], imm128	/o16 0289	/m3 	/w128 	N/A 	N/A
dword, qword86 mov(d) reg64, reg64 	/o16 028a	/w8 	/w8 	N/A 	N/A
dword, qword86 mov(d) reg64, imm64 	/o16 028b	/w8 	/w64 	N/A 	N/A
dword, qword86 mov(d) reg64, [mem64] 	/o16 028c	/w8 	/m0 	N/A 	N/A
dword, qword86 mov(d) reg64, [mem64] 	/o16 028d	/w8 	/m1 	N/A 	N/A
dword, qword86 mov(d) reg64, [mem64] 	/o16 028e	/w8 	/m2 	N/A 	N/A
dword, qword86 mov(d) reg64, [mem64] 	/o16 028f	/w8 	/m3 	N/A 	N/A
dword, qword86 mov(d) [mem64], reg64 	/o16 0290	/m0 	/w8 	N/A 	N/A
dword, qword86 mov(d) [mem64], reg64 	/o16 0291	/m1 	/w8 	N/A 	N/A
dword, qword86 mov(d) [mem64], reg64 	/o16 0292	/m2 	/w8 	N/A 	N/A
dword, qword86 mov(d) [mem64], reg64 	/o16 0293	/m3 	/w8 	N/A 	N/A
dword, qword86 mov(d) [mem64], imm64 	/o16 0294	/m0 	/w64 	N/A 	N/A
dword, qword86 mov(d) [mem64], imm64 	/o16 0295	/m1 	/w64 	N/A 	N/A
dword, qword86 mov(d) [mem64], imm64 	/o16 0296	/m2 	/w64 	N/A 	N/A
dword, qword86 mov(d) [mem64], imm64 	/o16 0297	/m3 	/w64 	N/A 	N/A
word, dword86 mov(w) reg32, reg32 	/o16 0298	/w8 	/w8 	N/A 	N/A
word, dword86 mov(w) reg32, imm32 	/o16 0299	/w8 	/w32 	N/A 	N/A
word, dword86 mov(w) reg32, [mem32] 	/o16 029a	/w8 	/m0 	N/A 	N/A
word, dword86 mov(w) reg32, [mem32] 	/o16 029b	/w8 	/m1 	N/A 	N/A
word, dword86 mov(w) reg32, [mem32] 	/o16 029c	/w8 	/m2 	N/A 	N/A
word, dword86 mov(w) reg32, [mem32] 	/o16 029d	/w8 	/m3 	N/A 	N/A
word, dword86 mov(w) [mem32], reg32 	/o16 029e	/m0 	/w8 	N/A 	N/A
word, dword86 mov(w) [mem32], reg32 	/o16 029f	/m1 	/w8 	N/A 	N/A
word, dword86 mov(w) [mem32], reg32 	/o16 02a0	/m2 	/w8 	N/A 	N/A
word, dword86 mov(w) [mem32], reg32 	/o16 02a1	/m3 	/w8 	N/A 	N/A
word, dword86 mov(w) [mem32], imm32 	/o16 02a2	/m0 	/w32 	N/A 	N/A
word, dword86 mov(w) [mem32], imm32 	/o16 02a3	/m1 	/w32 	N/A 	N/A
word, dword86 mov(w) [mem32], imm32 	/o16 02a4	/m2 	/w32 	N/A 	N/A
word, dword86 mov(w) [mem32], imm32 	/o16 02a5	/m3 	/w32 	N/A 	N/A
ptrword mov(p) reg24, reg24 	/o16 02a6	/w8 	/w8 	N/A 	N/A
ptrword mov(p) reg24, imm24 	/o16 02a7	/w8 	/w24 	N/A 	N/A
ptrword mov(p) reg24, [mem24] 	/o16 02a8	/w8 	/m0 	N/A 	N/A
ptrword mov(p) reg24, [mem24] 	/o16 02a9	/w8 	/m1 	N/A 	N/A
ptrword mov(p) reg24, [mem24] 	/o16 02aa	/w8 	/m2 	N/A 	N/A
ptrword mov(p) reg24, [mem24] 	/o16 02ab	/w8 	/m3 	N/A 	N/A
ptrword mov(p) [mem24], reg24 	/o16 02ac	/m0 	/w8 	N/A 	N/A
ptrword mov(p) [mem24], reg24 	/o16 02ad	/m1 	/w8 	N/A 	N/A
ptrword mov(p) [mem24], reg24 	/o16 02ae	/m2 	/w8 	N/A 	N/A
ptrword mov(p) [mem24], reg24 	/o16 02af	/m3 	/w8 	N/A 	N/A
ptrword mov(p) [mem24], imm24 	/o16 02b0	/m0 	/w24 	N/A 	N/A
ptrword mov(p) [mem24], imm24 	/o16 02b1	/m1 	/w24 	N/A 	N/A
ptrword mov(p) [mem24], imm24 	/o16 02b2	/m2 	/w24 	N/A 	N/A
ptrword mov(p) [mem24], imm24 	/o16 02b3	/m3 	/w24 	N/A 	N/A
hword, word86 mov(h) reg16, reg16 	/o16 02b4	/w8 	/w8 	N/A 	N/A
hword, word86 mov(h) reg16, imm16 	/o16 02b5	/w8 	/w16 	N/A 	N/A
hword, word86 mov(h) reg16, [mem16] 	/o16 02b6	/w8 	/m0 	N/A 	N/A
hword, word86 mov(h) reg16, [mem16] 	/o16 02b7	/w8 	/m1 	N/A 	N/A
hword, word86 mov(h) reg16, [mem16] 	/o16 02b8	/w8 	/m2 	N/A 	N/A
hword, word86 mov(h) reg16, [mem16] 	/o16 02b9	/w8 	/m3 	N/A 	N/A
hword, word86 mov(h) [mem16], reg16 	/o16 02ba	/m0 	/w8 	N/A 	N/A
hword, word86 mov(h) [mem16], reg16 	/o16 02bb	/m1 	/w8 	N/A 	N/A
hword, word86 mov(h) [mem16], reg16 	/o16 02bc	/m2 	/w8 	N/A 	N/A
hword, word86 mov(h) [mem16], reg16 	/o16 02bd	/m3 	/w8 	N/A 	N/A
hword, word86 mov(h) [mem16], imm16 	/o16 02be	/m0 	/w16 	N/A 	N/A
hword, word86 mov(h) [mem16], imm16 	/o16 02bf	/m1 	/w16 	N/A 	N/A
hword, word86 mov(h) [mem16], imm16 	/o16 02c0	/m2 	/w16 	N/A 	N/A
hword, word86 mov(h) [mem16], imm16 	/o16 02c1	/m3 	/w16 	N/A 	N/A
qaword, byte, byte86 mov(b) reg8, reg8 	/o16 02c2	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 mov(b) reg8, imm8 	/o16 02c3	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 mov(b) reg8, [mem8]	/o16 02c4	/w8 	/m0 	N/A 	N/A
qaword, byte, byte86 mov(b) reg8, [mem8]	/o16 02c5	/w8 	/m1 	N/A 	N/A
qaword, byte, byte86 mov(b) reg8, [mem8]	/o16 02c6	/w8 	/m2 	N/A 	N/A
qaword, byte, byte86 mov(b) reg8, [mem8]	/o16 02c7	/w8 	/m3 	N/A 	N/A
qaword, byte, byte86 mov(b) [mem8], reg8	/o16 02c8	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 mov(b) [mem8], reg8	/o16 02c9	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 mov(b) [mem8], reg8	/o16 02ca	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 mov(b) [mem8], reg8	/o16 02cb	/m3 	/w8 	N/A 	N/A
qaword, byte, byte86 mov(b) [mem8], imm8	/o16 02cc	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 mov(b) [mem8], imm8	/o16 02cd	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 mov(b) [mem8], imm8	/o16 02ce	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 mov(b) [mem8], imm8	/o16 02cf	/m3 	/w8 	N/A 	N/A
HALT
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for HALT
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
dword, qword86 halt(d)	/o16 02d0	N/A 	N/A 	N/A 	N/A
INT
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for INT
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
dword, qword86 int(d) imm64	/o16 02d1	/w64 	N/A 	N/A 	N/A
JMP
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JMP
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jmp(p) imm24	/o16 02d2	/w24 	N/A 	N/A 	N/A
ptrword jmp(p) reg24	/o16 02d3	/w8 	N/A 	N/A 	N/A
JO
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JO
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jo(p) imm24	/o16 02d4	/w24 	N/A 	N/A 	N/A
ptrword jo(p) reg24	/o16 02dc	/w8 	N/A 	N/A 	N/A
JD
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JD
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jd(p) imm24	/o16 02d5	/w24 	N/A 	N/A 	N/A
ptrword jd(p) reg24	/o16 02dd	/w8 	N/A 	N/A 	N/A
JS
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JS
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword js(p) imm24	/o16 02d6	/w24 	N/A 	N/A 	N/A
ptrword js(p) reg24	/o16 02de	/w8 	N/A 	N/A 	N/A
JE
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JE
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword je(p) imm24	/o16 02d7	/w24 	N/A 	N/A 	N/A
ptrword je(p) reg24	/o16 02df	/w8 	N/A 	N/A 	N/A
JG
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JG
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jg(p) imm24	/o16 02d8	/w24 	N/A 	N/A 	N/A
ptrword jg(p) reg24	/o16 02e0	/w8 	N/A 	N/A 	N/A
JGE
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JGE
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jge(p) imm24	/o16 02d9	/w24 	N/A 	N/A 	N/A
ptrword jge(p) reg24	/o16 02e1	/w8 	N/A 	N/A 	N/A
JL
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JL
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jl(p) imm24	/o16 02da	/w24 	N/A 	N/A 	N/A
ptrword jl(p) reg24	/o16 02e2	/w8 	N/A 	N/A 	N/A
JLE
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JLE
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jle(p) imm24	/o16 02db	/w24 	N/A 	N/A 	N/A
ptrword jle(p) reg24	/o16 02e3	/w8 	N/A 	N/A 	N/A
JNO
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JNO
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jno(p) imm24	/o16 02e4	/w24 	N/A 	N/A 	N/A
ptrword jno(p) reg24	/o16 02ec	/w8 	N/A 	N/A 	N/A
JND
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JND
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jnd(p) imm24	/o16 02e5	/w24 	N/A 	N/A 	N/A
ptrword jnd(p) reg24	/o16 02ed	/w8 	N/A 	N/A 	N/A
JNS
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JNS
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jns(p) imm24	/o16 02e6	/w24 	N/A 	N/A 	N/A
ptrword jns(p) reg24	/o16 02ee	/w8 	N/A 	N/A 	N/A
JNE
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JNE
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jne(p) imm24	/o16 02e7	/w24 	N/A 	N/A 	N/A
ptrword jne(p) reg24	/o16 02ef	/w8 	N/A 	N/A 	N/A
JNG
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JNG
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jng(p) imm24	/o16 02e8	/w24 	N/A 	N/A 	N/A
ptrword jng(p) reg24	/o16 02f0	/w8 	N/A 	N/A 	N/A
JNGE
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JNGE
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jnge(p) imm24	/o16 02e9	/w24 	N/A 	N/A 	N/A
ptrword jnge(p) reg24	/o16 02f1	/w8 	N/A 	N/A 	N/A
JNL
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JNL
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jnl(p) imm24	/o16 02ea	/w24 	N/A 	N/A 	N/A
ptrword jnl(p) reg24	/o16 02f2	/w8 	N/A 	N/A 	N/A
JNLE
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for JNLE
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword jnle(p) imm24	/o16 02eb	/w24 	N/A 	N/A 	N/A
ptrword jnle(p) reg24	/o16 02f3	/w8 	N/A 	N/A 	N/A
CALL
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for CALL
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword call(p) imm24 	/o16 02f4	/w24 	N/A 	N/A 	N/A
ptrword call(p) reg24 	/o16 02f5	/w8 	N/A 	N/A 	N/A
ptrword call(p) [mem24]	/o16 02f6	/m0 	N/A 	N/A 	N/A
ptrword call(p) [mem24]	/o16 02f7	/m1 	N/A 	N/A 	N/A
ptrword call(p) [mem24]	/o16 02f8	/m2 	N/A 	N/A 	N/A
ptrword call(p) [mem24]	/o16 02f9	/m3 	N/A 	N/A 	N/A
PUSH
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for PUSH
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 push(q) imm128 	/o16 02fa	/w128 	N/A 	N/A 	N/A
qword, xmmword86 push(q) reg128 	/o16 02fb	/w8 	N/A 	N/A 	N/A
qword, xmmword86 push(q) [mem128] 	/o16 02fc	/m0 	N/A 	N/A 	N/A
qword, xmmword86 push(q) [mem128] 	/o16 02fd	/m1 	N/A 	N/A 	N/A
qword, xmmword86 push(q) [mem128] 	/o16 02fe	/m2 	N/A 	N/A 	N/A
qword, xmmword86 push(q) [mem128] 	/o16 02ff	/m3 	N/A 	N/A 	N/A
dword, qword86 push(d) imm64 	/o16 0300	/w64 	N/A 	N/A 	N/A
dword, qword86 push(d) reg64 	/o16 0301	/w8 	N/A 	N/A 	N/A
dword, qword86 push(d) [mem64] 	/o16 0302	/m0 	N/A 	N/A 	N/A
dword, qword86 push(d) [mem64] 	/o16 0303	/m1 	N/A 	N/A 	N/A
dword, qword86 push(d) [mem64] 	/o16 0304	/m2 	N/A 	N/A 	N/A
dword, qword86 push(d) [mem64] 	/o16 0305	/m3 	N/A 	N/A 	N/A
word, dword86 push(w) imm32 	/o16 0306	/w32 	N/A 	N/A 	N/A
word, dword86 push(w) reg32 	/o16 0307	/w8 	N/A 	N/A 	N/A
word, dword86 push(w) [mem32] 	/o16 0308	/m0 	N/A 	N/A 	N/A
word, dword86 push(w) [mem32] 	/o16 0309	/m1 	N/A 	N/A 	N/A
word, dword86 push(w) [mem32] 	/o16 030a	/m2 	N/A 	N/A 	N/A
word, dword86 push(w) [mem32] 	/o16 030b	/m3 	N/A 	N/A 	N/A
ptrword push(p) imm24 	/o16 030c	/w24 	N/A 	N/A 	N/A
ptrword push(p) reg24 	/o16 030d	/w8 	N/A 	N/A 	N/A
ptrword push(p) [mem24] 	/o16 030e	/m0 	N/A 	N/A 	N/A
ptrword push(p) [mem24] 	/o16 030f	/m1 	N/A 	N/A 	N/A
ptrword push(p) [mem24] 	/o16 0310	/m2 	N/A 	N/A 	N/A
ptrword push(p) [mem24] 	/o16 0311	/m3 	N/A 	N/A 	N/A
hword, word86 push(h) imm16 	/o16 0312	/w16 	N/A 	N/A 	N/A
hword, word86 push(h) reg16 	/o16 0313	/w8 	N/A 	N/A 	N/A
hword, word86 push(h) [mem16] 	/o16 0314	/m0 	N/A 	N/A 	N/A
hword, word86 push(h) [mem16] 	/o16 0315	/m1 	N/A 	N/A 	N/A
hword, word86 push(h) [mem16] 	/o16 0316	/m2 	N/A 	N/A 	N/A
hword, word86 push(h) [mem16] 	/o16 0317	/m3 	N/A 	N/A 	N/A
qaword, byte, byte86 push(b) imm8 	/o16 0318	/w8 	N/A 	N/A 	N/A
qaword, byte, byte86 push(b) reg8 	/o16 0319	/w8 	N/A 	N/A 	N/A
qaword, byte, byte86 push(b) [mem8]	/o16 031a	/m0 	N/A 	N/A 	N/A
qaword, byte, byte86 push(b) [mem8]	/o16 031b	/m1 	N/A 	N/A 	N/A
qaword, byte, byte86 push(b) [mem8]	/o16 031c	/m2 	N/A 	N/A 	N/A
qaword, byte, byte86 push(b) [mem8]	/o16 031d	/m3 	N/A 	N/A 	N/A
POP
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for POP
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 pop(q) reg128 	/o16 031e	/w8 	N/A 	N/A 	N/A
qword, xmmword86 pop(q) [mem128] 	/o16 031f	/m0 	N/A 	N/A 	N/A
qword, xmmword86 pop(q) [mem128] 	/o16 0320	/m1 	N/A 	N/A 	N/A
qword, xmmword86 pop(q) [mem128] 	/o16 0321	/m2 	N/A 	N/A 	N/A
qword, xmmword86 pop(q) [mem128] 	/o16 0322	/m3 	N/A 	N/A 	N/A
dword, qword86 pop(d) reg64 	/o16 0323	/w8 	N/A 	N/A 	N/A
dword, qword86 pop(d) [mem64] 	/o16 0324	/m0 	N/A 	N/A 	N/A
dword, qword86 pop(d) [mem64] 	/o16 0325	/m1 	N/A 	N/A 	N/A
dword, qword86 pop(d) [mem64] 	/o16 0326	/m2 	N/A 	N/A 	N/A
dword, qword86 pop(d) [mem64] 	/o16 0327	/m3 	N/A 	N/A 	N/A
word, dword86 pop(w) reg32 	/o16 0328	/w8 	N/A 	N/A 	N/A
word, dword86 pop(w) [mem32] 	/o16 0329	/m0 	N/A 	N/A 	N/A
word, dword86 pop(w) [mem32] 	/o16 032a	/m1 	N/A 	N/A 	N/A
word, dword86 pop(w) [mem32] 	/o16 032b	/m2 	N/A 	N/A 	N/A
word, dword86 pop(w) [mem32] 	/o16 032c	/m3 	N/A 	N/A 	N/A
ptrword pop(p) reg24 	/o16 032d	/w8 	N/A 	N/A 	N/A
ptrword pop(p) [mem24] 	/o16 032e	/m0 	N/A 	N/A 	N/A
ptrword pop(p) [mem24] 	/o16 032f	/m1 	N/A 	N/A 	N/A
ptrword pop(p) [mem24] 	/o16 0330	/m2 	N/A 	N/A 	N/A
ptrword pop(p) [mem24] 	/o16 0331	/m3 	N/A 	N/A 	N/A
hword, word86 pop(h) reg16 	/o16 0332	/w8 	N/A 	N/A 	N/A
hword, word86 pop(h) [mem16] 	/o16 0333	/m0 	N/A 	N/A 	N/A
hword, word86 pop(h) [mem16] 	/o16 0334	/m1 	N/A 	N/A 	N/A
hword, word86 pop(h) [mem16] 	/o16 0335	/m2 	N/A 	N/A 	N/A
hword, word86 pop(h) [mem16] 	/o16 0336	/m3 	N/A 	N/A 	N/A
qaword, byte, byte86 pop(b) reg8 	/o16 0337	/w8 	N/A 	N/A 	N/A
qaword, byte, byte86 pop(b) [mem8]	/o16 0338	/m0 	N/A 	N/A 	N/A
qaword, byte, byte86 pop(b) [mem8]	/o16 0339	/m1 	N/A 	N/A 	N/A
qaword, byte, byte86 pop(b) [mem8]	/o16 033a	/m2 	N/A 	N/A 	N/A
qaword, byte, byte86 pop(b) [mem8]	/o16 033b	/m3 	N/A 	N/A 	N/A
PEA
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for PEA
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword pea(p) [mem24]	/o16 033c	/m0 	N/A 	N/A 	N/A
ptrword pea(p) [mem24]	/o16 033d	/m1 	N/A 	N/A 	N/A
ptrword pea(p) [mem24]	/o16 033e	/m2 	N/A 	N/A 	N/A
ptrword pea(p) [mem24]	/o16 033f	/m3 	N/A 	N/A 	N/A
LEA
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for LEA
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword lea(p) reg24, [mem24]	/o16 0340	/w8 	/m0 	N/A 	N/A
ptrword lea(p) reg24, [mem24]	/o16 0341	/w8 	/m1 	N/A 	N/A
ptrword lea(p) reg24, [mem24]	/o16 0342	/w8 	/m2 	N/A 	N/A
ptrword lea(p) reg24, [mem24]	/o16 0343	/w8 	/m3 	N/A 	N/A
ADD
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for ADD
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 add(q) reg128, reg128 	/o16 0344	/w8 	/w8 	N/A 	N/A
qword, xmmword86 add(q) reg128, imm128 	/o16 0345	/w8 	/w128 	N/A 	N/A
qword, xmmword86 add(q) reg128, [mem128]	/o16 0346	/w8 	/m0 	N/A 	N/A
qword, xmmword86 add(q) reg128, [mem128]	/o16 0347	/w8 	/m1 	N/A 	N/A
qword, xmmword86 add(q) reg128, [mem128]	/o16 0348	/w8 	/m2 	N/A 	N/A
qword, xmmword86 add(q) reg128, [mem128]	/o16 0349	/w8 	/m3 	N/A 	N/A
qword, xmmword86 add(q) [mem128], reg128	/o16 034a	/m0 	/w8 	N/A 	N/A
qword, xmmword86 add(q) [mem128], reg128	/o16 034b	/m1 	/w8 	N/A 	N/A
qword, xmmword86 add(q) [mem128], reg128	/o16 034c	/m2 	/w8 	N/A 	N/A
qword, xmmword86 add(q) [mem128], reg128	/o16 034d	/m3 	/w8 	N/A 	N/A
qword, xmmword86 add(q) [mem128], imm128	/o16 034e	/m0 	/w128 	N/A 	N/A
qword, xmmword86 add(q) [mem128], imm128	/o16 034f	/m1 	/w128 	N/A 	N/A
qword, xmmword86 add(q) [mem128], imm128	/o16 0350	/m2 	/w128 	N/A 	N/A
qword, xmmword86 add(q) [mem128], imm128	/o16 0351	/m3 	/w128 	N/A 	N/A
dword, qword86 add(d) reg64, reg64 	/o16 0352	/w8 	/w8 	N/A 	N/A
dword, qword86 add(d) reg64, imm64 	/o16 0353	/w8 	/w64 	N/A 	N/A
dword, qword86 add(d) reg64, [mem64] 	/o16 0354	/w8 	/m0 	N/A 	N/A
dword, qword86 add(d) reg64, [mem64] 	/o16 0355	/w8 	/m1 	N/A 	N/A
dword, qword86 add(d) reg64, [mem64] 	/o16 0356	/w8 	/m2 	N/A 	N/A
dword, qword86 add(d) reg64, [mem64] 	/o16 0357	/w8 	/m3 	N/A 	N/A
dword, qword86 add(d) [mem64], reg64 	/o16 0358	/m0 	/w8 	N/A 	N/A
dword, qword86 add(d) [mem64], reg64 	/o16 0359	/m1 	/w8 	N/A 	N/A
dword, qword86 add(d) [mem64], reg64 	/o16 035a	/m2 	/w8 	N/A 	N/A
dword, qword86 add(d) [mem64], reg64 	/o16 035b	/m3 	/w8 	N/A 	N/A
dword, qword86 add(d) [mem64], imm64 	/o16 035c	/m0 	/w64 	N/A 	N/A
dword, qword86 add(d) [mem64], imm64 	/o16 035d	/m1 	/w64 	N/A 	N/A
dword, qword86 add(d) [mem64], imm64 	/o16 035e	/m2 	/w64 	N/A 	N/A
dword, qword86 add(d) [mem64], imm64 	/o16 035f	/m3 	/w64 	N/A 	N/A
word, dword86 add(w) reg32, reg32 	/o16 0360	/w8 	/w8 	N/A 	N/A
word, dword86 add(w) reg32, imm32 	/o16 0361	/w8 	/w32 	N/A 	N/A
word, dword86 add(w) reg32, [mem32] 	/o16 0362	/w8 	/m0 	N/A 	N/A
word, dword86 add(w) reg32, [mem32] 	/o16 0363	/w8 	/m1 	N/A 	N/A
word, dword86 add(w) reg32, [mem32] 	/o16 0364	/w8 	/m2 	N/A 	N/A
word, dword86 add(w) reg32, [mem32] 	/o16 0365	/w8 	/m3 	N/A 	N/A
word, dword86 add(w) [mem32], reg32 	/o16 0366	/m0 	/w8 	N/A 	N/A
word, dword86 add(w) [mem32], reg32 	/o16 0367	/m1 	/w8 	N/A 	N/A
word, dword86 add(w) [mem32], reg32 	/o16 0368	/m2 	/w8 	N/A 	N/A
word, dword86 add(w) [mem32], reg32 	/o16 0369	/m3 	/w8 	N/A 	N/A
word, dword86 add(w) [mem32], imm32 	/o16 036a	/m0 	/w32 	N/A 	N/A
word, dword86 add(w) [mem32], imm32 	/o16 036b	/m1 	/w32 	N/A 	N/A
word, dword86 add(w) [mem32], imm32 	/o16 036c	/m2 	/w32 	N/A 	N/A
word, dword86 add(w) [mem32], imm32 	/o16 036d	/m3 	/w32 	N/A 	N/A
ptrword add(p) reg24, reg24 	/o16 036e	/w8 	/w8 	N/A 	N/A
ptrword add(p) reg24, imm24 	/o16 036f	/w8 	/w24 	N/A 	N/A
ptrword add(p) reg24, [mem24] 	/o16 0370	/w8 	/m0 	N/A 	N/A
ptrword add(p) reg24, [mem24] 	/o16 0371	/w8 	/m1 	N/A 	N/A
ptrword add(p) reg24, [mem24] 	/o16 0372	/w8 	/m2 	N/A 	N/A
ptrword add(p) reg24, [mem24] 	/o16 0373	/w8 	/m3 	N/A 	N/A
ptrword add(p) [mem24], reg24 	/o16 0374	/m0 	/w8 	N/A 	N/A
ptrword add(p) [mem24], reg24 	/o16 0375	/m1 	/w8 	N/A 	N/A
ptrword add(p) [mem24], reg24 	/o16 0376	/m2 	/w8 	N/A 	N/A
ptrword add(p) [mem24], reg24 	/o16 0377	/m3 	/w8 	N/A 	N/A
ptrword add(p) [mem24], imm24 	/o16 0378	/m0 	/w24 	N/A 	N/A
ptrword add(p) [mem24], imm24 	/o16 0379	/m1 	/w24 	N/A 	N/A
ptrword add(p) [mem24], imm24 	/o16 037a	/m2 	/w24 	N/A 	N/A
ptrword add(p) [mem24], imm24 	/o16 037b	/m3 	/w24 	N/A 	N/A
hword, word86 add(h) reg16, reg16 	/o16 037c	/w8 	/w8 	N/A 	N/A
hword, word86 add(h) reg16, imm16 	/o16 037d	/w8 	/w16 	N/A 	N/A
hword, word86 add(h) reg16, [mem16] 	/o16 037e	/w8 	/m0 	N/A 	N/A
hword, word86 add(h) reg16, [mem16] 	/o16 037f	/w8 	/m1 	N/A 	N/A
hword, word86 add(h) reg16, [mem16] 	/o16 0380	/w8 	/m2 	N/A 	N/A
hword, word86 add(h) reg16, [mem16] 	/o16 0381	/w8 	/m3 	N/A 	N/A
hword, word86 add(h) [mem16], reg16 	/o16 0382	/m0 	/w8 	N/A 	N/A
hword, word86 add(h) [mem16], reg16 	/o16 0383	/m1 	/w8 	N/A 	N/A
hword, word86 add(h) [mem16], reg16 	/o16 0384	/m2 	/w8 	N/A 	N/A
hword, word86 add(h) [mem16], reg16 	/o16 0385	/m3 	/w8 	N/A 	N/A
hword, word86 add(h) [mem16], imm16 	/o16 0386	/m0 	/w16 	N/A 	N/A
hword, word86 add(h) [mem16], imm16 	/o16 0387	/m1 	/w16 	N/A 	N/A
hword, word86 add(h) [mem16], imm16 	/o16 0388	/m2 	/w16 	N/A 	N/A
hword, word86 add(h) [mem16], imm16 	/o16 0389	/m3 	/w16 	N/A 	N/A
qaword, byte, byte86 add(b) reg8, reg8 	/o16 038a	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 add(b) reg8, imm8 	/o16 038b	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 add(b) reg8, [mem8]	/o16 038c	/w8 	/m0 	N/A 	N/A
qaword, byte, byte86 add(b) reg8, [mem8]	/o16 038d	/w8 	/m1 	N/A 	N/A
qaword, byte, byte86 add(b) reg8, [mem8]	/o16 038e	/w8 	/m2 	N/A 	N/A
qaword, byte, byte86 add(b) reg8, [mem8]	/o16 038f	/w8 	/m3 	N/A 	N/A
qaword, byte, byte86 add(b) [mem8], reg8	/o16 0390	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 add(b) [mem8], reg8	/o16 0391	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 add(b) [mem8], reg8	/o16 0392	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 add(b) [mem8], reg8	/o16 0393	/m3 	/w8 	N/A 	N/A
qaword, byte, byte86 add(b) [mem8], imm8	/o16 0394	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 add(b) [mem8], imm8	/o16 0395	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 add(b) [mem8], imm8	/o16 0396	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 add(b) [mem8], imm8	/o16 0397	/m3 	/w8 	N/A 	N/A
SUB
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for SUB
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 sub(q) reg128, reg128 	/o16 0398	/w8 	/w8 	N/A 	N/A
qword, xmmword86 sub(q) reg128, imm128 	/o16 0399	/w8 	/w128 	N/A 	N/A
qword, xmmword86 sub(q) reg128, [mem128]	/o16 039a	/w8 	/m0 	N/A 	N/A
qword, xmmword86 sub(q) reg128, [mem128]	/o16 039b	/w8 	/m1 	N/A 	N/A
qword, xmmword86 sub(q) reg128, [mem128]	/o16 039c	/w8 	/m2 	N/A 	N/A
qword, xmmword86 sub(q) reg128, [mem128]	/o16 039d	/w8 	/m3 	N/A 	N/A
qword, xmmword86 sub(q) [mem128], reg128	/o16 039e	/m0 	/w8 	N/A 	N/A
qword, xmmword86 sub(q) [mem128], reg128	/o16 039f	/m1 	/w8 	N/A 	N/A
qword, xmmword86 sub(q) [mem128], reg128	/o16 03a0	/m2 	/w8 	N/A 	N/A
qword, xmmword86 sub(q) [mem128], reg128	/o16 03a1	/m3 	/w8 	N/A 	N/A
qword, xmmword86 sub(q) [mem128], imm128	/o16 03a2	/m0 	/w128 	N/A 	N/A
qword, xmmword86 sub(q) [mem128], imm128	/o16 03a3	/m1 	/w128 	N/A 	N/A
qword, xmmword86 sub(q) [mem128], imm128	/o16 03a4	/m2 	/w128 	N/A 	N/A
qword, xmmword86 sub(q) [mem128], imm128	/o16 03a5	/m3 	/w128 	N/A 	N/A
dword, qword86 sub(d) reg64, reg64 	/o16 03a6	/w8 	/w8 	N/A 	N/A
dword, qword86 sub(d) reg64, imm64 	/o16 03a7	/w8 	/w64 	N/A 	N/A
dword, qword86 sub(d) reg64, [mem64] 	/o16 03a8	/w8 	/m0 	N/A 	N/A
dword, qword86 sub(d) reg64, [mem64] 	/o16 03a9	/w8 	/m1 	N/A 	N/A
dword, qword86 sub(d) reg64, [mem64] 	/o16 03aa	/w8 	/m2 	N/A 	N/A
dword, qword86 sub(d) reg64, [mem64] 	/o16 03ab	/w8 	/m3 	N/A 	N/A
dword, qword86 sub(d) [mem64], reg64 	/o16 03ac	/m0 	/w8 	N/A 	N/A
dword, qword86 sub(d) [mem64], reg64 	/o16 03ad	/m1 	/w8 	N/A 	N/A
dword, qword86 sub(d) [mem64], reg64 	/o16 03ae	/m2 	/w8 	N/A 	N/A
dword, qword86 sub(d) [mem64], reg64 	/o16 03af	/m3 	/w8 	N/A 	N/A
dword, qword86 sub(d) [mem64], imm64 	/o16 03b0	/m0 	/w64 	N/A 	N/A
dword, qword86 sub(d) [mem64], imm64 	/o16 03b1	/m1 	/w64 	N/A 	N/A
dword, qword86 sub(d) [mem64], imm64 	/o16 03b2	/m2 	/w64 	N/A 	N/A
dword, qword86 sub(d) [mem64], imm64 	/o16 03b3	/m3 	/w64 	N/A 	N/A
word, dword86 sub(w) reg32, reg32 	/o16 03b4	/w8 	/w8 	N/A 	N/A
word, dword86 sub(w) reg32, imm32 	/o16 03b5	/w8 	/w32 	N/A 	N/A
word, dword86 sub(w) reg32, [mem32] 	/o16 03b6	/w8 	/m0 	N/A 	N/A
word, dword86 sub(w) reg32, [mem32] 	/o16 03b7	/w8 	/m1 	N/A 	N/A
word, dword86 sub(w) reg32, [mem32] 	/o16 03b8	/w8 	/m2 	N/A 	N/A
word, dword86 sub(w) reg32, [mem32] 	/o16 03b9	/w8 	/m3 	N/A 	N/A
word, dword86 sub(w) [mem32], reg32 	/o16 03ba	/m0 	/w8 	N/A 	N/A
word, dword86 sub(w) [mem32], reg32 	/o16 03bb	/m1 	/w8 	N/A 	N/A
word, dword86 sub(w) [mem32], reg32 	/o16 03bc	/m2 	/w8 	N/A 	N/A
word, dword86 sub(w) [mem32], reg32 	/o16 03bd	/m3 	/w8 	N/A 	N/A
word, dword86 sub(w) [mem32], imm32 	/o16 03be	/m0 	/w32 	N/A 	N/A
word, dword86 sub(w) [mem32], imm32 	/o16 03bf	/m1 	/w32 	N/A 	N/A
word, dword86 sub(w) [mem32], imm32 	/o16 03c0	/m2 	/w32 	N/A 	N/A
word, dword86 sub(w) [mem32], imm32 	/o16 03c1	/m3 	/w32 	N/A 	N/A
ptrword sub(p) reg24, reg24 	/o16 03c2	/w8 	/w8 	N/A 	N/A
ptrword sub(p) reg24, imm24 	/o16 03c3	/w8 	/w24 	N/A 	N/A
ptrword sub(p) reg24, [mem24] 	/o16 03c4	/w8 	/m0 	N/A 	N/A
ptrword sub(p) reg24, [mem24] 	/o16 03c5	/w8 	/m1 	N/A 	N/A
ptrword sub(p) reg24, [mem24] 	/o16 03c6	/w8 	/m2 	N/A 	N/A
ptrword sub(p) reg24, [mem24] 	/o16 03c7	/w8 	/m3 	N/A 	N/A
ptrword sub(p) [mem24], reg24 	/o16 03c8	/m0 	/w8 	N/A 	N/A
ptrword sub(p) [mem24], reg24 	/o16 03c9	/m1 	/w8 	N/A 	N/A
ptrword sub(p) [mem24], reg24 	/o16 03ca	/m2 	/w8 	N/A 	N/A
ptrword sub(p) [mem24], reg24 	/o16 03cb	/m3 	/w8 	N/A 	N/A
ptrword sub(p) [mem24], imm24 	/o16 03cc	/m0 	/w24 	N/A 	N/A
ptrword sub(p) [mem24], imm24 	/o16 03cd	/m1 	/w24 	N/A 	N/A
ptrword sub(p) [mem24], imm24 	/o16 03ce	/m2 	/w24 	N/A 	N/A
ptrword sub(p) [mem24], imm24 	/o16 03cf	/m3 	/w24 	N/A 	N/A
hword, word86 sub(h) reg16, reg16 	/o16 03d0	/w8 	/w8 	N/A 	N/A
hword, word86 sub(h) reg16, imm16 	/o16 03d1	/w8 	/w16 	N/A 	N/A
hword, word86 sub(h) reg16, [mem16] 	/o16 03d2	/w8 	/m0 	N/A 	N/A
hword, word86 sub(h) reg16, [mem16] 	/o16 03d3	/w8 	/m1 	N/A 	N/A
hword, word86 sub(h) reg16, [mem16] 	/o16 03d4	/w8 	/m2 	N/A 	N/A
hword, word86 sub(h) reg16, [mem16] 	/o16 03d5	/w8 	/m3 	N/A 	N/A
hword, word86 sub(h) [mem16], reg16 	/o16 03d6	/m0 	/w8 	N/A 	N/A
hword, word86 sub(h) [mem16], reg16 	/o16 03d7	/m1 	/w8 	N/A 	N/A
hword, word86 sub(h) [mem16], reg16 	/o16 03d8	/m2 	/w8 	N/A 	N/A
hword, word86 sub(h) [mem16], reg16 	/o16 03d9	/m3 	/w8 	N/A 	N/A
hword, word86 sub(h) [mem16], imm16 	/o16 03da	/m0 	/w16 	N/A 	N/A
hword, word86 sub(h) [mem16], imm16 	/o16 03db	/m1 	/w16 	N/A 	N/A
hword, word86 sub(h) [mem16], imm16 	/o16 03dc	/m2 	/w16 	N/A 	N/A
hword, word86 sub(h) [mem16], imm16 	/o16 03dd	/m3 	/w16 	N/A 	N/A
qaword, byte, byte86 sub(b) reg8, reg8 	/o16 03de	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 sub(b) reg8, imm8 	/o16 03df	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 sub(b) reg8, [mem8]	/o16 03e0	/w8 	/m0 	N/A 	N/A
qaword, byte, byte86 sub(b) reg8, [mem8]	/o16 03e1	/w8 	/m1 	N/A 	N/A
qaword, byte, byte86 sub(b) reg8, [mem8]	/o16 03e2	/w8 	/m2 	N/A 	N/A
qaword, byte, byte86 sub(b) reg8, [mem8]	/o16 03e3	/w8 	/m3 	N/A 	N/A
qaword, byte, byte86 sub(b) [mem8], reg8	/o16 03e4	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 sub(b) [mem8], reg8	/o16 03e5	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 sub(b) [mem8], reg8	/o16 03e6	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 sub(b) [mem8], reg8	/o16 03e7	/m3 	/w8 	N/A 	N/A
qaword, byte, byte86 sub(b) [mem8], imm8	/o16 03e8	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 sub(b) [mem8], imm8	/o16 03e9	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 sub(b) [mem8], imm8	/o16 03ea	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 sub(b) [mem8], imm8	/o16 03eb	/m3 	/w8 	N/A 	N/A
MUL
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for MUL
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 mul(q) reg128, reg128 	/o16 03ec	/w8 	/w8 	N/A 	N/A
qword, xmmword86 mul(q) reg128, imm128 	/o16 03ed	/w8 	/w128 	N/A 	N/A
qword, xmmword86 mul(q) reg128, [mem128]	/o16 03ee	/w8 	/m0 	N/A 	N/A
qword, xmmword86 mul(q) reg128, [mem128]	/o16 03ef	/w8 	/m1 	N/A 	N/A
qword, xmmword86 mul(q) reg128, [mem128]	/o16 03f0	/w8 	/m2 	N/A 	N/A
qword, xmmword86 mul(q) reg128, [mem128]	/o16 03f1	/w8 	/m3 	N/A 	N/A
qword, xmmword86 mul(q) [mem128], reg128	/o16 03f2	/m0 	/w8 	N/A 	N/A
qword, xmmword86 mul(q) [mem128], reg128	/o16 03f3	/m1 	/w8 	N/A 	N/A
qword, xmmword86 mul(q) [mem128], reg128	/o16 03f4	/m2 	/w8 	N/A 	N/A
qword, xmmword86 mul(q) [mem128], reg128	/o16 03f5	/m3 	/w8 	N/A 	N/A
qword, xmmword86 mul(q) [mem128], imm128	/o16 03f6	/m0 	/w128 	N/A 	N/A
qword, xmmword86 mul(q) [mem128], imm128	/o16 03f7	/m1 	/w128 	N/A 	N/A
qword, xmmword86 mul(q) [mem128], imm128	/o16 03f8	/m2 	/w128 	N/A 	N/A
qword, xmmword86 mul(q) [mem128], imm128	/o16 03f9	/m3 	/w128 	N/A 	N/A
dword, qword86 mul(d) reg64, reg64 	/o16 03fa	/w8 	/w8 	N/A 	N/A
dword, qword86 mul(d) reg64, imm64 	/o16 03fb	/w8 	/w64 	N/A 	N/A
dword, qword86 mul(d) reg64, [mem64] 	/o16 03fc	/w8 	/m0 	N/A 	N/A
dword, qword86 mul(d) reg64, [mem64] 	/o16 03fd	/w8 	/m1 	N/A 	N/A
dword, qword86 mul(d) reg64, [mem64] 	/o16 03fe	/w8 	/m2 	N/A 	N/A
dword, qword86 mul(d) reg64, [mem64] 	/o16 03ff	/w8 	/m3 	N/A 	N/A
dword, qword86 mul(d) [mem64], reg64 	/o16 0400	/m0 	/w8 	N/A 	N/A
dword, qword86 mul(d) [mem64], reg64 	/o16 0401	/m1 	/w8 	N/A 	N/A
dword, qword86 mul(d) [mem64], reg64 	/o16 0402	/m2 	/w8 	N/A 	N/A
dword, qword86 mul(d) [mem64], reg64 	/o16 0403	/m3 	/w8 	N/A 	N/A
dword, qword86 mul(d) [mem64], imm64 	/o16 0404	/m0 	/w64 	N/A 	N/A
dword, qword86 mul(d) [mem64], imm64 	/o16 0405	/m1 	/w64 	N/A 	N/A
dword, qword86 mul(d) [mem64], imm64 	/o16 0406	/m2 	/w64 	N/A 	N/A
dword, qword86 mul(d) [mem64], imm64 	/o16 0407	/m3 	/w64 	N/A 	N/A
word, dword86 mul(w) reg32, reg32 	/o16 0408	/w8 	/w8 	N/A 	N/A
word, dword86 mul(w) reg32, imm32 	/o16 0409	/w8 	/w32 	N/A 	N/A
word, dword86 mul(w) reg32, [mem32] 	/o16 040a	/w8 	/m0 	N/A 	N/A
word, dword86 mul(w) reg32, [mem32] 	/o16 040b	/w8 	/m1 	N/A 	N/A
word, dword86 mul(w) reg32, [mem32] 	/o16 040c	/w8 	/m2 	N/A 	N/A
word, dword86 mul(w) reg32, [mem32] 	/o16 040d	/w8 	/m3 	N/A 	N/A
word, dword86 mul(w) [mem32], reg32 	/o16 040e	/m0 	/w8 	N/A 	N/A
word, dword86 mul(w) [mem32], reg32 	/o16 040f	/m1 	/w8 	N/A 	N/A
word, dword86 mul(w) [mem32], reg32 	/o16 0410	/m2 	/w8 	N/A 	N/A
word, dword86 mul(w) [mem32], reg32 	/o16 0411	/m3 	/w8 	N/A 	N/A
word, dword86 mul(w) [mem32], imm32 	/o16 0412	/m0 	/w32 	N/A 	N/A
word, dword86 mul(w) [mem32], imm32 	/o16 0413	/m1 	/w32 	N/A 	N/A
word, dword86 mul(w) [mem32], imm32 	/o16 0414	/m2 	/w32 	N/A 	N/A
word, dword86 mul(w) [mem32], imm32 	/o16 0415	/m3 	/w32 	N/A 	N/A
ptrword mul(p) reg24, reg24 	/o16 0416	/w8 	/w8 	N/A 	N/A
ptrword mul(p) reg24, imm24 	/o16 0417	/w8 	/w24 	N/A 	N/A
ptrword mul(p) reg24, [mem24] 	/o16 0418	/w8 	/m0 	N/A 	N/A
ptrword mul(p) reg24, [mem24] 	/o16 0419	/w8 	/m1 	N/A 	N/A
ptrword mul(p) reg24, [mem24] 	/o16 041a	/w8 	/m2 	N/A 	N/A
ptrword mul(p) reg24, [mem24] 	/o16 041b	/w8 	/m3 	N/A 	N/A
ptrword mul(p) [mem24], reg24 	/o16 041c	/m0 	/w8 	N/A 	N/A
ptrword mul(p) [mem24], reg24 	/o16 041d	/m1 	/w8 	N/A 	N/A
ptrword mul(p) [mem24], reg24 	/o16 041e	/m2 	/w8 	N/A 	N/A
ptrword mul(p) [mem24], reg24 	/o16 041f	/m3 	/w8 	N/A 	N/A
ptrword mul(p) [mem24], imm24 	/o16 0420	/m0 	/w24 	N/A 	N/A
ptrword mul(p) [mem24], imm24 	/o16 0421	/m1 	/w24 	N/A 	N/A
ptrword mul(p) [mem24], imm24 	/o16 0422	/m2 	/w24 	N/A 	N/A
ptrword mul(p) [mem24], imm24 	/o16 0423	/m3 	/w24 	N/A 	N/A
hword, word86 mul(h) reg16, reg16 	/o16 0424	/w8 	/w8 	N/A 	N/A
hword, word86 mul(h) reg16, imm16 	/o16 0425	/w8 	/w16 	N/A 	N/A
hword, word86 mul(h) reg16, [mem16] 	/o16 0426	/w8 	/m0 	N/A 	N/A
hword, word86 mul(h) reg16, [mem16] 	/o16 0427	/w8 	/m1 	N/A 	N/A
hword, word86 mul(h) reg16, [mem16] 	/o16 0428	/w8 	/m2 	N/A 	N/A
hword, word86 mul(h) reg16, [mem16] 	/o16 0429	/w8 	/m3 	N/A 	N/A
hword, word86 mul(h) [mem16], reg16 	/o16 042a	/m0 	/w8 	N/A 	N/A
hword, word86 mul(h) [mem16], reg16 	/o16 042b	/m1 	/w8 	N/A 	N/A
hword, word86 mul(h) [mem16], reg16 	/o16 042c	/m2 	/w8 	N/A 	N/A
hword, word86 mul(h) [mem16], reg16 	/o16 042d	/m3 	/w8 	N/A 	N/A
hword, word86 mul(h) [mem16], imm16 	/o16 042e	/m0 	/w16 	N/A 	N/A
hword, word86 mul(h) [mem16], imm16 	/o16 042f	/m1 	/w16 	N/A 	N/A
hword, word86 mul(h) [mem16], imm16 	/o16 0430	/m2 	/w16 	N/A 	N/A
hword, word86 mul(h) [mem16], imm16 	/o16 0431	/m3 	/w16 	N/A 	N/A
qaword, byte, byte86 mul(b) reg8, reg8 	/o16 0432	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 mul(b) reg8, imm8 	/o16 0433	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 mul(b) reg8, [mem8]	/o16 0434	/w8 	/m0 	N/A 	N/A
qaword, byte, byte86 mul(b) reg8, [mem8]	/o16 0435	/w8 	/m1 	N/A 	N/A
qaword, byte, byte86 mul(b) reg8, [mem8]	/o16 0436	/w8 	/m2 	N/A 	N/A
qaword, byte, byte86 mul(b) reg8, [mem8]	/o16 0437	/w8 	/m3 	N/A 	N/A
qaword, byte, byte86 mul(b) [mem8], reg8	/o16 0438	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 mul(b) [mem8], reg8	/o16 0439	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 mul(b) [mem8], reg8	/o16 043a	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 mul(b) [mem8], reg8	/o16 043b	/m3 	/w8 	N/A 	N/A
qaword, byte, byte86 mul(b) [mem8], imm8	/o16 043c	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 mul(b) [mem8], imm8	/o16 043d	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 mul(b) [mem8], imm8	/o16 043e	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 mul(b) [mem8], imm8	/o16 043f	/m3 	/w8 	N/A 	N/A
DIV
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for DIV
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 div(q) reg128, reg128 	/o16 0440	/w8 	/w8 	N/A 	N/A
qword, xmmword86 div(q) reg128, imm128 	/o16 0441	/w8 	/w128 	N/A 	N/A
qword, xmmword86 div(q) reg128, [mem128]	/o16 0442	/w8 	/m0 	N/A 	N/A
qword, xmmword86 div(q) reg128, [mem128]	/o16 0443	/w8 	/m1 	N/A 	N/A
qword, xmmword86 div(q) reg128, [mem128]	/o16 0444	/w8 	/m2 	N/A 	N/A
qword, xmmword86 div(q) reg128, [mem128]	/o16 0445	/w8 	/m3 	N/A 	N/A
qword, xmmword86 div(q) [mem128], reg128	/o16 0446	/m0 	/w8 	N/A 	N/A
qword, xmmword86 div(q) [mem128], reg128	/o16 0447	/m1 	/w8 	N/A 	N/A
qword, xmmword86 div(q) [mem128], reg128	/o16 0448	/m2 	/w8 	N/A 	N/A
qword, xmmword86 div(q) [mem128], reg128	/o16 0449	/m3 	/w8 	N/A 	N/A
qword, xmmword86 div(q) [mem128], imm128	/o16 044a	/m0 	/w128 	N/A 	N/A
qword, xmmword86 div(q) [mem128], imm128	/o16 044b	/m1 	/w128 	N/A 	N/A
qword, xmmword86 div(q) [mem128], imm128	/o16 044c	/m2 	/w128 	N/A 	N/A
qword, xmmword86 div(q) [mem128], imm128	/o16 044d	/m3 	/w128 	N/A 	N/A
dword, qword86 div(d) reg64, reg64 	/o16 044e	/w8 	/w8 	N/A 	N/A
dword, qword86 div(d) reg64, imm64 	/o16 044f	/w8 	/w64 	N/A 	N/A
dword, qword86 div(d) reg64, [mem64] 	/o16 0450	/w8 	/m0 	N/A 	N/A
dword, qword86 div(d) reg64, [mem64] 	/o16 0451	/w8 	/m1 	N/A 	N/A
dword, qword86 div(d) reg64, [mem64] 	/o16 0452	/w8 	/m2 	N/A 	N/A
dword, qword86 div(d) reg64, [mem64] 	/o16 0453	/w8 	/m3 	N/A 	N/A
dword, qword86 div(d) [mem64], reg64 	/o16 0454	/m0 	/w8 	N/A 	N/A
dword, qword86 div(d) [mem64], reg64 	/o16 0455	/m1 	/w8 	N/A 	N/A
dword, qword86 div(d) [mem64], reg64 	/o16 0456	/m2 	/w8 	N/A 	N/A
dword, qword86 div(d) [mem64], reg64 	/o16 0457	/m3 	/w8 	N/A 	N/A
dword, qword86 div(d) [mem64], imm64 	/o16 0458	/m0 	/w64 	N/A 	N/A
dword, qword86 div(d) [mem64], imm64 	/o16 0459	/m1 	/w64 	N/A 	N/A
dword, qword86 div(d) [mem64], imm64 	/o16 045a	/m2 	/w64 	N/A 	N/A
dword, qword86 div(d) [mem64], imm64 	/o16 045b	/m3 	/w64 	N/A 	N/A
word, dword86 div(w) reg32, reg32 	/o16 045c	/w8 	/w8 	N/A 	N/A
word, dword86 div(w) reg32, imm32 	/o16 045d	/w8 	/w32 	N/A 	N/A
word, dword86 div(w) reg32, [mem32] 	/o16 045e	/w8 	/m0 	N/A 	N/A
word, dword86 div(w) reg32, [mem32] 	/o16 045f	/w8 	/m1 	N/A 	N/A
word, dword86 div(w) reg32, [mem32] 	/o16 0460	/w8 	/m2 	N/A 	N/A
word, dword86 div(w) reg32, [mem32] 	/o16 0461	/w8 	/m3 	N/A 	N/A
word, dword86 div(w) [mem32], reg32 	/o16 0462	/m0 	/w8 	N/A 	N/A
word, dword86 div(w) [mem32], reg32 	/o16 0463	/m1 	/w8 	N/A 	N/A
word, dword86 div(w) [mem32], reg32 	/o16 0464	/m2 	/w8 	N/A 	N/A
word, dword86 div(w) [mem32], reg32 	/o16 0465	/m3 	/w8 	N/A 	N/A
word, dword86 div(w) [mem32], imm32 	/o16 0466	/m0 	/w32 	N/A 	N/A
word, dword86 div(w) [mem32], imm32 	/o16 0467	/m1 	/w32 	N/A 	N/A
word, dword86 div(w) [mem32], imm32 	/o16 0468	/m2 	/w32 	N/A 	N/A
word, dword86 div(w) [mem32], imm32 	/o16 0469	/m3 	/w32 	N/A 	N/A
ptrword div(p) reg24, reg24 	/o16 046a	/w8 	/w8 	N/A 	N/A
ptrword div(p) reg24, imm24 	/o16 046b	/w8 	/w24 	N/A 	N/A
ptrword div(p) reg24, [mem24] 	/o16 046c	/w8 	/m0 	N/A 	N/A
ptrword div(p) reg24, [mem24] 	/o16 046d	/w8 	/m1 	N/A 	N/A
ptrword div(p) reg24, [mem24] 	/o16 046e	/w8 	/m2 	N/A 	N/A
ptrword div(p) reg24, [mem24] 	/o16 046f	/w8 	/m3 	N/A 	N/A
ptrword div(p) [mem24], reg24 	/o16 0470	/m0 	/w8 	N/A 	N/A
ptrword div(p) [mem24], reg24 	/o16 0471	/m1 	/w8 	N/A 	N/A
ptrword div(p) [mem24], reg24 	/o16 0472	/m2 	/w8 	N/A 	N/A
ptrword div(p) [mem24], reg24 	/o16 0473	/m3 	/w8 	N/A 	N/A
ptrword div(p) [mem24], imm24 	/o16 0474	/m0 	/w24 	N/A 	N/A
ptrword div(p) [mem24], imm24 	/o16 0475	/m1 	/w24 	N/A 	N/A
ptrword div(p) [mem24], imm24 	/o16 0476	/m2 	/w24 	N/A 	N/A
ptrword div(p) [mem24], imm24 	/o16 0477	/m3 	/w24 	N/A 	N/A
hword, word86 div(h) reg16, reg16 	/o16 0478	/w8 	/w8 	N/A 	N/A
hword, word86 div(h) reg16, imm16 	/o16 0479	/w8 	/w16 	N/A 	N/A
hword, word86 div(h) reg16, [mem16] 	/o16 047a	/w8 	/m0 	N/A 	N/A
hword, word86 div(h) reg16, [mem16] 	/o16 047b	/w8 	/m1 	N/A 	N/A
hword, word86 div(h) reg16, [mem16] 	/o16 047c	/w8 	/m2 	N/A 	N/A
hword, word86 div(h) reg16, [mem16] 	/o16 047d	/w8 	/m3 	N/A 	N/A
hword, word86 div(h) [mem16], reg16 	/o16 047e	/m0 	/w8 	N/A 	N/A
hword, word86 div(h) [mem16], reg16 	/o16 047f	/m1 	/w8 	N/A 	N/A
hword, word86 div(h) [mem16], reg16 	/o16 0480	/m2 	/w8 	N/A 	N/A
hword, word86 div(h) [mem16], reg16 	/o16 0481	/m3 	/w8 	N/A 	N/A
hword, word86 div(h) [mem16], imm16 	/o16 0482	/m0 	/w16 	N/A 	N/A
hword, word86 div(h) [mem16], imm16 	/o16 0483	/m1 	/w16 	N/A 	N/A
hword, word86 div(h) [mem16], imm16 	/o16 0484	/m2 	/w16 	N/A 	N/A
hword, word86 div(h) [mem16], imm16 	/o16 0485	/m3 	/w16 	N/A 	N/A
qaword, byte, byte86 div(b) reg8, reg8 	/o16 0486	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 div(b) reg8, imm8 	/o16 0487	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 div(b) reg8, [mem8]	/o16 0488	/w8 	/m0 	N/A 	N/A
qaword, byte, byte86 div(b) reg8, [mem8]	/o16 0489	/w8 	/m1 	N/A 	N/A
qaword, byte, byte86 div(b) reg8, [mem8]	/o16 048a	/w8 	/m2 	N/A 	N/A
qaword, byte, byte86 div(b) reg8, [mem8]	/o16 048b	/w8 	/m3 	N/A 	N/A
qaword, byte, byte86 div(b) [mem8], reg8	/o16 048c	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 div(b) [mem8], reg8	/o16 048d	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 div(b) [mem8], reg8	/o16 048e	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 div(b) [mem8], reg8	/o16 048f	/m3 	/w8 	N/A 	N/A
qaword, byte, byte86 div(b) [mem8], imm8	/o16 0490	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 div(b) [mem8], imm8	/o16 0491	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 div(b) [mem8], imm8	/o16 0492	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 div(b) [mem8], imm8	/o16 0493	/m3 	/w8 	N/A 	N/A
INC
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for INC
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 inc(q) reg128 	/o16 0494	/w8 	N/A 	N/A 	N/A
qword, xmmword86 inc(q) [mem128] 	/o16 0495	/m0 	N/A 	N/A 	N/A
qword, xmmword86 inc(q) [mem128] 	/o16 0496	/m1 	N/A 	N/A 	N/A
qword, xmmword86 inc(q) [mem128] 	/o16 0497	/m2 	N/A 	N/A 	N/A
qword, xmmword86 inc(q) [mem128] 	/o16 0498	/m3 	N/A 	N/A 	N/A
dword, qword86 inc(d) reg64 	/o16 0499	/w8 	N/A 	N/A 	N/A
dword, qword86 inc(d) [mem64] 	/o16 049a	/m0 	N/A 	N/A 	N/A
dword, qword86 inc(d) [mem64] 	/o16 049b	/m1 	N/A 	N/A 	N/A
dword, qword86 inc(d) [mem64] 	/o16 049c	/m2 	N/A 	N/A 	N/A
dword, qword86 inc(d) [mem64] 	/o16 049d	/m3 	N/A 	N/A 	N/A
word, dword86 inc(w) reg32 	/o16 049e	/w8 	N/A 	N/A 	N/A
word, dword86 inc(w) [mem32] 	/o16 049f	/m0 	N/A 	N/A 	N/A
word, dword86 inc(w) [mem32] 	/o16 04a0	/m1 	N/A 	N/A 	N/A
word, dword86 inc(w) [mem32] 	/o16 04a1	/m2 	N/A 	N/A 	N/A
word, dword86 inc(w) [mem32] 	/o16 04a2	/m3 	N/A 	N/A 	N/A
ptrword inc(p) reg24 	/o16 04a3	/w8 	N/A 	N/A 	N/A
ptrword inc(p) [mem24] 	/o16 04a4	/m0 	N/A 	N/A 	N/A
ptrword inc(p) [mem24] 	/o16 04a5	/m1 	N/A 	N/A 	N/A
ptrword inc(p) [mem24] 	/o16 04a6	/m2 	N/A 	N/A 	N/A
ptrword inc(p) [mem24] 	/o16 04a7	/m3 	N/A 	N/A 	N/A
hword, word86 inc(h) reg16 	/o16 04a8	/w8 	N/A 	N/A 	N/A
hword, word86 inc(h) [mem16] 	/o16 04a9	/m0 	N/A 	N/A 	N/A
hword, word86 inc(h) [mem16] 	/o16 04aa	/m1 	N/A 	N/A 	N/A
hword, word86 inc(h) [mem16] 	/o16 04ab	/m2 	N/A 	N/A 	N/A
hword, word86 inc(h) [mem16] 	/o16 04ac	/m3 	N/A 	N/A 	N/A
qaword, byte, byte86 inc(b) reg8 	/o16 04ad	/w8 	N/A 	N/A 	N/A
qaword, byte, byte86 inc(b) [mem8]	/o16 04ae	/m0 	N/A 	N/A 	N/A
qaword, byte, byte86 inc(b) [mem8]	/o16 04af	/m1 	N/A 	N/A 	N/A
qaword, byte, byte86 inc(b) [mem8]	/o16 04b0	/m2 	N/A 	N/A 	N/A
qaword, byte, byte86 inc(b) [mem8]	/o16 04b1	/m3 	N/A 	N/A 	N/A
DEC
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for DEC
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 dec(q) reg128 	/o16 04b2	/w8 	N/A 	N/A 	N/A
qword, xmmword86 dec(q) [mem128] 	/o16 04b3	/m0 	N/A 	N/A 	N/A
qword, xmmword86 dec(q) [mem128] 	/o16 04b4	/m1 	N/A 	N/A 	N/A
qword, xmmword86 dec(q) [mem128] 	/o16 04b5	/m2 	N/A 	N/A 	N/A
qword, xmmword86 dec(q) [mem128] 	/o16 04b6	/m3 	N/A 	N/A 	N/A
dword, qword86 dec(d) reg64 	/o16 04b7	/w8 	N/A 	N/A 	N/A
dword, qword86 dec(d) [mem64] 	/o16 04b8	/m0 	N/A 	N/A 	N/A
dword, qword86 dec(d) [mem64] 	/o16 04b9	/m1 	N/A 	N/A 	N/A
dword, qword86 dec(d) [mem64] 	/o16 04ba	/m2 	N/A 	N/A 	N/A
dword, qword86 dec(d) [mem64] 	/o16 04bb	/m3 	N/A 	N/A 	N/A
word, dword86 dec(w) reg32 	/o16 04bc	/w8 	N/A 	N/A 	N/A
word, dword86 dec(w) [mem32] 	/o16 04bd	/m0 	N/A 	N/A 	N/A
word, dword86 dec(w) [mem32] 	/o16 04be	/m1 	N/A 	N/A 	N/A
word, dword86 dec(w) [mem32] 	/o16 04bf	/m2 	N/A 	N/A 	N/A
word, dword86 dec(w) [mem32] 	/o16 04c0	/m3 	N/A 	N/A 	N/A
ptrword dec(p) reg24 	/o16 04c1	/w8 	N/A 	N/A 	N/A
ptrword dec(p) [mem24] 	/o16 04c2	/m0 	N/A 	N/A 	N/A
ptrword dec(p) [mem24] 	/o16 04c3	/m1 	N/A 	N/A 	N/A
ptrword dec(p) [mem24] 	/o16 04c4	/m2 	N/A 	N/A 	N/A
ptrword dec(p) [mem24] 	/o16 04c5	/m3 	N/A 	N/A 	N/A
hword, word86 dec(h) reg16 	/o16 04c6	/w8 	N/A 	N/A 	N/A
hword, word86 dec(h) [mem16] 	/o16 04c7	/m0 	N/A 	N/A 	N/A
hword, word86 dec(h) [mem16] 	/o16 04c8	/m1 	N/A 	N/A 	N/A
hword, word86 dec(h) [mem16] 	/o16 04c9	/m2 	N/A 	N/A 	N/A
hword, word86 dec(h) [mem16] 	/o16 04ca	/m3 	N/A 	N/A 	N/A
qaword, byte, byte86 dec(b) reg8 	/o16 04cb	/w8 	N/A 	N/A 	N/A
qaword, byte, byte86 dec(b) [mem8]	/o16 04cc	/m0 	N/A 	N/A 	N/A
qaword, byte, byte86 dec(b) [mem8]	/o16 04cd	/m1 	N/A 	N/A 	N/A
qaword, byte, byte86 dec(b) [mem8]	/o16 04ce	/m2 	N/A 	N/A 	N/A
qaword, byte, byte86 dec(b) [mem8]	/o16 04cf	/m3 	N/A 	N/A 	N/A
CMP
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for CMP
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 cmp(q) reg128, reg128 	/o16 04d0	/w8 	/w8 	N/A 	N/A
qword, xmmword86 cmp(q) reg128, imm128 	/o16 04d1	/w8 	/w128 	N/A 	N/A
qword, xmmword86 cmp(q) reg128, [mem128]	/o16 04d2	/w8 	/m0 	N/A 	N/A
qword, xmmword86 cmp(q) reg128, [mem128]	/o16 04d3	/w8 	/m1 	N/A 	N/A
qword, xmmword86 cmp(q) reg128, [mem128]	/o16 04d4	/w8 	/m2 	N/A 	N/A
qword, xmmword86 cmp(q) reg128, [mem128]	/o16 04d5	/w8 	/m3 	N/A 	N/A
qword, xmmword86 cmp(q) [mem128], reg128	/o16 04d6	/m0 	/w8 	N/A 	N/A
qword, xmmword86 cmp(q) [mem128], reg128	/o16 04d7	/m1 	/w8 	N/A 	N/A
qword, xmmword86 cmp(q) [mem128], reg128	/o16 04d8	/m2 	/w8 	N/A 	N/A
qword, xmmword86 cmp(q) [mem128], reg128	/o16 04d9	/m3 	/w8 	N/A 	N/A
qword, xmmword86 cmp(q) [mem128], imm128	/o16 04da	/m0 	/w128 	N/A 	N/A
qword, xmmword86 cmp(q) [mem128], imm128	/o16 04db	/m1 	/w128 	N/A 	N/A
qword, xmmword86 cmp(q) [mem128], imm128	/o16 04dc	/m2 	/w128 	N/A 	N/A
qword, xmmword86 cmp(q) [mem128], imm128	/o16 04dd	/m3 	/w128 	N/A 	N/A
dword, qword86 cmp(d) reg64, reg64 	/o16 04de	/w8 	/w8 	N/A 	N/A
dword, qword86 cmp(d) reg64, imm64 	/o16 04df	/w8 	/w64 	N/A 	N/A
dword, qword86 cmp(d) reg64, [mem64] 	/o16 04e0	/w8 	/m0 	N/A 	N/A
dword, qword86 cmp(d) reg64, [mem64] 	/o16 04e1	/w8 	/m1 	N/A 	N/A
dword, qword86 cmp(d) reg64, [mem64] 	/o16 04e2	/w8 	/m2 	N/A 	N/A
dword, qword86 cmp(d) reg64, [mem64] 	/o16 04e3	/w8 	/m3 	N/A 	N/A
dword, qword86 cmp(d) [mem64], reg64 	/o16 04e4	/m0 	/w8 	N/A 	N/A
dword, qword86 cmp(d) [mem64], reg64 	/o16 04e5	/m1 	/w8 	N/A 	N/A
dword, qword86 cmp(d) [mem64], reg64 	/o16 04e6	/m2 	/w8 	N/A 	N/A
dword, qword86 cmp(d) [mem64], reg64 	/o16 04e7	/m3 	/w8 	N/A 	N/A
dword, qword86 cmp(d) [mem64], imm64 	/o16 04e8	/m0 	/w64 	N/A 	N/A
dword, qword86 cmp(d) [mem64], imm64 	/o16 04e9	/m1 	/w64 	N/A 	N/A
dword, qword86 cmp(d) [mem64], imm64 	/o16 04ea	/m2 	/w64 	N/A 	N/A
dword, qword86 cmp(d) [mem64], imm64 	/o16 04eb	/m3 	/w64 	N/A 	N/A
word, dword86 cmp(w) reg32, reg32 	/o16 04ec	/w8 	/w8 	N/A 	N/A
word, dword86 cmp(w) reg32, imm32 	/o16 04ed	/w8 	/w32 	N/A 	N/A
word, dword86 cmp(w) reg32, [mem32] 	/o16 04ee	/w8 	/m0 	N/A 	N/A
word, dword86 cmp(w) reg32, [mem32] 	/o16 04ef	/w8 	/m1 	N/A 	N/A
word, dword86 cmp(w) reg32, [mem32] 	/o16 04f0	/w8 	/m2 	N/A 	N/A
word, dword86 cmp(w) reg32, [mem32] 	/o16 04f1	/w8 	/m3 	N/A 	N/A
word, dword86 cmp(w) [mem32], reg32 	/o16 04f2	/m0 	/w8 	N/A 	N/A
word, dword86 cmp(w) [mem32], reg32 	/o16 04f3	/m1 	/w8 	N/A 	N/A
word, dword86 cmp(w) [mem32], reg32 	/o16 04f4	/m2 	/w8 	N/A 	N/A
word, dword86 cmp(w) [mem32], reg32 	/o16 04f5	/m3 	/w8 	N/A 	N/A
word, dword86 cmp(w) [mem32], imm32 	/o16 04f6	/m0 	/w32 	N/A 	N/A
word, dword86 cmp(w) [mem32], imm32 	/o16 04f7	/m1 	/w32 	N/A 	N/A
word, dword86 cmp(w) [mem32], imm32 	/o16 04f8	/m2 	/w32 	N/A 	N/A
word, dword86 cmp(w) [mem32], imm32 	/o16 04f9	/m3 	/w32 	N/A 	N/A
ptrword cmp(p) reg24, reg24 	/o16 04fa	/w8 	/w8 	N/A 	N/A
ptrword cmp(p) reg24, imm24 	/o16 04fb	/w8 	/w24 	N/A 	N/A
ptrword cmp(p) reg24, [mem24] 	/o16 04fc	/w8 	/m0 	N/A 	N/A
ptrword cmp(p) reg24, [mem24] 	/o16 04fd	/w8 	/m1 	N/A 	N/A
ptrword cmp(p) reg24, [mem24] 	/o16 04fe	/w8 	/m2 	N/A 	N/A
ptrword cmp(p) reg24, [mem24] 	/o16 04ff	/w8 	/m3 	N/A 	N/A
ptrword cmp(p) [mem24], reg24 	/o16 0500	/m0 	/w8 	N/A 	N/A
ptrword cmp(p) [mem24], reg24 	/o16 0501	/m1 	/w8 	N/A 	N/A
ptrword cmp(p) [mem24], reg24 	/o16 0502	/m2 	/w8 	N/A 	N/A
ptrword cmp(p) [mem24], reg24 	/o16 0503	/m3 	/w8 	N/A 	N/A
ptrword cmp(p) [mem24], imm24 	/o16 0504	/m0 	/w24 	N/A 	N/A
ptrword cmp(p) [mem24], imm24 	/o16 0505	/m1 	/w24 	N/A 	N/A
ptrword cmp(p) [mem24], imm24 	/o16 0506	/m2 	/w24 	N/A 	N/A
ptrword cmp(p) [mem24], imm24 	/o16 0507	/m3 	/w24 	N/A 	N/A
hword, word86 cmp(h) reg16, reg16 	/o16 0508	/w8 	/w8 	N/A 	N/A
hword, word86 cmp(h) reg16, imm16 	/o16 0509	/w8 	/w16 	N/A 	N/A
hword, word86 cmp(h) reg16, [mem16] 	/o16 050a	/w8 	/m0 	N/A 	N/A
hword, word86 cmp(h) reg16, [mem16] 	/o16 050b	/w8 	/m1 	N/A 	N/A
hword, word86 cmp(h) reg16, [mem16] 	/o16 050c	/w8 	/m2 	N/A 	N/A
hword, word86 cmp(h) reg16, [mem16] 	/o16 050d	/w8 	/m3 	N/A 	N/A
hword, word86 cmp(h) [mem16], reg16 	/o16 050e	/m0 	/w8 	N/A 	N/A
hword, word86 cmp(h) [mem16], reg16 	/o16 050f	/m1 	/w8 	N/A 	N/A
hword, word86 cmp(h) [mem16], reg16 	/o16 0510	/m2 	/w8 	N/A 	N/A
hword, word86 cmp(h) [mem16], reg16 	/o16 0511	/m3 	/w8 	N/A 	N/A
hword, word86 cmp(h) [mem16], imm16 	/o16 0512	/m0 	/w16 	N/A 	N/A
hword, word86 cmp(h) [mem16], imm16 	/o16 0513	/m1 	/w16 	N/A 	N/A
hword, word86 cmp(h) [mem16], imm16 	/o16 0514	/m2 	/w16 	N/A 	N/A
hword, word86 cmp(h) [mem16], imm16 	/o16 0515	/m3 	/w16 	N/A 	N/A
qaword, byte, byte86 cmp(b) reg8, reg8 	/o16 0516	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 cmp(b) reg8, imm8 	/o16 0517	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 cmp(b) reg8, [mem8]	/o16 0518	/w8 	/m0 	N/A 	N/A
qaword, byte, byte86 cmp(b) reg8, [mem8]	/o16 0519	/w8 	/m1 	N/A 	N/A
qaword, byte, byte86 cmp(b) reg8, [mem8]	/o16 051a	/w8 	/m2 	N/A 	N/A
qaword, byte, byte86 cmp(b) reg8, [mem8]	/o16 051b	/w8 	/m3 	N/A 	N/A
qaword, byte, byte86 cmp(b) [mem8], reg8	/o16 051c	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 cmp(b) [mem8], reg8	/o16 051d	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 cmp(b) [mem8], reg8	/o16 051e	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 cmp(b) [mem8], reg8	/o16 051f	/m3 	/w8 	N/A 	N/A
qaword, byte, byte86 cmp(b) [mem8], imm8	/o16 0520	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 cmp(b) [mem8], imm8	/o16 0521	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 cmp(b) [mem8], imm8	/o16 0522	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 cmp(b) [mem8], imm8	/o16 0523	/m3 	/w8 	N/A 	N/A
RET
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for RET
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
ptrword ret(p)	/o16 0524	N/A 	N/A 	N/A 	N/A
XOR
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for XOR
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 xor(q) reg128, reg128 	/o16 0525	/w8 	/w8 	N/A 	N/A
qword, xmmword86 xor(q) reg128, imm128 	/o16 0526	/w8 	/w128 	N/A 	N/A
qword, xmmword86 xor(q) reg128, [mem128]	/o16 0527	/w8 	/m0 	N/A 	N/A
qword, xmmword86 xor(q) reg128, [mem128]	/o16 0528	/w8 	/m1 	N/A 	N/A
qword, xmmword86 xor(q) reg128, [mem128]	/o16 0529	/w8 	/m2 	N/A 	N/A
qword, xmmword86 xor(q) reg128, [mem128]	/o16 052a	/w8 	/m3 	N/A 	N/A
qword, xmmword86 xor(q) [mem128], reg128	/o16 052b	/m0 	/w8 	N/A 	N/A
qword, xmmword86 xor(q) [mem128], reg128	/o16 052c	/m1 	/w8 	N/A 	N/A
qword, xmmword86 xor(q) [mem128], reg128	/o16 052d	/m2 	/w8 	N/A 	N/A
qword, xmmword86 xor(q) [mem128], reg128	/o16 052e	/m3 	/w8 	N/A 	N/A
qword, xmmword86 xor(q) [mem128], imm128	/o16 052f	/m0 	/w128 	N/A 	N/A
qword, xmmword86 xor(q) [mem128], imm128	/o16 0530	/m1 	/w128 	N/A 	N/A
qword, xmmword86 xor(q) [mem128], imm128	/o16 0531	/m2 	/w128 	N/A 	N/A
qword, xmmword86 xor(q) [mem128], imm128	/o16 0532	/m3 	/w128 	N/A 	N/A
dword, qword86 xor(d) reg64, reg64 	/o16 0533	/w8 	/w8 	N/A 	N/A
dword, qword86 xor(d) reg64, imm64 	/o16 0534	/w8 	/w64 	N/A 	N/A
dword, qword86 xor(d) reg64, [mem64] 	/o16 0535	/w8 	/m0 	N/A 	N/A
dword, qword86 xor(d) reg64, [mem64] 	/o16 0536	/w8 	/m1 	N/A 	N/A
dword, qword86 xor(d) reg64, [mem64] 	/o16 0537	/w8 	/m2 	N/A 	N/A
dword, qword86 xor(d) reg64, [mem64] 	/o16 0538	/w8 	/m3 	N/A 	N/A
dword, qword86 xor(d) [mem64], reg64 	/o16 0539	/m0 	/w8 	N/A 	N/A
dword, qword86 xor(d) [mem64], reg64 	/o16 053a	/m1 	/w8 	N/A 	N/A
dword, qword86 xor(d) [mem64], reg64 	/o16 053b	/m2 	/w8 	N/A 	N/A
dword, qword86 xor(d) [mem64], reg64 	/o16 053c	/m3 	/w8 	N/A 	N/A
dword, qword86 xor(d) [mem64], imm64 	/o16 053d	/m0 	/w64 	N/A 	N/A
dword, qword86 xor(d) [mem64], imm64 	/o16 053e	/m1 	/w64 	N/A 	N/A
dword, qword86 xor(d) [mem64], imm64 	/o16 053f	/m2 	/w64 	N/A 	N/A
dword, qword86 xor(d) [mem64], imm64 	/o16 0540	/m3 	/w64 	N/A 	N/A
word, dword86 xor(w) reg32, reg32 	/o16 0541	/w8 	/w8 	N/A 	N/A
word, dword86 xor(w) reg32, imm32 	/o16 0542	/w8 	/w32 	N/A 	N/A
word, dword86 xor(w) reg32, [mem32] 	/o16 0543	/w8 	/m0 	N/A 	N/A
word, dword86 xor(w) reg32, [mem32] 	/o16 0544	/w8 	/m1 	N/A 	N/A
word, dword86 xor(w) reg32, [mem32] 	/o16 0545	/w8 	/m2 	N/A 	N/A
word, dword86 xor(w) reg32, [mem32] 	/o16 0546	/w8 	/m3 	N/A 	N/A
word, dword86 xor(w) [mem32], reg32 	/o16 0547	/m0 	/w8 	N/A 	N/A
word, dword86 xor(w) [mem32], reg32 	/o16 0548	/m1 	/w8 	N/A 	N/A
word, dword86 xor(w) [mem32], reg32 	/o16 0549	/m2 	/w8 	N/A 	N/A
word, dword86 xor(w) [mem32], reg32 	/o16 054a	/m3 	/w8 	N/A 	N/A
word, dword86 xor(w) [mem32], imm32 	/o16 054b	/m0 	/w32 	N/A 	N/A
word, dword86 xor(w) [mem32], imm32 	/o16 054c	/m1 	/w32 	N/A 	N/A
word, dword86 xor(w) [mem32], imm32 	/o16 054d	/m2 	/w32 	N/A 	N/A
word, dword86 xor(w) [mem32], imm32 	/o16 054e	/m3 	/w32 	N/A 	N/A
ptrword xor(p) reg24, reg24 	/o16 054f	/w8 	/w8 	N/A 	N/A
ptrword xor(p) reg24, imm24 	/o16 0550	/w8 	/w24 	N/A 	N/A
ptrword xor(p) reg24, [mem24] 	/o16 0551	/w8 	/m0 	N/A 	N/A
ptrword xor(p) reg24, [mem24] 	/o16 0552	/w8 	/m1 	N/A 	N/A
ptrword xor(p) reg24, [mem24] 	/o16 0553	/w8 	/m2 	N/A 	N/A
ptrword xor(p) reg24, [mem24] 	/o16 0554	/w8 	/m3 	N/A 	N/A
ptrword xor(p) [mem24], reg24 	/o16 0555	/m0 	/w8 	N/A 	N/A
ptrword xor(p) [mem24], reg24 	/o16 0556	/m1 	/w8 	N/A 	N/A
ptrword xor(p) [mem24], reg24 	/o16 0557	/m2 	/w8 	N/A 	N/A
ptrword xor(p) [mem24], reg24 	/o16 0558	/m3 	/w8 	N/A 	N/A
ptrword xor(p) [mem24], imm24 	/o16 0559	/m0 	/w24 	N/A 	N/A
ptrword xor(p) [mem24], imm24 	/o16 055a	/m1 	/w24 	N/A 	N/A
ptrword xor(p) [mem24], imm24 	/o16 055b	/m2 	/w24 	N/A 	N/A
ptrword xor(p) [mem24], imm24 	/o16 055c	/m3 	/w24 	N/A 	N/A
hword, word86 xor(h) reg16, reg16 	/o16 055d	/w8 	/w8 	N/A 	N/A
hword, word86 xor(h) reg16, imm16 	/o16 055e	/w8 	/w16 	N/A 	N/A
hword, word86 xor(h) reg16, [mem16] 	/o16 055f	/w8 	/m0 	N/A 	N/A
hword, word86 xor(h) reg16, [mem16] 	/o16 0560	/w8 	/m1 	N/A 	N/A
hword, word86 xor(h) reg16, [mem16] 	/o16 0561	/w8 	/m2 	N/A 	N/A
hword, word86 xor(h) reg16, [mem16] 	/o16 0562	/w8 	/m3 	N/A 	N/A
hword, word86 xor(h) [mem16], reg16 	/o16 0563	/m0 	/w8 	N/A 	N/A
hword, word86 xor(h) [mem16], reg16 	/o16 0564	/m1 	/w8 	N/A 	N/A
hword, word86 xor(h) [mem16], reg16 	/o16 0565	/m2 	/w8 	N/A 	N/A
hword, word86 xor(h) [mem16], reg16 	/o16 0566	/m3 	/w8 	N/A 	N/A
hword, word86 xor(h) [mem16], imm16 	/o16 0567	/m0 	/w16 	N/A 	N/A
hword, word86 xor(h) [mem16], imm16 	/o16 0568	/m1 	/w16 	N/A 	N/A
hword, word86 xor(h) [mem16], imm16 	/o16 0569	/m2 	/w16 	N/A 	N/A
hword, word86 xor(h) [mem16], imm16 	/o16 056a	/m3 	/w16 	N/A 	N/A
qaword, byte, byte86 xor(b) reg8, reg8 	/o16 056b	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 xor(b) reg8, imm8 	/o16 056c	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 xor(b) reg8, [mem8]	/o16 056d	/w8 	/m0 	N/A 	N/A
qaword, byte, byte86 xor(b) reg8, [mem8]	/o16 056e	/w8 	/m1 	N/A 	N/A
qaword, byte, byte86 xor(b) reg8, [mem8]	/o16 056f	/w8 	/m2 	N/A 	N/A
qaword, byte, byte86 xor(b) reg8, [mem8]	/o16 0570	/w8 	/m3 	N/A 	N/A
qaword, byte, byte86 xor(b) [mem8], reg8	/o16 0571	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 xor(b) [mem8], reg8	/o16 0572	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 xor(b) [mem8], reg8	/o16 0573	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 xor(b) [mem8], reg8	/o16 0574	/m3 	/w8 	N/A 	N/A
qaword, byte, byte86 xor(b) [mem8], imm8	/o16 0575	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 xor(b) [mem8], imm8	/o16 0576	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 xor(b) [mem8], imm8	/o16 0577	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 xor(b) [mem8], imm8	/o16 0578	/m3 	/w8 	N/A 	N/A
AND
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for AND
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 and(q) reg128, reg128 	/o16 0579	/w8 	/w8 	N/A 	N/A
qword, xmmword86 and(q) reg128, imm128 	/o16 057a	/w8 	/w128 	N/A 	N/A
qword, xmmword86 and(q) reg128, [mem128]	/o16 057b	/w8 	/m0 	N/A 	N/A
qword, xmmword86 and(q) reg128, [mem128]	/o16 057c	/w8 	/m1 	N/A 	N/A
qword, xmmword86 and(q) reg128, [mem128]	/o16 057d	/w8 	/m2 	N/A 	N/A
qword, xmmword86 and(q) reg128, [mem128]	/o16 057e	/w8 	/m3 	N/A 	N/A
qword, xmmword86 and(q) [mem128], reg128	/o16 057f	/m0 	/w8 	N/A 	N/A
qword, xmmword86 and(q) [mem128], reg128	/o16 0580	/m1 	/w8 	N/A 	N/A
qword, xmmword86 and(q) [mem128], reg128	/o16 0581	/m2 	/w8 	N/A 	N/A
qword, xmmword86 and(q) [mem128], reg128	/o16 0582	/m3 	/w8 	N/A 	N/A
qword, xmmword86 and(q) [mem128], imm128	/o16 0583	/m0 	/w128 	N/A 	N/A
qword, xmmword86 and(q) [mem128], imm128	/o16 0584	/m1 	/w128 	N/A 	N/A
qword, xmmword86 and(q) [mem128], imm128	/o16 0585	/m2 	/w128 	N/A 	N/A
qword, xmmword86 and(q) [mem128], imm128	/o16 0586	/m3 	/w128 	N/A 	N/A
dword, qword86 and(d) reg64, reg64 	/o16 0587	/w8 	/w8 	N/A 	N/A
dword, qword86 and(d) reg64, imm64 	/o16 0588	/w8 	/w64 	N/A 	N/A
dword, qword86 and(d) reg64, [mem64] 	/o16 0589	/w8 	/m0 	N/A 	N/A
dword, qword86 and(d) reg64, [mem64] 	/o16 058a	/w8 	/m1 	N/A 	N/A
dword, qword86 and(d) reg64, [mem64] 	/o16 058b	/w8 	/m2 	N/A 	N/A
dword, qword86 and(d) reg64, [mem64] 	/o16 058c	/w8 	/m3 	N/A 	N/A
dword, qword86 and(d) [mem64], reg64 	/o16 058d	/m0 	/w8 	N/A 	N/A
dword, qword86 and(d) [mem64], reg64 	/o16 058e	/m1 	/w8 	N/A 	N/A
dword, qword86 and(d) [mem64], reg64 	/o16 058f	/m2 	/w8 	N/A 	N/A
dword, qword86 and(d) [mem64], reg64 	/o16 0590	/m3 	/w8 	N/A 	N/A
dword, qword86 and(d) [mem64], imm64 	/o16 0591	/m0 	/w64 	N/A 	N/A
dword, qword86 and(d) [mem64], imm64 	/o16 0592	/m1 	/w64 	N/A 	N/A
dword, qword86 and(d) [mem64], imm64 	/o16 0593	/m2 	/w64 	N/A 	N/A
dword, qword86 and(d) [mem64], imm64 	/o16 0594	/m3 	/w64 	N/A 	N/A
word, dword86 and(w) reg32, reg32 	/o16 0595	/w8 	/w8 	N/A 	N/A
word, dword86 and(w) reg32, imm32 	/o16 0596	/w8 	/w32 	N/A 	N/A
word, dword86 and(w) reg32, [mem32] 	/o16 0597	/w8 	/m0 	N/A 	N/A
word, dword86 and(w) reg32, [mem32] 	/o16 0598	/w8 	/m1 	N/A 	N/A
word, dword86 and(w) reg32, [mem32] 	/o16 0599	/w8 	/m2 	N/A 	N/A
word, dword86 and(w) reg32, [mem32] 	/o16 059a	/w8 	/m3 	N/A 	N/A
word, dword86 and(w) [mem32], reg32 	/o16 059b	/m0 	/w8 	N/A 	N/A
word, dword86 and(w) [mem32], reg32 	/o16 059c	/m1 	/w8 	N/A 	N/A
word, dword86 and(w) [mem32], reg32 	/o16 059d	/m2 	/w8 	N/A 	N/A
word, dword86 and(w) [mem32], reg32 	/o16 059e	/m3 	/w8 	N/A 	N/A
word, dword86 and(w) [mem32], imm32 	/o16 059f	/m0 	/w32 	N/A 	N/A
word, dword86 and(w) [mem32], imm32 	/o16 05a0	/m1 	/w32 	N/A 	N/A
word, dword86 and(w) [mem32], imm32 	/o16 05a1	/m2 	/w32 	N/A 	N/A
word, dword86 and(w) [mem32], imm32 	/o16 05a2	/m3 	/w32 	N/A 	N/A
ptrword and(p) reg24, reg24 	/o16 05a3	/w8 	/w8 	N/A 	N/A
ptrword and(p) reg24, imm24 	/o16 05a4	/w8 	/w24 	N/A 	N/A
ptrword and(p) reg24, [mem24] 	/o16 05a5	/w8 	/m0 	N/A 	N/A
ptrword and(p) reg24, [mem24] 	/o16 05a6	/w8 	/m1 	N/A 	N/A
ptrword and(p) reg24, [mem24] 	/o16 05a7	/w8 	/m2 	N/A 	N/A
ptrword and(p) reg24, [mem24] 	/o16 05a8	/w8 	/m3 	N/A 	N/A
ptrword and(p) [mem24], reg24 	/o16 05a9	/m0 	/w8 	N/A 	N/A
ptrword and(p) [mem24], reg24 	/o16 05aa	/m1 	/w8 	N/A 	N/A
ptrword and(p) [mem24], reg24 	/o16 05ab	/m2 	/w8 	N/A 	N/A
ptrword and(p) [mem24], reg24 	/o16 05ac	/m3 	/w8 	N/A 	N/A
ptrword and(p) [mem24], imm24 	/o16 05ad	/m0 	/w24 	N/A 	N/A
ptrword and(p) [mem24], imm24 	/o16 05ae	/m1 	/w24 	N/A 	N/A
ptrword and(p) [mem24], imm24 	/o16 05af	/m2 	/w24 	N/A 	N/A
ptrword and(p) [mem24], imm24 	/o16 05b0	/m3 	/w24 	N/A 	N/A
hword, word86 and(h) reg16, reg16 	/o16 05b1	/w8 	/w8 	N/A 	N/A
hword, word86 and(h) reg16, imm16 	/o16 05b2	/w8 	/w16 	N/A 	N/A
hword, word86 and(h) reg16, [mem16] 	/o16 05b3	/w8 	/m0 	N/A 	N/A
hword, word86 and(h) reg16, [mem16] 	/o16 05b4	/w8 	/m1 	N/A 	N/A
hword, word86 and(h) reg16, [mem16] 	/o16 05b5	/w8 	/m2 	N/A 	N/A
hword, word86 and(h) reg16, [mem16] 	/o16 05b6	/w8 	/m3 	N/A 	N/A
hword, word86 and(h) [mem16], reg16 	/o16 05b7	/m0 	/w8 	N/A 	N/A
hword, word86 and(h) [mem16], reg16 	/o16 05b8	/m1 	/w8 	N/A 	N/A
hword, word86 and(h) [mem16], reg16 	/o16 05b9	/m2 	/w8 	N/A 	N/A
hword, word86 and(h) [mem16], reg16 	/o16 05ba	/m3 	/w8 	N/A 	N/A
hword, word86 and(h) [mem16], imm16 	/o16 05bb	/m0 	/w16 	N/A 	N/A
hword, word86 and(h) [mem16], imm16 	/o16 05bc	/m1 	/w16 	N/A 	N/A
hword, word86 and(h) [mem16], imm16 	/o16 05bd	/m2 	/w16 	N/A 	N/A
hword, word86 and(h) [mem16], imm16 	/o16 05be	/m3 	/w16 	N/A 	N/A
qaword, byte, byte86 and(b) reg8, reg8 	/o16 05bf	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 and(b) reg8, imm8 	/o16 05c0	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 and(b) reg8, [mem8]	/o16 05c1	/w8 	/m0 	N/A 	N/A
qaword, byte, byte86 and(b) reg8, [mem8]	/o16 05c2	/w8 	/m1 	N/A 	N/A
qaword, byte, byte86 and(b) reg8, [mem8]	/o16 05c3	/w8 	/m2 	N/A 	N/A
qaword, byte, byte86 and(b) reg8, [mem8]	/o16 05c4	/w8 	/m3 	N/A 	N/A
qaword, byte, byte86 and(b) [mem8], reg8	/o16 05c5	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 and(b) [mem8], reg8	/o16 05c6	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 and(b) [mem8], reg8	/o16 05c7	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 and(b) [mem8], reg8	/o16 05c8	/m3 	/w8 	N/A 	N/A
qaword, byte, byte86 and(b) [mem8], imm8	/o16 05c9	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 and(b) [mem8], imm8	/o16 05ca	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 and(b) [mem8], imm8	/o16 05cb	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 and(b) [mem8], imm8	/o16 05cc	/m3 	/w8 	N/A 	N/A
OR
Descriptor
Instruction Tag
legacy
Instruction Operation Description
...
 Instruction encodings for OR
Literal 	Opcode 	Operand 1	Operand 2	Operand 3	Operand 4
qword, xmmword86 or(q) reg128, reg128 	/o16 05cd	/w8 	/w8 	N/A 	N/A
qword, xmmword86 or(q) reg128, imm128 	/o16 05ce	/w8 	/w128 	N/A 	N/A
qword, xmmword86 or(q) reg128, [mem128]	/o16 05cf	/w8 	/m0 	N/A 	N/A
qword, xmmword86 or(q) reg128, [mem128]	/o16 05d0	/w8 	/m1 	N/A 	N/A
qword, xmmword86 or(q) reg128, [mem128]	/o16 05d1	/w8 	/m2 	N/A 	N/A
qword, xmmword86 or(q) reg128, [mem128]	/o16 05d2	/w8 	/m3 	N/A 	N/A
qword, xmmword86 or(q) [mem128], reg128	/o16 05d3	/m0 	/w8 	N/A 	N/A
qword, xmmword86 or(q) [mem128], reg128	/o16 05d4	/m1 	/w8 	N/A 	N/A
qword, xmmword86 or(q) [mem128], reg128	/o16 05d5	/m2 	/w8 	N/A 	N/A
qword, xmmword86 or(q) [mem128], reg128	/o16 05d6	/m3 	/w8 	N/A 	N/A
qword, xmmword86 or(q) [mem128], imm128	/o16 05d7	/m0 	/w128 	N/A 	N/A
qword, xmmword86 or(q) [mem128], imm128	/o16 05d8	/m1 	/w128 	N/A 	N/A
qword, xmmword86 or(q) [mem128], imm128	/o16 05d9	/m2 	/w128 	N/A 	N/A
qword, xmmword86 or(q) [mem128], imm128	/o16 05da	/m3 	/w128 	N/A 	N/A
dword, qword86 or(d) reg64, reg64 	/o16 05db	/w8 	/w8 	N/A 	N/A
dword, qword86 or(d) reg64, imm64 	/o16 05dc	/w8 	/w64 	N/A 	N/A
dword, qword86 or(d) reg64, [mem64] 	/o16 05dd	/w8 	/m0 	N/A 	N/A
dword, qword86 or(d) reg64, [mem64] 	/o16 05de	/w8 	/m1 	N/A 	N/A
dword, qword86 or(d) reg64, [mem64] 	/o16 05df	/w8 	/m2 	N/A 	N/A
dword, qword86 or(d) reg64, [mem64] 	/o16 05e0	/w8 	/m3 	N/A 	N/A
dword, qword86 or(d) [mem64], reg64 	/o16 05e1	/m0 	/w8 	N/A 	N/A
dword, qword86 or(d) [mem64], reg64 	/o16 05e2	/m1 	/w8 	N/A 	N/A
dword, qword86 or(d) [mem64], reg64 	/o16 05e3	/m2 	/w8 	N/A 	N/A
dword, qword86 or(d) [mem64], reg64 	/o16 05e4	/m3 	/w8 	N/A 	N/A
dword, qword86 or(d) [mem64], imm64 	/o16 05e5	/m0 	/w64 	N/A 	N/A
dword, qword86 or(d) [mem64], imm64 	/o16 05e6	/m1 	/w64 	N/A 	N/A
dword, qword86 or(d) [mem64], imm64 	/o16 05e7	/m2 	/w64 	N/A 	N/A
dword, qword86 or(d) [mem64], imm64 	/o16 05e8	/m3 	/w64 	N/A 	N/A
word, dword86 or(w) reg32, reg32 	/o16 05e9	/w8 	/w8 	N/A 	N/A
word, dword86 or(w) reg32, imm32 	/o16 05ea	/w8 	/w32 	N/A 	N/A
word, dword86 or(w) reg32, [mem32] 	/o16 05eb	/w8 	/m0 	N/A 	N/A
word, dword86 or(w) reg32, [mem32] 	/o16 05ec	/w8 	/m1 	N/A 	N/A
word, dword86 or(w) reg32, [mem32] 	/o16 05ed	/w8 	/m2 	N/A 	N/A
word, dword86 or(w) reg32, [mem32] 	/o16 05ee	/w8 	/m3 	N/A 	N/A
word, dword86 or(w) [mem32], reg32 	/o16 05ef	/m0 	/w8 	N/A 	N/A
word, dword86 or(w) [mem32], reg32 	/o16 05f0	/m1 	/w8 	N/A 	N/A
word, dword86 or(w) [mem32], reg32 	/o16 05f1	/m2 	/w8 	N/A 	N/A
word, dword86 or(w) [mem32], reg32 	/o16 05f2	/m3 	/w8 	N/A 	N/A
word, dword86 or(w) [mem32], imm32 	/o16 05f3	/m0 	/w32 	N/A 	N/A
word, dword86 or(w) [mem32], imm32 	/o16 05f4	/m1 	/w32 	N/A 	N/A
word, dword86 or(w) [mem32], imm32 	/o16 05f5	/m2 	/w32 	N/A 	N/A
word, dword86 or(w) [mem32], imm32 	/o16 05f6	/m3 	/w32 	N/A 	N/A
ptrword or(p) reg24, reg24 	/o16 05f7	/w8 	/w8 	N/A 	N/A
ptrword or(p) reg24, imm24 	/o16 05f8	/w8 	/w24 	N/A 	N/A
ptrword or(p) reg24, [mem24] 	/o16 05f9	/w8 	/m0 	N/A 	N/A
ptrword or(p) reg24, [mem24] 	/o16 05fa	/w8 	/m1 	N/A 	N/A
ptrword or(p) reg24, [mem24] 	/o16 05fb	/w8 	/m2 	N/A 	N/A
ptrword or(p) reg24, [mem24] 	/o16 05fc	/w8 	/m3 	N/A 	N/A
ptrword or(p) [mem24], reg24 	/o16 05fd	/m0 	/w8 	N/A 	N/A
ptrword or(p) [mem24], reg24 	/o16 05fe	/m1 	/w8 	N/A 	N/A
ptrword or(p) [mem24], reg24 	/o16 05ff	/m2 	/w8 	N/A 	N/A
ptrword or(p) [mem24], reg24 	/o16 0600	/m3 	/w8 	N/A 	N/A
ptrword or(p) [mem24], imm24 	/o16 0601	/m0 	/w24 	N/A 	N/A
ptrword or(p) [mem24], imm24 	/o16 0602	/m1 	/w24 	N/A 	N/A
ptrword or(p) [mem24], imm24 	/o16 0603	/m2 	/w24 	N/A 	N/A
ptrword or(p) [mem24], imm24 	/o16 0604	/m3 	/w24 	N/A 	N/A
hword, word86 or(h) reg16, reg16 	/o16 0605	/w8 	/w8 	N/A 	N/A
hword, word86 or(h) reg16, imm16 	/o16 0606	/w8 	/w16 	N/A 	N/A
hword, word86 or(h) reg16, [mem16] 	/o16 0607	/w8 	/m0 	N/A 	N/A
hword, word86 or(h) reg16, [mem16] 	/o16 0608	/w8 	/m1 	N/A 	N/A
hword, word86 or(h) reg16, [mem16] 	/o16 0609	/w8 	/m2 	N/A 	N/A
hword, word86 or(h) reg16, [mem16] 	/o16 060a	/w8 	/m3 	N/A 	N/A
hword, word86 or(h) [mem16], reg16 	/o16 060b	/m0 	/w8 	N/A 	N/A
hword, word86 or(h) [mem16], reg16 	/o16 060c	/m1 	/w8 	N/A 	N/A
hword, word86 or(h) [mem16], reg16 	/o16 060d	/m2 	/w8 	N/A 	N/A
hword, word86 or(h) [mem16], reg16 	/o16 060e	/m3 	/w8 	N/A 	N/A
hword, word86 or(h) [mem16], imm16 	/o16 060f	/m0 	/w16 	N/A 	N/A
hword, word86 or(h) [mem16], imm16 	/o16 0610	/m1 	/w16 	N/A 	N/A
hword, word86 or(h) [mem16], imm16 	/o16 0611	/m2 	/w16 	N/A 	N/A
hword, word86 or(h) [mem16], imm16 	/o16 0612	/m3 	/w16 	N/A 	N/A
qaword, byte, byte86 or(b) reg8, reg8 	/o16 0613	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 or(b) reg8, imm8 	/o16 0614	/w8 	/w8 	N/A 	N/A
qaword, byte, byte86 or(b) reg8, [mem8]	/o16 0615	/w8 	/m0 	N/A 	N/A
qaword, byte, byte86 or(b) reg8, [mem8]	/o16 0616	/w8 	/m1 	N/A 	N/A
qaword, byte, byte86 or(b) reg8, [mem8]	/o16 0617	/w8 	/m2 	N/A 	N/A
qaword, byte, byte86 or(b) reg8, [mem8]	/o16 0618	/w8 	/m3 	N/A 	N/A
qaword, byte, byte86 or(b) [mem8], reg8	/o16 0619	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 or(b) [mem8], reg8	/o16 061a	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 or(b) [mem8], reg8	/o16 061b	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 or(b) [mem8], reg8	/o16 061c	/m3 	/w8 	N/A 	N/A
qaword, byte, byte86 or(b) [mem8], imm8	/o16 061d	/m0 	/w8 	N/A 	N/A
qaword, byte, byte86 or(b) [mem8], imm8	/o16 061e	/m1 	/w8 	N/A 	N/A
qaword, byte, byte86 or(b) [mem8], imm8	/o16 061f	/m2 	/w8 	N/A 	N/A
qaword, byte, byte86 or(b) [mem8], imm8	/o16 0620	/m3 	/w8 	N/A 	N/A
Category:Languages Category:Low-level Category:Stack-based