from dataclasses import dataclass
|
|
from typing import List, Set
|
|
|
|
from gbso.cpu import CPU
|
|
from gbso.insn import Insn
|
|
from gbso.regs import R8
|
|
|
|
|
|
@dataclass
|
|
class Program:
|
|
outputs: Set[R8]
|
|
insns: List[Insn]
|
|
|
|
# TODO: Memory outputs
|
|
# TODO: Initialization of registers/memory
|
|
|
|
def execute(self, cpu: CPU) -> None:
|
|
for insn in self.insns:
|
|
insn.exec(cpu)
|