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
).Path to definition (
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