microprobe.code.ins.InstructionMemoryOperandValue
- class InstructionMemoryOperandValue(memory_operand_descriptor, operand_values, length_values)[source]
Bases:
Pickable
Class to represent an instruction operand value
- __init__(memory_operand_descriptor, operand_values, length_values)[source]
- Parameters:
memory_operand_descriptor
operand_values
length_values
Methods
__init__
(memory_operand_descriptor, ...)- param memory_operand_descriptor:
Required alignment of the memory operand (:
int
).possible_addresses
(dummy_context)- param dummy_context:
possible_lengths
(context)- param context:
register_mem_operand_callback
(set_address, ...)- param set_address:
set_address
(address, context)- param address:
set_alignment
(alignment)Set the required alignment of the memory operand.
set_forbidden_address_range
(min_address, ...)- param min_address:
set_length
(length, context)- param length:
set_possible_addresses
(addreses, dummy_context)Set the possible addresses for the memory operand.
set_possible_lengths
(lengths, dummy_context)- param lengths:
sets
()Return the list of registers set by the memory operand.
Unset the forbiddend address range.
Unset the possible addresses of the memory operand.
Unset the possible lengths of the memory operand.
update_address
(address)- param address:
update_address_from_operands
([context])- param context:
uses
()Return the list of registers used by the memory operand.
Attributes
Address of the memory operand (
Address
).Descriptor of the memory operand (
OperandDescriptor
).Length of the memory operand (:
int
).Memory operand values (list of
InstructionOperandValue
).Variable length value(
bool
).
- register_mem_operand_callback(set_address, set_length, unset_address: Callable[[], None], unset_length: Callable[[], None])[source]
- Parameters:
set_address
set_length
unset_address
unset_length
- property descriptor
Descriptor of the memory operand (
OperandDescriptor
).
- property operands
Memory operand values (list of
InstructionOperandValue
).
- set_possible_addresses(addreses, dummy_context: Context)[source]
Set the possible addresses for the memory operand.
- Parameters:
addreses
dummy_context
- set_alignment(alignment)[source]
Set the required alignment of the memory operand.
- Parameters:
alignment (
int
) – alignment
- set_forbidden_address_range(min_address, max_address, dummy_context: Context)[source]
- Parameters:
min_address
max_address
dummy_context