import Data.Int type Program = [Instruction] data Instruction = Load Bus AddrBus Register Address | And Bus AddrBus Register Address | Or Bus AddrBus Register Address | Xor Bus AddrBus Register Address | Add Bus AddrBus Register Address | Sub Bus AddrBus Register Address | Store Bus AddrBus Address | Jmp Condition ProgramAddress data State = State { programCounter :: Int8 ,accumulator :: Int8 ,input :: Int8 ,programPage :: Int8 ,memoryPage :: Int8 ,output :: Int8 ,memory :: [Int8] }