Expand description
Expose all known instructions as Rust struct
s; this is generated in
build.rs
.
See also: Inst
, an enum
containing all these instructions.
Structs§
adcb: I(al[rw], imm8) => 0x14 ib [_64b | compat]
adcb: MI(rm8[rw], imm8) => 0x80 /2 ib [_64b | compat]
adcb: MR(rm8[rw], r8) => 0x10 /r [_64b | compat]
adcb: RM(r8[rw], rm8) => 0x12 /r [_64b | compat]
adcl: I(eax[rw], imm32) => 0x15 id [_64b | compat]
adcl: MI(rm32[rw], imm32) => 0x81 /2 id [_64b | compat]
adcl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /2 ib [_64b | compat]
adcl: MR(rm32[rw], r32) => 0x11 /r [_64b | compat]
adcl: RM(r32[rw], rm32) => 0x13 /r [_64b | compat]
adcq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x15 id [_64b]
adcq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /2 ib [_64b]
adcq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /2 id [_64b]
adcq: MR(rm64[rw], r64) => REX.W + 0x11 /r [_64b]
adcq: RM(r64[rw], rm64) => REX.W + 0x13 /r [_64b]
adcw: I(ax[rw], imm16) => 0x66 + 0x15 iw [_64b | compat]
adcw: MI(rm16[rw], imm16) => 0x66 + 0x81 /2 iw [_64b | compat]
adcw: MR(rm16[rw], r16) => 0x66 + 0x11 /r [_64b | compat]
adcw: RM(r16[rw], rm16) => 0x66 + 0x13 /r [_64b | compat]
addb: I(al[rw], imm8) => 0x04 ib [_64b | compat]
addb: MI(rm8[rw], imm8) => 0x80 /0 ib [_64b | compat]
addb: MR(rm8[rw], r8) => 0x00 /r [_64b | compat]
addb: RM(r8[rw], rm8) => 0x02 /r [_64b | compat]
addl: I(eax[rw], imm32) => 0x05 id [_64b | compat]
addl: MI(rm32[rw], imm32) => 0x81 /0 id [_64b | compat]
addl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /0 ib [_64b | compat]
addl: MR(rm32[rw], r32) => 0x01 /r [_64b | compat]
addl: RM(r32[rw], rm32) => 0x03 /r [_64b | compat]
addq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x05 id [_64b]
addq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /0 ib [_64b]
addq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /0 id [_64b]
addq: MR(rm64[rw], r64) => REX.W + 0x01 /r [_64b]
addq: RM(r64[rw], rm64) => REX.W + 0x03 /r [_64b]
addw: I(ax[rw], imm16) => 0x66 + 0x05 iw [_64b | compat]
addw: MI(rm16[rw], imm16) => 0x66 + 0x81 /0 iw [_64b | compat]
addw: MR(rm16[rw], r16) => 0x66 + 0x01 /r [_64b | compat]
addw: RM(r16[rw], rm16) => 0x66 + 0x03 /r [_64b | compat]
andb: I(al[rw], imm8) => 0x24 ib [_64b | compat]
andb: MI(rm8[rw], imm8) => 0x80 /4 ib [_64b | compat]
andb: MR(rm8[rw], r8) => 0x20 /r [_64b | compat]
andb: RM(r8[rw], rm8) => 0x22 /r [_64b | compat]
andl: I(eax[rw], imm32) => 0x25 id [_64b | compat]
andl: MI(rm32[rw], imm32) => 0x81 /4 id [_64b | compat]
andl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /4 ib [_64b | compat]
andl: MR(rm32[rw], r32) => 0x21 /r [_64b | compat]
andl: RM(r32[rw], rm32) => 0x23 /r [_64b | compat]
andq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x25 id [_64b]
andq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /4 ib [_64b]
andq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /4 id [_64b]
andq: MR(rm64[rw], r64) => REX.W + 0x21 /r [_64b]
andq: RM(r64[rw], rm64) => REX.W + 0x23 /r [_64b]
andw: I(ax[rw], imm16) => 0x66 + 0x25 iw [_64b | compat]
andw: MI(rm16[rw], imm16) => 0x66 + 0x81 /4 iw [_64b | compat]
andw: MR(rm16[rw], r16) => 0x66 + 0x21 /r [_64b | compat]
andw: RM(r16[rw], rm16) => 0x66 + 0x23 /r [_64b | compat]
orb: I(al[rw], imm8) => 0x0c ib [_64b | compat]
orb: MI(rm8[rw], imm8) => 0x80 /1 ib [_64b | compat]
orb: MR(rm8[rw], r8) => 0x08 /r [_64b | compat]
orb: RM(r8[rw], rm8) => 0x0a /r [_64b | compat]
orl: I(eax[rw], imm32) => 0x0d id [_64b | compat]
orl: MI(rm32[rw], imm32) => 0x81 /1 id [_64b | compat]
orl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /1 ib [_64b | compat]
orl: MR(rm32[rw], r32) => 0x09 /r [_64b | compat]
orl: RM(r32[rw], rm32) => 0x0b /r [_64b | compat]
orpd: A(xmm[rw], rm128) => 0x66 + 0x0F + 0x56 /r [_64b]
orq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x0d id [_64b]
orq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /1 ib [_64b]
orq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /1 id [_64b]
orq: MR(rm64[rw], r64) => REX.W + 0x09 /r [_64b]
orq: RM(r64[rw], rm64) => REX.W + 0x0b /r [_64b]
orw: I(ax[rw], imm16) => 0x66 + 0x0d iw [_64b | compat]
orw: MI(rm16[rw], imm16) => 0x66 + 0x81 /1 iw [_64b | compat]
orw: MR(rm16[rw], r16) => 0x66 + 0x09 /r [_64b | compat]
orw: RM(r16[rw], rm16) => 0x66 + 0x0b /r [_64b | compat]
sbbb: I(al[rw], imm8) => 0x1c ib [_64b | compat]
sbbb: MI(rm8[rw], imm8) => 0x80 /3 ib [_64b | compat]
sbbb: MR(rm8[rw], r8) => 0x18 /r [_64b | compat]
sbbb: RM(r8[rw], rm8) => 0x1a /r [_64b | compat]
sbbl: I(eax[rw], imm32) => 0x1d id [_64b | compat]
sbbl: MI(rm32[rw], imm32) => 0x81 /3 id [_64b | compat]
sbbl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /3 ib [_64b | compat]
sbbl: MR(rm32[rw], r32) => 0x19 /r [_64b | compat]
sbbl: RM(r32[rw], rm32) => 0x1b /r [_64b | compat]
sbbq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x1d id [_64b]
sbbq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /3 ib [_64b]
sbbq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /3 id [_64b]
sbbq: MR(rm64[rw], r64) => REX.W + 0x19 /r [_64b]
sbbq: RM(r64[rw], rm64) => REX.W + 0x1b /r [_64b]
sbbw: I(ax[rw], imm16) => 0x66 + 0x1d iw [_64b | compat]
sbbw: MI(rm16[rw], imm16) => 0x66 + 0x81 /3 iw [_64b | compat]
sbbw: MR(rm16[rw], r16) => 0x66 + 0x19 /r [_64b | compat]
sbbw: RM(r16[rw], rm16) => 0x66 + 0x1b /r [_64b | compat]
shldl: MRC(rm32[rw], r32, cl) => 0x0F + 0xa5 ib [_64b | compat]
shldl: MRI(rm32[rw], r32, imm8) => 0x0F + 0xa4 ib [_64b | compat]
shldq: MRC(rm64[rw], r64, cl) => REX.W + 0x0F + 0xa5 ib [_64b]
shldq: MRI(rm64[rw], r64, imm8) => REX.W + 0x0F + 0xa4 ib [_64b]
shldw: MRC(rm16[rw], r16, cl) => 0x66 + 0x0F + 0xa5 ib [_64b | compat]
shldw: MRI(rm16[rw], r16, imm8) => 0x66 + 0x0F + 0xa4 ib [_64b | compat]
subb: I(al[rw], imm8) => 0x2c ib [_64b | compat]
subb: MI(rm8[rw], imm8) => 0x80 /5 ib [_64b | compat]
subb: MR(rm8[rw], r8) => 0x28 /r [_64b | compat]
subb: RM(r8[rw], rm8) => 0x2a /r [_64b | compat]
subl: I(eax[rw], imm32) => 0x2d id [_64b | compat]
subl: MI(rm32[rw], imm32) => 0x81 /5 id [_64b | compat]
subl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /5 ib [_64b | compat]
subl: MR(rm32[rw], r32) => 0x29 /r [_64b | compat]
subl: RM(r32[rw], rm32) => 0x2b /r [_64b | compat]
subq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x2d id [_64b]
subq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /5 ib [_64b]
subq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /5 id [_64b]
subq: MR(rm64[rw], r64) => REX.W + 0x29 /r [_64b]
subq: RM(r64[rw], rm64) => REX.W + 0x2b /r [_64b]
subw: I(ax[rw], imm16) => 0x66 + 0x2d iw [_64b | compat]
subw: MI(rm16[rw], imm16) => 0x66 + 0x81 /5 iw [_64b | compat]
subw: MR(rm16[rw], r16) => 0x66 + 0x29 /r [_64b | compat]
subw: RM(r16[rw], rm16) => 0x66 + 0x2b /r [_64b | compat]
xorb: I(al[rw], imm8) => 0x34 ib [_64b | compat]
xorb: MI(rm8[rw], imm8) => 0x80 /6 ib [_64b | compat]
xorb: MR(rm8[rw], r8) => 0x30 /r [_64b | compat]
xorb: RM(r8[rw], rm8) => 0x32 /r [_64b | compat]
xorl: I(eax[rw], imm32) => 0x35 id [_64b | compat]
xorl: MI(rm32[rw], imm32) => 0x81 /6 id [_64b | compat]
xorl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /6 ib [_64b | compat]
xorl: MR(rm32[rw], r32) => 0x31 /r [_64b | compat]
xorl: RM(r32[rw], rm32) => 0x33 /r [_64b | compat]
xorq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x35 id [_64b]
xorq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /6 ib [_64b]
xorq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /6 id [_64b]
xorq: MR(rm64[rw], r64) => REX.W + 0x31 /r [_64b]
xorq: RM(r64[rw], rm64) => REX.W + 0x33 /r [_64b]
xorw: I(ax[rw], imm16) => 0x66 + 0x35 iw [_64b | compat]
xorw: MI(rm16[rw], imm16) => 0x66 + 0x81 /6 iw [_64b | compat]
xorw: MR(rm16[rw], r16) => 0x66 + 0x31 /r [_64b | compat]
xorw: RM(r16[rw], rm16) => 0x66 + 0x33 /r [_64b | compat]