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_float(reg: Register, address, context: Context)[source]
- Parameters:
reg –
address –
context –
- 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