diff options
author | alekseiplusplus <alekseijeaves@protonmail.com> | 2023-07-27 11:36:01 +1000 |
---|---|---|
committer | alekseiplusplus <alekseijeaves@protonmail.com> | 2023-07-27 11:36:01 +1000 |
commit | 9a6188f821b11b69fff3d3a303dbfcce2e52e6f4 (patch) | |
tree | b06aa0d876b19cca281cbc26db9086ab7241d6bd /src/cpu/instructions.h | |
parent | b158eaeb489bce502198e844593b38a2f5f5b9ee (diff) |
refactoring of src/cpu/
Diffstat (limited to 'src/cpu/instructions.h')
-rw-r--r-- | src/cpu/instructions.h | 90 |
1 files changed, 90 insertions, 0 deletions
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 |