data Reg = B | C | D | E | H | L | PHL | A deriving (Show, Eq)
-- reg pairs specified in the z80 manual
-data BC = BC
-data DE = DE
-data HL = HL
-data SP = SP
-data AF = AF
-data IX = IX
-data IY = IY
+data BC = BC deriving Show
+data DE = DE deriving Show
+data HL = HL deriving Show
+data SP = SP deriving Show
+data AF = AF deriving Show
+data IX = IX deriving Show
+data IY = IY deriving Show
-- sets of reg pairs used in the z80 manual
data RegPair a b c d = R1 a | R2 b | R3 c | R4 d deriving (Show, Eq)
| AOp_PHL
| AOp_PIX Int8
| AOp_PIY Int8
+ deriving Show
-- spec for shift and rotate instructions
data SRSpec =
| SROp_PHL
| SROp_PIX Int8
| SROp_PIY Int8
+ deriving Show
-- spec for bitwise instructions
data BitwiseSpec =
| BOp_PHL
| BOp_PIX Int8
| BOp_PIY Int8
+ deriving Show
-- condition codes for jump/call instructions
data Cond =
| CParityEven
| CSignPositive
| CSignNegative
+ deriving Show
-- instructions
data Instruction =
| OUTD
| OUTDR
| IllegalInstruction String
+ deriving Show