microprobe.target.isa.ISA
- class ISA[source]
Bases:
ABC
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
).Path to definition (
str
).Associated target object (
Target
).
- property instructions: Dict[str, 'InstructionType']
ISA instructions (
dict
mapping strings toInstructionType
).
- property context_var
- store_integer(reg: Register, address, length, context: Context)[source]
- Parameters:
reg
address
length
context
- store_decimal(address, length, value, context: Context)[source]
- Parameters:
address
length
value
context
- set_register_to_address(reg: Register, address, context: Context, force_absolute: bool = False, force_relative: bool = False)[source]
- Parameters:
reg
address
context
force_absolute – (Default value = False)
- set_register_bits(register, value, mask, shift, context: Context)[source]
- Parameters:
register
value
mask
shift
context
- compare_and_branch(val1, val2, cond, target, context: Context)[source]
- Parameters:
val1
val2
cond
target
context
- property flag_registers