From 1c622005c289ef1cd9feea277bd0ff46b19d15f0 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Sun, 3 May 2020 15:51:57 -0400 Subject: Put the instruction, and I/O routines into separate functions. I did this to make it more readable, while still making it fast, due to inlining it. --- opcode.h | 193 --------------------------------------------------------------- 1 file changed, 193 deletions(-) (limited to 'opcode.h') diff --git a/opcode.h b/opcode.h index 67ba5f5..81bffa4 100644 --- a/opcode.h +++ b/opcode.h @@ -4,9 +4,6 @@ #include #include -#define bench 0 -#define debug 0 -#define IO 1 #define getclk 0 #define keypoll 0 @@ -405,194 +402,4 @@ static const uint8_t optype[0x100] = { [0xFE] = IMPL }; -#if debug -static const char *opname[0x100] = { - [0x00] = "CPS", - [0x01] = "ADC #", - [0x02] = "AAB", - [0x04] = "ADC a", - [0x05] = "LDA ind", - [0x06] = "ADC zm", - [0x08] = "PHP #", - [0x09] = "CPB #", - [0x0A] = "PHB #", - [0x0C] = "DEC a", - [0x0D] = "DEC zm", - [0x0E] = "JMP zm", - [0x10] = "JMP a", - [0x11] = "SBC #", - [0x12] = "SAB", - [0x14] = "SBC a", - [0x15] = "STA ind", - [0x16] = "SBC zm", - [0x18] = "ENT #", - [0x19] = "CPY #", - [0x1A] = "PLB #", - [0x1C] = "INC a", - [0x1D] = "INC zm", - [0x1E] = "JSR zm", - [0x20] = "JSL a", - [0x21] = "AND #", - [0x22] = "ABA", - [0x24] = "AND a", - [0x25] = "CMP ind", - [0x26] = "AND zm", - [0x28] = "PLP #", - [0x29] = "CPX #", - [0x2A] = "PHY #", - [0x2C] = "CPB a", - [0x2D] = "CPB zm", - [0x2E] = "BPO zm", - [0x30] = "BPO a", - [0x31] = "ORA #", - [0x32] = "OAB", - [0x34] = "ORA a", - [0x35] = "LDB ind", - [0x36] = "ORA zm", - [0x38] = "STT #", - [0x39] = "LDA zmy", - [0x3A] = "PLY #", - [0x3C] = "CPX a", - [0x3D] = "CPY zm", - [0x3E] = "BNG zm", - [0x40] = "BNG a", - [0x41] = "XOR #", - [0x42] = "XAB", - [0x44] = "XOR a", - [0x45] = "STB ind", - [0x46] = "XOR zm", - [0x48] = "PHA #", - [0x49] = "STA zmy", - [0x4A] = "PHX #", - [0x4C] = "CPY a", - [0x4D] = "CPX zm", - [0x4E] = "BCS zm", - [0x50] = "BCS a", - [0x51] = "LSL #", - [0x52] = "LLB", - [0x54] = "LSL a", - [0x55] = "CPB ind", - [0x56] = "LSL zm", - [0x58] = "CLC", - [0x59] = "LDB zmy", - [0x5A] = "PLX #", - [0x5C] = "LDA iny", - [0x5D] = "LDA inx", - [0x5E] = "BCC zm", - [0x60] = "BCC a", - [0x61] = "LSR #", - [0x62] = "LRB", - [0x64] = "LSR a", - [0x65] = "LDY ind", - [0x66] = "LSR zm", - [0x68] = "PLA #", - [0x69] = "STB zmy", - [0x6A] = "TAB", - [0x6C] = "STA iny", - [0x6D] = "STA inx", - [0x6E] = "BEQ zm", - [0x70] = "BEQ a", - [0x71] = "ROL #", - [0x72] = "RLB", - [0x74] = "ROL a", - [0x75] = "STY ind", - [0x76] = "ROL zm", - [0x78] = "SEC", - [0x79] = "LDA zmx", - [0x7A] = "TBA", - [0x7C] = "CMP iny", - [0x7D] = "CMP inx", - [0x7E] = "BNE zm", - [0x80] = "BNE a", - [0x81] = "ROR #", - [0x82] = "RRB", - [0x84] = "ROR a", - [0x85] = "CPY ind", - [0x86] = "ROR zm", - [0x88] = "DEY", - [0x89] = "STA zmx", - [0x8A] = "TAY", - [0x8C] = "LDB iny", - [0x8D] = "LDB inx", - [0x8E] = "BVS zm", - [0x90] = "BVS a", - [0x91] = "MUL #", - [0x92] = "MAB", - [0x94] = "MUL a", - [0x95] = "LDX ind", - [0x96] = "MUL zm", - [0x98] = "CLI", - [0x99] = "LDB zmx", - [0x9A] = "TYA", - [0x9C] = "STB iny", - [0x9D] = "STB inx", - [0x9E] = "BVC zm", - [0xA0] = "BVC a", - [0xA1] = "DIV #", - [0xA2] = "DAB", - [0xA4] = "DIV a", - [0xA5] = "STX ind", - [0xA6] = "DIV zm", - [0xA8] = "INY", - [0xA9] = "STB zmx", - [0xAA] = "TAX", - [0xAC] = "CPB iny", - [0xAD] = "CPB inx", - [0xAE] = "RTS", - [0xB0] = "RTL", - [0xB1] = "CMP #", - [0xB2] = "CAB", - [0xB4] = "CMP a", - [0xB5] = "CPX ind", - [0xB6] = "CMP zm", - [0xB8] = "SEI", - [0xB9] = "LDX #", - [0xBA] = "TXA", - [0xBC] = "LDX a", - [0xBD] = "LDX zm", - [0xBE] = "JSR ind", - [0xC0] = "RTI", - [0xC1] = "LDA #", - [0xC4] = "LDA a", - [0xC5] = "DEX", - [0xC6] = "LDA zm", - [0xC8] = "CLV", - [0xC9] = "LDX zmy", - [0xCA] = "TYX", - [0xCC] = "STA a", - [0xCD] = "STA zm", - [0xCE] = "JMP ind", - [0xD0] = "TSX", - [0xD1] = "LDB #", - [0xD4] = "LDB a", - [0xD5] = "INX", - [0xD6] = "LDB zm", - [0xD8] = "WAI", - [0xD9] = "STX zmy", - [0xDA] = "TXY", - [0xDC] = "STB a", - [0xDD] = "STB zm", - [0xE0] = "TXS #", - [0xE1] = "LDY #", - [0xE4] = "LDY a", - [0xE5] = "DEC A", - [0xE6] = "LDY zm", - [0xE8] = "BRK", - [0xE9] = "LDY zmx", - [0xEA] = "NOP", - [0xEC] = "STY a", - [0xED] = "STY zm", - [0xEE] = "DEB", - [0xF1] = "ASR #", - [0xF2] = "ARB", - [0xF4] = "ASR a", - [0xF5] = "INC A", - [0xF6] = "ASR zm", - [0xF9] = "STY zmx", - [0xFC] = "STX a", - [0xFD] = "STX zm", - [0xFE] = "INB" -}; -#endif - extern int asmmon(); -- cgit v1.2.3-13-gbd6f