raise NotImplementedError
+@_dataclasses.dataclass(eq=True, frozen=True)
class DynamicOperand(Operand):
def disassemble(self, insn, record,
verbosity=Verbosity.NORMAL, indent=""):
yield str(int(value))
+@_dataclasses.dataclass(eq=True, frozen=True)
class SignedOperand(DynamicOperand):
def assemble(self, value, insn, record):
if isinstance(value, str):
yield str(int(value))
+@_dataclasses.dataclass(eq=True, frozen=True)
class ImmediateOperand(DynamicOperand):
pass
+@_dataclasses.dataclass(eq=True, frozen=True)
class SignedImmediateOperand(SignedOperand, ImmediateOperand):
pass
+@_dataclasses.dataclass(eq=True, frozen=True)
class NonZeroOperand(DynamicOperand):
def assemble(self, value, insn, record):
if isinstance(value, str):
yield str(int(value) + 1)
+@_dataclasses.dataclass(eq=True, frozen=True)
class ExtendableOperand(DynamicOperand):
def sv_spec_enter(self, value, span):
return (value, span)
yield f"{vector}{prefix}{int(value)}"
+@_dataclasses.dataclass(eq=True, frozen=True)
class GPROperand(ExtendableOperand):
def assemble(self, value, insn, record):
if isinstance(value, str):
verbosity=verbosity, indent=indent)
+@_dataclasses.dataclass(eq=True, frozen=True)
class FPROperand(ExtendableOperand):
def assemble(self, value, insn, record):
if isinstance(value, str):
verbosity=verbosity, indent=indent)
+@_dataclasses.dataclass(eq=True, frozen=True)
class CR3Operand(ExtendableOperand):
pass
+@_dataclasses.dataclass(eq=True, frozen=True)
class CR5Operand(ExtendableOperand):
def sv_spec_enter(self, value, span):
value = _SelectableInt(value=(value.value >> 2), bits=3)
nz: int = 4
+@_dataclasses.dataclass(eq=True, frozen=True)
class DOperandDX(SignedOperand):
def span(self, record):
operands = map(DynamicOperand, ("d0", "d1", "d2"))