vox.be.amd64asm

Members

Aliases

PC
alias PC = ubyte*
Undocumented in source.

Enums

AMD64OpRegular
enum AMD64OpRegular
Undocumented in source.
ArgType
enum ArgType
Undocumented in source.
AsmArgKind
enum AsmArgKind
Undocumented in source.
AsmArgKindProduct
enum AsmArgKindProduct
Undocumented in source.
Condition
enum Condition

The terms "less" and "greater" are used for comparisons of signed integers. The terms "above" and "below" are used for unsigned integers.

EncFlg
enum EncFlg
Undocumented in source.
LegacyPrefix
enum LegacyPrefix
Undocumented in source.
MemAddrType
enum MemAddrType
Undocumented in source.
Register
enum Register
Undocumented in source.

Functions

asmArgKindProduct
AsmArgKindProduct asmArgKindProduct(AsmArgKind left, AsmArgKind right)
Undocumented in source. Be warned that the author may not have intended to support it.
encodeModRegRmByte
ubyte encodeModRegRmByte(ModRmMod mod, Register reg, Register rm)
Undocumented in source. Be warned that the author may not have intended to support it.
encodeSibByte
ubyte encodeSibByte(SibScale ss, Register index, Register base)
Undocumented in source. Be warned that the author may not have intended to support it.
is_BP_or_R13
bool is_BP_or_R13(Register reg)
Undocumented in source. Be warned that the author may not have intended to support it.
is_SP_or_R12
bool is_SP_or_R12(Register reg)
Undocumented in source. Be warned that the author may not have intended to support it.
jumpOffset
Imm32 jumpOffset(PC from, PC to)
Undocumented in source. Be warned that the author may not have intended to support it.
memAddrBase
MemAddress memAddrBase(Register baseReg)
Undocumented in source. Be warned that the author may not have intended to support it.
memAddrBaseDisp32
MemAddress memAddrBaseDisp32(Register baseReg, int disp32)
Undocumented in source. Be warned that the author may not have intended to support it.
memAddrBaseDisp8
MemAddress memAddrBaseDisp8(Register baseReg, byte disp8)
Undocumented in source. Be warned that the author may not have intended to support it.
memAddrBaseIndex
MemAddress memAddrBaseIndex(Register baseReg, Register indexReg, SibScale scale)
Undocumented in source. Be warned that the author may not have intended to support it.
memAddrBaseIndexDisp32
MemAddress memAddrBaseIndexDisp32(Register baseReg, Register indexReg, SibScale scale, int disp32)
Undocumented in source. Be warned that the author may not have intended to support it.
memAddrBaseIndexDisp8
MemAddress memAddrBaseIndexDisp8(Register baseReg, Register indexReg, SibScale scale, byte disp8)
Undocumented in source. Be warned that the author may not have intended to support it.
memAddrDisp32
MemAddress memAddrDisp32(int disp32)
Undocumented in source. Be warned that the author may not have intended to support it.
memAddrIndexDisp32
MemAddress memAddrIndexDisp32(Register indexReg, SibScale scale, int disp32)
Undocumented in source. Be warned that the author may not have intended to support it.
memAddrRipDisp32
MemAddress memAddrRipDisp32(int disp32)
Undocumented in source. Be warned that the author may not have intended to support it.
minMemAddrBaseDisp
MemAddress minMemAddrBaseDisp(Register baseReg, int displacement)
Undocumented in source. Be warned that the author may not have intended to support it.
regNeedsRexPrefix
bool regNeedsRexPrefix(Register reg)
Undocumented in source. Be warned that the author may not have intended to support it.
regTo_ModRm_Reg
ubyte regTo_ModRm_Reg(Register reg)
Undocumented in source. Be warned that the author may not have intended to support it.
regTo_ModRm_Rm
ubyte regTo_ModRm_Rm(Register reg)
Undocumented in source. Be warned that the author may not have intended to support it.
regTo_Rex_B
ubyte regTo_Rex_B(Register reg)
Undocumented in source. Be warned that the author may not have intended to support it.
regTo_Rex_R
ubyte regTo_Rex_R(Register reg)
Undocumented in source. Be warned that the author may not have intended to support it.
regTo_Rex_W
ubyte regTo_Rex_W(Register reg)
Undocumented in source. Be warned that the author may not have intended to support it.
regTo_Rex_X
ubyte regTo_Rex_X(Register reg)
Undocumented in source. Be warned that the author may not have intended to support it.
sibAddrType
ubyte sibAddrType(MemAddrType type)
Undocumented in source. Be warned that the author may not have intended to support it.

Manifest constants

RegisterMax
enum RegisterMax;
Undocumented in source.

Mixin templates

binaryInstr_RM_Imm
mixintemplate binaryInstr_RM_Imm(string name, ubyte extraOpcode)
Undocumented in source.
binaryInstr_RMtoR_RtoRM
mixintemplate binaryInstr_RMtoR_RtoRM(string name, ubyte[2] rm_r, ubyte[2] r_rm)
Undocumented in source.
instrMOV
mixintemplate instrMOV()
Undocumented in source.
shift_RM_Imm8
mixintemplate shift_RM_Imm8(string name, ubyte[2] opcodes, ubyte extraOpcode)
Undocumented in source.
unaryInstr_RM
mixintemplate unaryInstr_RM(string name, ubyte[2] opcodes, ubyte extraOpcode)
Undocumented in source.

Structs

AsmOpParam
struct AsmOpParam
Undocumented in source.
CodeGen_x86_64
struct CodeGen_x86_64
Undocumented in source.
Encoder
struct Encoder
Undocumented in source.
Fixup
struct Fixup
Undocumented in source.
Fixup32
struct Fixup32
Undocumented in source.
Imm16
struct Imm16
Undocumented in source.
Imm32
struct Imm32
Undocumented in source.
Imm64
struct Imm64
Undocumented in source.
Imm8
struct Imm8
Undocumented in source.
MemAddress
struct MemAddress
Undocumented in source.
ModRmMod
struct ModRmMod
Undocumented in source.
OP1
struct OP1
Undocumented in source.
OP2
struct OP2
Undocumented in source.
SibScale
struct SibScale
Undocumented in source.

Unions

AsmArg
union AsmArg
Undocumented in source.

Variables

REX_B
enum ubyte REX_B;
Undocumented in source.
REX_PREFIX
enum ubyte REX_PREFIX;
Undocumented in source.
REX_R
enum ubyte REX_R;
Undocumented in source.
REX_W
enum ubyte REX_W;
Undocumented in source.
REX_X
enum ubyte REX_X;
Undocumented in source.
isAnyImm
enum bool isAnyImm(I);
Undocumented in source.
isAnyOpcode
enum bool isAnyOpcode(O);
Undocumented in source.
memAddrType_to_dispType
ubyte[9] memAddrType_to_dispType;
Undocumented in source.
memAddrType_to_mod
ubyte[9] memAddrType_to_mod;
Undocumented in source.

Meta

Authors

Andrey Penechko.