microprobe.target.isa.ISA¶
- class ISA[source]¶
Bases:
object
Abstract class to represent an Instruction Set Architecture (ISA).
An instruction set architecture (ISA) object defines the part of the computer architecture related to programming, including instructions, registers, operands, memory operands, etc.
Methods
__init__
()add_to_register
(register, value)- param register
branch_unconditional_relative
(source, target)- param source
compare_and_branch
(val1, val2, cond, target, …)- param val1
get_context
([variable, tmpl_path])get_dat
(**kwargs)get_register_for_address_arithmetic
(context)- param context
get_register_for_float_arithmetic
(context)- param context
load
(reg, address, context)- param reg
load_float
(reg, address, context)- param reg
negate_register
(reg, context)- param reg
new_instruction
(name)- param name
nop
()normalize_asm
(mnemonic, operands)randomize_register
(register[, seed])set_context
([variable, tmpl_path])set_register
(reg, value, context)- param reg
set_register_bits
(register, value, mask, …)- param register
set_register_to_address
(reg, address, context)- param reg
set_target
(target)- param target
store_decimal
(address, length, value, context)- param address
store_float
(reg, address, context)- param reg
store_integer
(reg, address, length, context)- param reg
Attributes
ISA description (
str
).ISA instructions (
dict
mapping strings toInstructionType
).ISA name (
str
).Associated target object (
Target
).
- abstract property instructions¶
ISA instructions (
dict
mapping strings toInstructionType
).
- abstract property registers¶
- abstract property scratch_registers¶
- abstract property address_registers¶
- abstract property float_registers¶
- abstract property control_registers¶
- abstract property scratch_var¶
- abstract property context_var¶
- abstract store_integer(reg, address, length, context)[source]¶
- Parameters
reg –
address –
length –
context –
- abstract store_decimal(address, length, value, context)[source]¶
- Parameters
address –
length –
value –
context –
- abstract set_register_to_address(reg, address, context, force_absolute=False, force_relative=False)[source]¶
- Parameters
reg –
address –
context –
force_absolute – (Default value = False)
- abstract set_register_bits(register, value, mask, shift, context)[source]¶
- Parameters
register –
value –
mask –
shift –
context –
- abstract compare_and_branch(val1, val2, cond, target, context)[source]¶
- Parameters
val1 –
val2 –
cond –
target –
context –
- abstract property flag_registers¶