diff --git a/src/cpu.h b/src/cpu.h index 2244324..5cf65a3 100644 --- a/src/cpu.h +++ b/src/cpu.h @@ -7,6 +7,8 @@ #pragma once +#include // uint8_t, uint16_t + #include "processing-unit.h" class CPU final : public ProcessingUnit { @@ -15,4 +17,35 @@ public: virtual ~CPU(); void update() override; + + // 8-bit Arithmetic and Logic Instructions + + // 16-bit Arithmetic Instructions + + // Bit Operations Instructions + + // Bit Shift Instructions + + // Load Instructions + + // Jumps and Subroutines + + // Stack Operations Instructions + + // Miscellaneous Instructions + +private: + // 16-bit registers + uint16_t m_af { 0 }; // Accumulator & Flags + uint16_t m_bc { 0 }; // BC + uint16_t m_de { 0 }; // DE + uint16_t m_hl { 0 }; // HL + uint16_t m_sp { 0 }; // Stack Pointer + uint16_t m_pc { 0 }; // Program Counter + + // 8-bit registers (flags) + uint8_t m_z { 0 }; // Zero flag + uint8_t m_n { 0 }; // Subtraction flag (BCD) + uint8_t m_h { 0 }; // Half Carry flag (BCD) + uint8_t m_c { 0 }; // Carry flag };