27 lines
No EOL
683 B
C
27 lines
No EOL
683 B
C
#ifndef CPU_H
|
|
#define CPU_H
|
|
|
|
#include <stdint.h>
|
|
|
|
typedef struct s_cpu
|
|
{
|
|
uint8_t a; // Accumulator register
|
|
uint8_t f; // Flags register (Z, N, H, C)
|
|
uint8_t b; // General-purpose register B
|
|
uint8_t c; // General-purpose register C
|
|
uint8_t d; // General-purpose register D
|
|
uint8_t e; // General-purpose register E
|
|
uint8_t h; // General-purpose register H
|
|
uint8_t l; // General-purpose register L
|
|
|
|
uint16_t sp; // Stack pointer
|
|
uint16_t pc; // Program counter
|
|
|
|
uint8_t ime; // Interrupt Master Enable flag
|
|
uint8_t halted; // Halted state flag
|
|
uint8_t stopped; // Stopped state flag
|
|
} t_cpu;
|
|
|
|
void cpu_init(t_cpu *cpu);
|
|
|
|
#endif CPU_H |