opcodes.x86.
CodeOffset
¶Relative code offset embedded into instruction encoding.
Offset is relative to the end of the instruction.
Variables: |
|
---|
opcodes.x86.
DataOffset
¶Absolute data offset embedded into instruction encoding.
Only MOV instruction has forms that use direct data offset.
Variables: |
|
---|
opcodes.x86.
EVEX
¶EVEX prefix.
Encoding may have only one EVEX prefix and if present, it immediately precedes the opcode, and no other prefix is allowed.
Variables: |
|
---|
set_ignored
(w=0, ll=0, z=0)¶Sets values for ignored bits
Parameters: |
|
---|
opcodes.x86.
Encoding
¶Instruction encoding
Variables: | components – a list of Prefix , VEX , Opcode , ModRM , RegisterByte , Immediate , DataOffset , CodeOffset objects that specify the components of encoded instruction |
---|
opcodes.x86.
ISAExtension
(name)¶score
¶A number that can be used to order a list of ISA extensions
opcodes.x86.
Immediate
¶Immediate constant embedded into instruction encoding.
Variables: |
|
---|
opcodes.x86.
Instruction
(name)¶Instruction is defined by its mnemonic name (in Intel-style assembly).
An instruction may have multiple forms, that mainly differ by operand types.
Variables: |
|
---|
opcodes.x86.
InstructionForm
(name)¶Instruction form is a combination of mnemonic name and operand types.
An instruction form may have multiple possible encodings.
Variables: |
|
---|
opcodes.x86.
ModRM
¶Mod R/M byte that can encode a register operand, a memory operand, or provide an opcode extension.
If memory operand requires SIB byte, the SIB byte immediately follows the Mod R/M byte in instruction encoding.
Variables: |
|
---|
set_ignored
(mode=3, rm=0)¶Sets values for ignored fields
Parameters: |
|
---|
opcodes.x86.
Opcode
(byte)¶Operation code
Encoding may include more than one opcode. Opcodes do not necessarily go in sequence.
Variables: |
|
---|
opcodes.x86.
Operand
(type)¶An explicit instruction operand.
Variables: |
|
---|
is_immediate
¶Indicates whether this operand is an immediate constant
is_memory
¶Indicates whether this operand specifies a memory location
is_register
¶Indicates whether this operand specifies a register
is_variable
¶Indicates whether this operand refers to a variable (i.e. specifies either a register or a memory location)
opcodes.x86.
Prefix
¶0x66/0xF2/0xF3 prefix
Variables: |
|
---|
opcodes.x86.
RegisterByte
¶Byte that encodes a register in the low 4 bits and optionally encodes an immediate value in the high 4 bits.
Variables: |
|
---|
opcodes.x86.
VEX
¶VEX or XOP prefix.
VEX and XOP prefixes use the same format and differ only by leading byte. The type property helps to differentiate between the two prefix types.
Encoding may have only one VEX prefix and if present, it immediately precedes the opcode, and no other prefix is allowed.
Variables: |
|
---|
set_ignored
(w=0, l=0)¶Sets values for ignored bits
Parameters: |
|
---|
opcodes.x86.
read_instruction_set
(filename=None)¶Reads instruction set data from an XML file and returns a list of Instruction
objects
Parameters: | filename – path to an XML file with instruction set data |
---|
opcodes.x86_64.
CodeOffset
¶Relative code offset embedded into instruction encoding.
Offset is relative to the end of the instruction.
Variables: |
|
---|
opcodes.x86_64.
DataOffset
¶Absolute data offset embedded into instruction encoding.
Only MOV instruction has forms that use direct data offset.
Variables: |
|
---|
opcodes.x86_64.
EVEX
¶EVEX prefix.
Encoding may have only one EVEX prefix and if present, it immediately precedes the opcode, and no other prefix is allowed.
Variables: |
|
---|
set_ignored
(w=0, ll=0, rr=0, x=0, z=0)¶Sets values for ignored bits
Parameters: |
|
---|
opcodes.x86_64.
Encoding
¶Instruction encoding
Variables: | components – a list of Prefix , REX , VEX , Opcode , ModRM , RegisterByte , Immediate , DataOffset , CodeOffset objects that specify the components of encoded instruction |
---|
opcodes.x86_64.
ISAExtension
(name)¶score
¶A number that can be used to order a list of ISA extensions
opcodes.x86_64.
Immediate
¶Immediate constant embedded into instruction encoding.
Variables: |
|
---|
opcodes.x86_64.
Instruction
(name)¶Instruction is defined by its mnemonic name (in Intel-style assembly).
An instruction may have multiple forms, that mainly differ by operand types.
Variables: |
|
---|
opcodes.x86_64.
InstructionForm
(name)¶Instruction form is a combination of mnemonic name and operand types.
An instruction form may have multiple possible encodings.
Variables: |
|
---|
opcodes.x86_64.
ModRM
¶Mod R/M byte that can encode a register operand, a memory operand, or provide an opcode extension.
If memory operand requires SIB byte, the SIB byte immediately follows the Mod R/M byte in instruction encoding.
Variables: |
|
---|
set_ignored
(mode=3, rm=0)¶Sets values for ignored fields
Parameters: |
|
---|
opcodes.x86_64.
Opcode
(byte)¶Operation code
Encoding may include more than one opcode. Opcodes do not necessarily go in sequence.
Variables: |
|
---|
opcodes.x86_64.
Operand
(type)¶An explicit instruction operand.
Variables: |
|
---|
is_immediate
¶Indicates whether this operand is an immediate constant
is_memory
¶Indicates whether this operand specifies a memory location
is_register
¶Indicates whether this operand specifies a register
is_variable
¶Indicates whether this operand refers to a variable (i.e. specifies either a register or a memory location)
opcodes.x86_64.
Prefix
¶0x66/0xF2/0xF3 prefix
Variables: |
|
---|
opcodes.x86_64.
REX
¶REX prefix.
Encoding may have only one REX prefix and if present, it immediately precedes the opcode.
Variables: |
|
---|
set_ignored
(w=0, r=0, x=0, b=0)¶Sets values for ignored bits
Parameters: |
|
---|
opcodes.x86_64.
RegisterByte
¶Byte that encodes a register in the low 4 bits and optionally encodes an immediate value in the high 4 bits.
Variables: |
|
---|
opcodes.x86_64.
VEX
¶VEX or XOP prefix.
VEX and XOP prefixes use the same format and differ only by leading byte. The type property helps to differentiate between the two prefix types.
Encoding may have only one VEX prefix and if present, it immediately precedes the opcode, and no other prefix is allowed.
Variables: |
|
---|
set_ignored
(w=0, l=0, r=0, x=0, b=0)¶Sets values for ignored bits
Parameters: |
|
---|
opcodes.x86_64.
read_instruction_set
(filename=None)¶Reads instruction set data from an XML file and returns a list of Instruction
objects
Parameters: | filename – path to an XML file with instruction set data |
---|
opcodes.k1om.
CodeOffset
¶Relative code offset embedded into instruction encoding.
Offset is relative to the end of the instruction.
Variables: |
|
---|
opcodes.k1om.
DataOffset
¶Absolute data offset embedded into instruction encoding.
Only MOV instruction has forms that use direct data offset.
Variables: |
|
---|
opcodes.k1om.
Encoding
¶Instruction encoding
Variables: | components – a list of Prefix , REX , VEX , Opcode , ModRM , RegisterByte , Immediate , DataOffset , CodeOffset objects that specify the components of encoded instruction |
---|
opcodes.k1om.
Immediate
¶Immediate constant embedded into instruction encoding.
Variables: |
|
---|
opcodes.k1om.
Instruction
(name)¶Instruction is defined by its mnemonic name (in Intel-style assembly).
An instruction may have multiple forms, that mainly differ by operand types.
Variables: |
|
---|
opcodes.k1om.
InstructionForm
(name)¶Instruction form is a combination of mnemonic name and operand types.
An instruction form may have multiple possible encodings.
Variables: |
|
---|
opcodes.k1om.
MVEX
¶MVEX prefix.
Encoding may have only one MVEX prefix and if present, it immediately precedes the opcode, and no other prefix is allowed.
Variables: |
|
---|
set_ignored
(w=0, rr=0, x=0, z=0)¶Sets values for ignored bits
Parameters: |
|
---|
opcodes.k1om.
ModRM
¶Mod R/M byte that can encode a register operand, a memory operand, or provide an opcode extension.
If memory operand requires SIB byte, the SIB byte immediately follows the Mod R/M byte in instruction encoding.
Variables: |
|
---|
set_ignored
(mode=3, rm=0)¶Sets values for ignored fields
Parameters: |
|
---|
opcodes.k1om.
Opcode
(byte)¶Operation code
Encoding may include more than one opcode. Opcodes do not necessarily go in sequence.
Variables: |
|
---|
opcodes.k1om.
Operand
(type)¶An explicit instruction operand.
Variables: |
|
---|
is_immediate
¶Indicates whether this operand is an immediate constant
is_memory
¶Indicates whether this operand specifies a memory location
is_register
¶Indicates whether this operand specifies a register
is_variable
¶Indicates whether this operand refers to a variable (i.e. specifies either a register or a memory location)
opcodes.k1om.
Prefix
¶0x66/0xF2/0xF3 prefix
Variables: |
|
---|
opcodes.k1om.
REX
¶REX prefix.
Encoding may have only one REX prefix and if present, it immediately precedes the opcode.
Variables: |
|
---|
set_ignored
(w=0, r=0, x=0, b=0)¶Sets values for ignored bits
Parameters: |
|
---|
opcodes.k1om.
RegisterByte
¶opcodes.k1om.
VEX
¶VEX prefix.
Encoding may have only one VEX prefix and if present, it immediately precedes the opcode, and no other prefix is allowed.
Variables: |
|
---|
set_ignored
(w=0, r=0, x=0, b=0)¶Sets values for ignored bits
Parameters: |
|
---|
opcodes.k1om.
read_instruction_set
(filename=None)¶Reads instruction set data from an XML file and returns a list of Instruction
objects
Parameters: | filename – path to an XML file with instruction set data |
---|