27 lines
431 B
OCaml
27 lines
431 B
OCaml
(** http://bgb.bircd.org/pandocs.htm#cpuregistersandflags *)
|
|
|
|
type registers = {
|
|
a : char; (* accumulator *)
|
|
b : char;
|
|
c : char;
|
|
d : char;
|
|
e : char;
|
|
h : char;
|
|
l : char;
|
|
|
|
sp : int; (* stack pointer *)
|
|
pc : int; (* program counter *)
|
|
}
|
|
|
|
type flags = {
|
|
z : bool; (* zero *)
|
|
n : bool; (* substraction *)
|
|
h : bool; (* half-carry *)
|
|
cy : bool; (* carry *)
|
|
}
|
|
|
|
type t = {
|
|
reg : registers;
|
|
flags : flags;
|
|
}
|