aboutsummaryrefslogtreecommitdiffstats
path: root/atk16_emu/opcodes.py
blob: 268c873255a30d1022a68cc46f492102bb248d65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from typing import Literal
from dataclasses import dataclass

Opcode = Literal[
  "ALR",
  "ALI",
  "LDR",
  "STR",
  "LDI",
  "JPR",
  "JPI",
  "BRR",
  "BRI",
  "LPC",
  "NOP",
  "ISRP0",
  "ISRP1",
  "RTI",
  "HLT",
]

@dataclass
class ALR():
  target: int
  left: int
  right: int
  alu_code: int

@dataclass
class ALI():
  target: int
  left: int
  imm: int
  alu_code: int

@dataclass
class HLT():
  pass