summaryrefslogtreecommitdiff
path: root/instruction-init.h
diff options
context:
space:
mode:
authoralekseiplusplus <alekseijeaves@protonmail.com>2023-04-21 03:44:47 +1000
committeralekseiplusplus <alekseijeaves@protonmail.com>2023-04-21 03:44:47 +1000
commitee742e6020248f9695cc9ce5bbace5f42814383e (patch)
treed8be3463f30027c965e821ac63b8b6eae047390d /instruction-init.h
parentc4c28762385c52d0c349da72e3f3bbed64197411 (diff)
have to call it a night.
Diffstat (limited to 'instruction-init.h')
-rw-r--r--instruction-init.h116
1 files changed, 0 insertions, 116 deletions
diff --git a/instruction-init.h b/instruction-init.h
deleted file mode 100644
index 12cdfa4..0000000
--- a/instruction-init.h
+++ /dev/null
@@ -1,116 +0,0 @@
-// instruction-init.h
-// Initializes every instruction function prior to addressing.h so that function addresses are accessible
-// also defines the array used to refer to functions
-
-//InstructionTable
-void* IT;
-void (*func)(Addressing, address);
-
-#define InstructionTableSize (256*(sizeof(uintptr_t) + sizeof(Addressing)))
-
-/*
-uintptr_t getITFunction(int i){ //Segmentation fault is occurring here, likely in next one too
- uintptr_t r = (IT + (sizeof(uintptr_t)*i));
- return r;
-}
-
-Addressing getITAddressing(int i){
- Addressing r = (IT + (sizeof(uintptr_t)*256) + (sizeof(Addressing)*i));
- return r;
-}
-*/
-
-
-void callIT(int i, address val){
- uintptr_t a = (IT + (sizeof(uintptr_t) * i));
- memcpy(&func, a, sizeof(uintptr_t));
- Addressing* r = (IT + ((sizeof(uintptr_t)*256) + (sizeof(Addressing) * i)));
- func(*r, val);
-}
-
-void initIT(){
- IT = malloc(InstructionTableSize);
- FILE* fs = fopen("instructions.bin", "r");
-
- /*if (fs == NULL){
- system("instruction-dump");
- }*/
- for(char* c = IT; c < (IT + InstructionTableSize); c++){ //NEED TO MAKE (IT + (256*(sizeof(uintptr_t) + sizeof(Addressing)))) a macro
- *c = fgetc(fs);
- } //Investigate whether doing word sized units would increase speed
- fclose(fs);
- //read in the instruction data binary
-}
-
-
-
-// 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);
-
-
-