microprobe.code.ins.InstructionMemoryOperandValue¶
-
class
InstructionMemoryOperandValue(memory_operand_descriptor, operand_values, length_values)[source]¶ Bases:
microprobe.utils.misc.PickableClass 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: alignment()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_forbidden_address_range()Unset the forbiddend address range. unset_possible_addresses()Unset the possible addresses of the memory operand. unset_possible_lengths()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
addressAddress of the memory operand ( Address).descriptorDescriptor of the memory operand ( OperandDescriptor).lengthLength of the memory operand (: int).operandsMemory operand values (list of InstructionOperandValue).variable_lengthVariable length value( bool).
-
register_mem_operand_callback(set_address, set_length, unset_address, unset_length)[source]¶ Parameters: - set_address –
- set_length –
- unset_address –
- unset_length –
-
descriptor¶ Descriptor of the memory operand (
OperandDescriptor).
-
operands¶ Memory operand values (list of
InstructionOperandValue).
-
set_possible_addresses(addreses, dummy_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)[source]¶ Parameters: - min_address –
- max_address –
- dummy_context –
-