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
¶