feat: Классы исключений виртуальной машины написаны
This commit is contained in:
10
src/vm.py
10
src/vm.py
@ -21,9 +21,19 @@ class VMCC(IntFlag):
|
|||||||
NEGATIVE = 1 << 1
|
NEGATIVE = 1 << 1
|
||||||
ZERO = 1 << 0
|
ZERO = 1 << 0
|
||||||
|
|
||||||
|
@dataclass
|
||||||
class Breakpoint(Exception):
|
class Breakpoint(Exception):
|
||||||
address: int
|
address: int
|
||||||
|
|
||||||
|
class VMExceptionType(Enum):
|
||||||
|
END_OF_MEM = auto()
|
||||||
|
INVALID_OPCODE = auto()
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class VMException(Exception):
|
||||||
|
cause: VMExceptionType
|
||||||
|
pc: int
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class VM:
|
class VM:
|
||||||
instr_callbacks: ClassVar[dict[OpcodeDescription, Callable]]
|
instr_callbacks: ClassVar[dict[OpcodeDescription, Callable]]
|
||||||
|
|||||||
Reference in New Issue
Block a user