home *** CD-ROM | disk | FTP | other *** search
- // List of all legal 6502 opcodes and mnemonics
- // CodeTable.c
-
- struct opcode
- {
- int mnemonic;
- char code[12];
- };
-
- /*
- Format of entries:
-
- M 0 1 2 3 4 5 6 7 8 9 10 11
- 0xaabbcc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
- | |
- Mnemonic |
- (ASCII) Opcodes
-
- part address mode examle length
- ---- ------------ ----------- ------
- 0 akku/single ASL/BRK 1
- 1 direct LDA #16 2
- 2 zeropage LDA 1 2
- 3 zeropage,X LDA 1,X 2
- 4 zeropage,Y LDA 1,Y 2
- 5 absolute LDA &0800 3
- 6 absolute,X LDA &0800,X 3
- 7 absolute,Y LDA &0800,Y 3
- 8 relative BCC label 2
- 9 indirect,x ADC ($10,x) 2
- 10 indirect,y ADC ($10),y 2
- 11 absol. ind. JMP ($0010) 3
-
- 0xff means illegal address mode
- */
-
- struct opcode instruction[80] =
- { // 0 1 2 3 4 5 6 7 8 9 10 11
- {0x4c4441,0xff,0xa9,0xa5,0xb5,0xff,0xad,0xbd,0xb9,0xff,0xa1,0xb1,0xff}// LDA
- {0x535441,0xff,0xff,0x85,0x95,0xff,0x8d,0x9d,0x99,0xff,0x81,0x91,0xff}// STA
- {0x4c4458,0xff,0xa2,0xa6,0xff,0xb6,0xae,0xff,0xbe,0xff,0xff,0xff,0xff}// LDX
- {0x4c4459,0xff,0xa0,0xa4,0xb4,0xff,0xac,0xbc,0xff,0xff,0xff,0xff,0xff}// LDY
- {0x535458,0xff,0xff,0x86,0xff,0x96,0x8e,0xff,0xff,0xff,0xff,0xff,0xff}// STX
- {0x535459,0xff,0xff,0x84,0x94,0xff,0x8c,0xff,0xff,0xff,0xff,0xff,0xff}// STY
- {0x4a5352,0xff,0xff,0xff,0xff,0xff,0x20,0xff,0xff,0xff,0xff,0xff,0xff}// JSR
- {0x4a4d50,0xff,0xff,0xff,0xff,0xff,0x4c,0xff,0xff,0xff,0xff,0xff,0x6c}// JMP
- {0x494e43,0xff,0xff,0xe6,0xf6,0xff,0xee,0xfe,0xff,0xff,0xff,0xff,0xff}// INC
- {0x494e58,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// INX
- {0x494e59,0xc8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// INY
- {0x424e45,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0xff,0xff,0xff}// BNE
- {0x424551,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xff,0xff,0xff}// BEQ
- {0x414443,0xff,0x69,0x65,0x75,0xff,0x6d,0x7d,0x79,0xff,0x61,0x71,0xff}// ADC
- {0x414e44,0xff,0x29,0x25,0x35,0xff,0x2d,0x3d,0x39,0xff,0x21,0x31,0xff}// AND
- {0x41534c,0x0a,0xff,0x06,0x16,0xff,0x0e,0x1e,0xff,0xff,0xff,0xff,0xff}// ASL
- {0x424343,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x90,0xff,0xff,0xff}// BCC
- {0x424353,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb0,0xff,0xff,0xff}// BCS
- {0x424954,0xff,0xff,0x24,0xff,0xff,0x2c,0xff,0xff,0xff,0xff,0xff,0xff}// BIT
- {0x424d49,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0xff,0xff,0xff}// BMI
- {0x42504c,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x10,0xff,0xff,0xff}// BPL
- {0x42524b,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// BRK
- {0x425643,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x50,0xff,0xff,0xff}// BVC
- {0x425653,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x70,0xff,0xff,0xff}// BVS
- {0x434c43,0x18,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// CLC
- {0x434c44,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// CLD
- {0x434c49,0x58,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// CLI
- {0x434c56,0xb8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// CLV
- {0x434d50,0xff,0xc9,0xc5,0xd5,0xff,0xcd,0xdd,0xd9,0xff,0xc1,0xd1,0xff}// CNP
- {0x435058,0xff,0xe0,0xe4,0xff,0xff,0xec,0xff,0xff,0xff,0xff,0xff,0xff}// CPX
- {0x435059,0xff,0xc0,0xc4,0xff,0xff,0xcc,0xff,0xff,0xff,0xff,0xff,0xff}// CPY
- {0x444543,0xff,0xff,0xc6,0xd6,0xff,0xce,0xde,0xff,0xff,0xff,0xff,0xff}// DEC
- {0x444558,0xca,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// DEX
- {0x444559,0x88,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// DEY
- {0x454f52,0xff,0x49,0x45,0x55,0xff,0x4d,0x5d,0x59,0xff,0x41,0x51,0xff}// EOR
- {0x4c5352,0x4a,0xff,0x46,0x56,0xff,0x4e,0x5e,0xff,0xff,0xff,0xff,0xff}// LSR
- {0x4e4f50,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// NOP
- {0x4f5241,0xff,0x09,0x05,0x15,0xff,0x0d,0x1d,0x19,0xff,0x01,0x11,0xff}// ORA
- {0x504841,0x48,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// PHA
- {0x504850,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// PHP
- {0x504c41,0x68,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// PLA
- {0x504c50,0x28,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// PLP
- {0x524f4c,0x2a,0xff,0x26,0x36,0xff,0x2e,0x3e,0xff,0xff,0xff,0xff,0xff}// ROL
- {0x524f52,0x6a,0xff,0x66,0x76,0xff,0x6e,0x7e,0xff,0xff,0xff,0xff,0xff}// ROR
- {0x525449,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// RTI
- {0x525453,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// RTS
- {0x534243,0xff,0xe9,0xe5,0xf5,0xff,0xed,0xfd,0xf9,0xff,0xe1,0xf1,0xff}// SBC
- {0x534543,0x38,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// SEC
- {0x534544,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// SED
- {0x534549,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// SEI
- {0x544158,0xaa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TAX
- {0x544159,0xa8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TAY
- {0x545358,0xba,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TSX
- {0x545841,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TXA
- {0x545853,0x9a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TXS
- {0x545941,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TYA
- };
-