home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / _ / 6502xass / !6502-XAss / c / CodeTable next >
Encoding:
Text File  |  1995-12-24  |  5.4 KB  |  96 lines

  1. // List of all legal 6502 opcodes and mnemonics
  2. // CodeTable.c
  3.  
  4. struct opcode
  5. {
  6.   int mnemonic;
  7.   char code[12];
  8. };
  9.  
  10. /*
  11.   Format of entries:
  12.  
  13.     M        0    1    2    3    4    5    6    7    8    9   10   11
  14.   0xaabbcc,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
  15.      |            |
  16.      Mnemonic     |
  17.      (ASCII)      Opcodes
  18.  
  19.   part  address mode  examle        length
  20.   ----  ------------  -----------   ------
  21.      0  akku/single   ASL/BRK          1
  22.      1  direct        LDA #16          2
  23.      2  zeropage      LDA 1            2
  24.      3  zeropage,X    LDA 1,X          2
  25.      4  zeropage,Y    LDA 1,Y          2
  26.      5  absolute      LDA &0800        3
  27.      6  absolute,X    LDA &0800,X      3
  28.      7  absolute,Y    LDA &0800,Y      3
  29.      8  relative      BCC label        2
  30.      9  indirect,x    ADC ($10,x)      2
  31.     10  indirect,y    ADC ($10),y      2
  32.     11  absol. ind.   JMP ($0010)      3
  33.  
  34.     0xff means illegal address mode
  35. */
  36.  
  37. struct opcode instruction[80] =
  38. {   //        0    1    2    3    4    5    6    7    8    9   10   11
  39.   {0x4c4441,0xff,0xa9,0xa5,0xb5,0xff,0xad,0xbd,0xb9,0xff,0xa1,0xb1,0xff}// LDA
  40.   {0x535441,0xff,0xff,0x85,0x95,0xff,0x8d,0x9d,0x99,0xff,0x81,0x91,0xff}// STA
  41.   {0x4c4458,0xff,0xa2,0xa6,0xff,0xb6,0xae,0xff,0xbe,0xff,0xff,0xff,0xff}// LDX
  42.   {0x4c4459,0xff,0xa0,0xa4,0xb4,0xff,0xac,0xbc,0xff,0xff,0xff,0xff,0xff}// LDY
  43.   {0x535458,0xff,0xff,0x86,0xff,0x96,0x8e,0xff,0xff,0xff,0xff,0xff,0xff}// STX
  44.   {0x535459,0xff,0xff,0x84,0x94,0xff,0x8c,0xff,0xff,0xff,0xff,0xff,0xff}// STY
  45.   {0x4a5352,0xff,0xff,0xff,0xff,0xff,0x20,0xff,0xff,0xff,0xff,0xff,0xff}// JSR
  46.   {0x4a4d50,0xff,0xff,0xff,0xff,0xff,0x4c,0xff,0xff,0xff,0xff,0xff,0x6c}// JMP
  47.   {0x494e43,0xff,0xff,0xe6,0xf6,0xff,0xee,0xfe,0xff,0xff,0xff,0xff,0xff}// INC
  48.   {0x494e58,0xe8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// INX
  49.   {0x494e59,0xc8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// INY
  50.   {0x424e45,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xd0,0xff,0xff,0xff}// BNE
  51.   {0x424551,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0xff,0xff,0xff}// BEQ
  52.   {0x414443,0xff,0x69,0x65,0x75,0xff,0x6d,0x7d,0x79,0xff,0x61,0x71,0xff}// ADC
  53.   {0x414e44,0xff,0x29,0x25,0x35,0xff,0x2d,0x3d,0x39,0xff,0x21,0x31,0xff}// AND
  54.   {0x41534c,0x0a,0xff,0x06,0x16,0xff,0x0e,0x1e,0xff,0xff,0xff,0xff,0xff}// ASL
  55.   {0x424343,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x90,0xff,0xff,0xff}// BCC
  56.   {0x424353,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xb0,0xff,0xff,0xff}// BCS
  57.   {0x424954,0xff,0xff,0x24,0xff,0xff,0x2c,0xff,0xff,0xff,0xff,0xff,0xff}// BIT
  58.   {0x424d49,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x30,0xff,0xff,0xff}// BMI
  59.   {0x42504c,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x10,0xff,0xff,0xff}// BPL
  60.   {0x42524b,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// BRK
  61.   {0x425643,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x50,0xff,0xff,0xff}// BVC
  62.   {0x425653,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x70,0xff,0xff,0xff}// BVS
  63.   {0x434c43,0x18,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// CLC
  64.   {0x434c44,0xd8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// CLD
  65.   {0x434c49,0x58,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// CLI
  66.   {0x434c56,0xb8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// CLV
  67.   {0x434d50,0xff,0xc9,0xc5,0xd5,0xff,0xcd,0xdd,0xd9,0xff,0xc1,0xd1,0xff}// CNP
  68.   {0x435058,0xff,0xe0,0xe4,0xff,0xff,0xec,0xff,0xff,0xff,0xff,0xff,0xff}// CPX
  69.   {0x435059,0xff,0xc0,0xc4,0xff,0xff,0xcc,0xff,0xff,0xff,0xff,0xff,0xff}// CPY
  70.   {0x444543,0xff,0xff,0xc6,0xd6,0xff,0xce,0xde,0xff,0xff,0xff,0xff,0xff}// DEC
  71.   {0x444558,0xca,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// DEX
  72.   {0x444559,0x88,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// DEY
  73.   {0x454f52,0xff,0x49,0x45,0x55,0xff,0x4d,0x5d,0x59,0xff,0x41,0x51,0xff}// EOR
  74.   {0x4c5352,0x4a,0xff,0x46,0x56,0xff,0x4e,0x5e,0xff,0xff,0xff,0xff,0xff}// LSR
  75.   {0x4e4f50,0xea,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// NOP
  76.   {0x4f5241,0xff,0x09,0x05,0x15,0xff,0x0d,0x1d,0x19,0xff,0x01,0x11,0xff}// ORA
  77.   {0x504841,0x48,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// PHA
  78.   {0x504850,0x08,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// PHP
  79.   {0x504c41,0x68,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// PLA
  80.   {0x504c50,0x28,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// PLP
  81.   {0x524f4c,0x2a,0xff,0x26,0x36,0xff,0x2e,0x3e,0xff,0xff,0xff,0xff,0xff}// ROL
  82.   {0x524f52,0x6a,0xff,0x66,0x76,0xff,0x6e,0x7e,0xff,0xff,0xff,0xff,0xff}// ROR
  83.   {0x525449,0x40,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// RTI
  84.   {0x525453,0x60,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// RTS
  85.   {0x534243,0xff,0xe9,0xe5,0xf5,0xff,0xed,0xfd,0xf9,0xff,0xe1,0xf1,0xff}// SBC
  86.   {0x534543,0x38,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// SEC
  87.   {0x534544,0xf8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// SED
  88.   {0x534549,0x78,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// SEI
  89.   {0x544158,0xaa,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TAX
  90.   {0x544159,0xa8,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TAY
  91.   {0x545358,0xba,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TSX
  92.   {0x545841,0x8a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TXA
  93.   {0x545853,0x9a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TXS
  94.   {0x545941,0x98,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}// TYA
  95. };
  96.