microprobe.target.isa.GenericISA

class GenericISA(name, descr, ins, regs, comparators, generators)[source]

Bases: microprobe.target.isa.ISA

Class to represent a generic Instruction Set Architecture (ISA).

__init__(name, descr, ins, regs, comparators, generators)[source]
Parameters
  • name

  • descr

  • ins

  • regs

  • comparators

  • generators

Methods

__init__(name, descr, ins, regs, …)

param name

add_to_register(register, value)

param register

branch_to_itself()

branch_unconditional_relative(source, target)

param source

compare_and_branch(val1, val2, cond, target, …)

param val1

full_report()

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)

register_value_comparator(comp)

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

address_registers

context_var

control_registers

description

flag_registers

float_registers

instructions

name

registers

scratch_registers

scratch_var

target




property name
property description
property address_registers
property float_registers
property flag_registers
property instructions
property scratch_var
property registers
property target
normalize_asm(mnemonic, operands)[source]
set_target(target)[source]
Parameters

target

new_instruction(name)[source]
Parameters

name

full_report()[source]
set_register(reg, value, context)[source]
Parameters
  • reg

  • value

  • context

property scratch_registers
property control_registers
get_register_for_address_arithmetic(context)[source]
Parameters

context

get_register_for_float_arithmetic(context)[source]
Parameters

context

add_to_register(register, value)[source]
Parameters
  • register

  • value

branch_unconditional_relative(source, target)[source]
Parameters
  • source

  • target

branch_to_itself()[source]
get_dat(**kwargs)[source]
set_context(variable=None, tmpl_path=None)[source]
get_context(variable=None, tmpl_path=None)[source]
register_value_comparator(comp)[source]
abstract compare_and_branch(val1, val2, cond, target, context)
Parameters
  • val1

  • val2

  • cond

  • target

  • context

abstract property context_var
abstract load(reg, address, context)
Parameters
  • reg

  • address

  • context

abstract load_float(reg, address, context)
Parameters
  • reg

  • address

  • context

abstract negate_register(reg, context)
Parameters
  • reg

  • context

abstract nop()
abstract set_register_bits(register, value, mask, shift, context)
Parameters
  • register

  • value

  • mask

  • shift

  • context

abstract set_register_to_address(reg, address, context, force_absolute=False, force_relative=False)
Parameters
  • reg

  • address

  • context

  • force_absolute – (Default value = False)

abstract store_decimal(address, length, value, context)
Parameters
  • address

  • length

  • value

  • context

abstract store_float(reg, address, context)
Parameters
  • reg

  • address

  • context

abstract store_integer(reg, address, length, context)
Parameters
  • reg

  • address

  • length

  • context