microprobe.code.ins.InstructionMemoryOperandValue¶
-
class
InstructionMemoryOperandValue
(memory_operand_descriptor, operand_values, length_values)[source]¶ Bases:
microprobe.utils.misc.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: 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
address
Address of the memory operand ( Address
).descriptor
Descriptor of the memory operand ( OperandDescriptor
).length
Length of the memory operand (: int
).operands
Memory operand values (list of InstructionOperandValue
).variable_length
Variable 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 –
-