From 9a6188f821b11b69fff3d3a303dbfcce2e52e6f4 Mon Sep 17 00:00:00 2001 From: alekseiplusplus Date: Thu, 27 Jul 2023 11:36:01 +1000 Subject: refactoring of src/cpu/ --- src/cpu/instructions.h | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 src/cpu/instructions.h (limited to 'src/cpu/instructions.h') diff --git a/src/cpu/instructions.h b/src/cpu/instructions.h new file mode 100644 index 0000000..082082f --- /dev/null +++ b/src/cpu/instructions.h @@ -0,0 +1,90 @@ +// instructions.h +#ifndef INSTRUCTIONS_H +#define INSTRUCTIONS_H + +AddData idata; + +// Load and Store Instructions +void fLDA(Addressing, address); +void fLDX(Addressing, address); +void fLDY(Addressing, address); +void fSTA(Addressing, address); +void fSTX(Addressing, address); +void fSTY(Addressing, address); + +// Arithmetic Instructions +void fADC(Addressing, address); +void fSBC(Addressing, address); + +//Increment and Decrement Instructions +void fINC(Addressing, address); +void fINX(Addressing, address); +void fINY(Addressing, address); +void fDEC(Addressing, address); +void fDEX(Addressing, address); +void fDEY(Addressing, address); + +// Logical Instructions +void fAND(Addressing, address); +void fORA(Addressing, address); +void fEOR(Addressing, address); + +// Jump, Branch, Compare, and Test Bits +void fJMP(Addressing, address); +void fBCC(Addressing, address); +void fBCS(Addressing, address); +void fBEQ(Addressing, address); +void fBNE(Addressing, address); +void fBMI(Addressing, address); +void fBPL(Addressing, address); +void fBVS(Addressing, address); +void fBVC(Addressing, address); +void fCMP(Addressing, address); +void fCPX(Addressing, address); +void fCPY(Addressing, address); +void fBIT(Addressing, address); + +// Shift and Rotate Instructions +void fASL(Addressing, address); +void fLSR(Addressing, address); +void fROL(Addressing, address); +void fROR(Addressing, address); + +// Transfer Instructions +void fTAX(Addressing, address); +void fTAY(Addressing, address); +void fTXA(Addressing, address); +void fTYA(Addressing, address); + +// Stack Instructions +void fTSX(Addressing, address); +void fTXS(Addressing, address); +void fPHA(Addressing, address); +void fPHP(Addressing, address); +void fPLA(Addressing, address); +void fPLP(Addressing, address); + +// Subroutine Instructions +void fJSR(Addressing, address); +void fRTS(Addressing, address); +void fRTI(Addressing, address); + +// Set/Reset Insutrctions +void fCLC(Addressing, address); +void fCLD(Addressing, address); +void fCLI(Addressing, address); +void fCLV(Addressing, address); +void fSEC(Addressing, address); +void fSED(Addressing, address); +void fSEI(Addressing, address); + +// NOP/BRK Instructions +void fNOP(Addressing, address); +void fBRK(Addressing, address); + +#endif + +#ifdef ILLEGAL_INSTRUCTIONS + + +#endif \ No newline at end of file -- cgit v1.2.3