microprobe.target.isa.operand.OperandReg¶
-
class
OperandReg
(name, descr, regs, address_base, address_index, floating_point, vector)[source]¶ Bases:
microprobe.target.isa.operand.Operand
Class to represent a register operand.
-
__init__
(name, descr, regs, address_base, address_index, floating_point, vector)[source]¶ Parameters: - name –
- descr –
- regs –
- address_base –
- address_index –
- floating_point –
- vector –
Methods
__init__
(name, descr, regs, address_base, …)param name: access
(value)param value: check
(value)Check if a value is valid for the operand. codification
(value)param value: copy
()random_value
()Return a random possible value for the operand. representation
(value)param value: set_valid_values
(values)param values: values
()Return the possible value of the operand. Attributes
address_absolute
Operand is for generating absolute addresses ( bool
).address_base
Operand is the base register for an address ( bool
).address_immediate
Operand is an immediate of an address ( bool
).address_index
Operand is the index register for an address ( bool
).address_relative
Operand is for generating relative addresses ( bool
).constant
Operand is constant ( bool
).description
Operand description ( str
).float
Operand is float ( bool
).immediate
Operand is immediate ( bool
).name
Operand name ( str
).vector
Operand is vector ( bool
).
-
check
(value)¶ Check if a value is valid for the operand.
Parameters: value ( str
,Register
orint
) – value of the operand.Raises: microprobe.exceptions.MicroprobeValueError – if the value is not allowed for the operand
-