home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 332.lha / DAsm_v2.12 / src / mne6303.c < prev    next >
C/C++ Source or Header  |  1989-12-27  |  10KB  |  208 lines

  1.  
  2. /*
  3.  *  MNE6303.C
  4.  *
  5.  *  (c)Copyright 1988, Matthew Dillon, All Rights Reserved.
  6.  */
  7.  
  8. #include "asm.h"
  9.  
  10. /*
  11.  *  IMP IMM8 IMM16 BYTE BYTEX BYTEY WORD WORDX WORDY REL (,x) (),y (WORD)
  12.  *   0     1    2     3     4    5    6       7     8    9   10   11    12
  13.  *
  14.  *  0,x 0,y BIT BITBRA
  15.  *   13  14  15   16
  16.  */
  17.  
  18. MNE Mne6803[] = {
  19.     { NULL, v_mnemonic, "aba", 0,   AF_IMP,
  20.     { 0x1B }},
  21.     { NULL, v_mnemonic, "abx", 0,   AF_IMP,
  22.     { 0x3A }},
  23.     { NULL, v_mnemonic, "adca", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  24.     { 0x89, 0x99, 0xA9, 0xB9 }},
  25.     { NULL, v_mnemonic, "adcb", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  26.     { 0xC9, 0xD9, 0xE9, 0xF9 }},
  27.     { NULL, v_mnemonic, "adda", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  28.     { 0x8B, 0x9B, 0xAB, 0xBB }},
  29.     { NULL, v_mnemonic, "addb", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  30.     { 0xCB, 0xDB, 0xEB, 0xFB }},
  31.     { NULL, v_mnemonic, "addd", 0,  AF_IMM16|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  32.     { 0xC3, 0xD3, 0xE3, 0xF3 }},
  33.     { NULL, v_mnemonic, "anda", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  34.     { 0x84, 0x94, 0xA4, 0xB4 }},
  35.     { NULL, v_mnemonic, "andb", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  36.     { 0xC4, 0xD4, 0xE4, 0xF4 }},
  37.     { NULL, v_mnemonic, "bita", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  38.     { 0x85, 0x95, 0xA5, 0xB5 }},
  39.     { NULL, v_mnemonic, "bitb", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  40.     { 0xC5, 0xD5, 0xE5, 0xF5 }},
  41.     { NULL, v_mnemonic, "bra", 0,   AF_REL, { 0x20 }},
  42.     { NULL, v_mnemonic, "brn", 0,   AF_REL, { 0x21 }},
  43.     { NULL, v_mnemonic, "bcc", 0,   AF_REL, { 0x24 }},
  44.     { NULL, v_mnemonic, "bhs", 0,   AF_REL, { 0x24 }},
  45.     { NULL, v_mnemonic, "bcs", 0,   AF_REL, { 0x25 }},
  46.     { NULL, v_mnemonic, "blo", 0,   AF_REL, { 0x25 }},
  47.     { NULL, v_mnemonic, "beq", 0,   AF_REL, { 0x27 }},
  48.     { NULL, v_mnemonic, "bge", 0,   AF_REL, { 0x2C }},
  49.     { NULL, v_mnemonic, "bgt", 0,   AF_REL, { 0x2E }},
  50.     { NULL, v_mnemonic, "bhi", 0,   AF_REL, { 0x22 }},
  51.     { NULL, v_mnemonic, "ble", 0,   AF_REL, { 0x2F }},
  52.     { NULL, v_mnemonic, "bls", 0,   AF_REL, { 0x23 }},
  53.     { NULL, v_mnemonic, "blt", 0,   AF_REL, { 0x2D }},
  54.     { NULL, v_mnemonic, "bmi", 0,   AF_REL, { 0x2B }},
  55.     { NULL, v_mnemonic, "bne", 0,   AF_REL, { 0x26 }},
  56.     { NULL, v_mnemonic, "bvc", 0,   AF_REL, { 0x28 }},
  57.     { NULL, v_mnemonic, "bvs", 0,   AF_REL, { 0x29 }},
  58.     { NULL, v_mnemonic, "bpl", 0,   AF_REL, { 0x2A }},
  59.     { NULL, v_mnemonic, "bsr", 0,   AF_REL, { 0x8D }},
  60.     { NULL, v_mnemonic, "clc", 0,   AF_IMP, { 0x0C }},
  61.     { NULL, v_mnemonic, "cli", 0,   AF_IMP, { 0x0E }},
  62.     { NULL, v_mnemonic, "clv", 0,   AF_IMP, { 0x0A }},
  63.     { NULL, v_mnemonic, "sec", 0,   AF_IMP, { 0x0D }},
  64.     { NULL, v_mnemonic, "sei", 0,   AF_IMP, { 0x0F }},
  65.     { NULL, v_mnemonic, "sev", 0,   AF_IMP, { 0x0B }},
  66.     { NULL, v_mnemonic, "tap", 0,   AF_IMP, { 0x06 }},
  67.     { NULL, v_mnemonic, "tpa", 0,   AF_IMP, { 0x07 }},
  68.     { NULL, v_mnemonic, "clr", 0,   AF_BYTEADRX|AF_WORDADR,
  69.     { 0x6F, 0x7F }},
  70.     { NULL, v_mnemonic, "clra", 0,  AF_IMP, { 0x4F }},
  71.     { NULL, v_mnemonic, "clrb", 0,  AF_IMP, { 0x5F }},
  72.     { NULL, v_mnemonic, "cmpa", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  73.     { 0x81, 0x91, 0xA1, 0xB1 }},
  74.     { NULL, v_mnemonic, "cmpb", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  75.     { 0xC1, 0xD1, 0xE1, 0xF1 }},
  76.     { NULL, v_mnemonic, "cba", 0,   AF_IMP, { 0x11 }},
  77.     { NULL, v_mnemonic, "com", 0,   AF_BYTEADRX|AF_WORDADR,
  78.     { 0x63, 0x73 }},
  79.     { NULL, v_mnemonic, "coma", 0,  AF_IMP, { 0x43 }},
  80.     { NULL, v_mnemonic, "comb", 0,  AF_IMP, { 0x53 }},
  81.     { NULL, v_mnemonic, "neg", 0,   AF_BYTEADRX|AF_WORDADR,
  82.     { 0x60, 0x70 }},
  83.     { NULL, v_mnemonic, "nega", 0,  AF_IMP, { 0x40 }},
  84.     { NULL, v_mnemonic, "negb", 0,  AF_IMP, { 0x50 }},
  85.     { NULL, v_mnemonic, "daa", 0,   AF_IMP, { 0x19 }},
  86.     { NULL, v_mnemonic, "dec", 0,   AF_BYTEADRX|AF_WORDADR,
  87.     { 0x6A, 0x7A }},
  88.     { NULL, v_mnemonic, "deca", 0,  AF_IMP, { 0x4A }},
  89.     { NULL, v_mnemonic, "decb", 0,  AF_IMP, { 0x5A }},
  90.     { NULL, v_mnemonic, "eora", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  91.     { 0x88, 0x98, 0xA8, 0xB8 }},
  92.     { NULL, v_mnemonic, "eorb", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  93.     { 0xC8, 0xD8, 0xE8, 0xF8 }},
  94.     { NULL, v_mnemonic, "inc", 0,   AF_BYTEADRX|AF_WORDADR,
  95.     { 0x6C, 0x7C }},
  96.     { NULL, v_mnemonic, "inca", 0,  AF_IMP, { 0x4C }},
  97.     { NULL, v_mnemonic, "incb", 0,  AF_IMP, { 0x5C }},
  98.     { NULL, v_mnemonic, "jmp",  0,  AF_BYTEADRX|AF_WORDADR,
  99.     { 0x6E, 0x7E }},
  100.     { NULL, v_mnemonic, "jsr",  0,  AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  101.     { 0x9D, 0xAD, 0xBD }},
  102.     { NULL, v_mnemonic, "ldaa", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  103.     { 0x86, 0x96, 0xA6, 0xB6 }},
  104.     { NULL, v_mnemonic, "ldab", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  105.     { 0xC6, 0xD6, 0xE6, 0xF6 }},
  106.     { NULL, v_mnemonic, "ldd", 0,   AF_IMM16|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  107.     { 0xCC, 0xDC, 0xEC, 0xFC }},
  108.     { NULL, v_mnemonic, "mul", 0,   AF_IMP, { 0x3D }},
  109.     { NULL, v_mnemonic, "nop", 0,   AF_IMP, { 0x01 }},
  110.     { NULL, v_mnemonic, "oraa",0,   AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  111.     { 0x8A, 0x9A, 0xAA, 0xBA }},
  112.     { NULL, v_mnemonic, "orab", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  113.     { 0xCA, 0xDA, 0xEA, 0xFA }},
  114.     { NULL, v_mnemonic, "psha", 0,  AF_IMP, { 0x36 }},
  115.     { NULL, v_mnemonic, "pshb", 0,  AF_IMP, { 0x37 }},
  116.     { NULL, v_mnemonic, "pshx", 0,  AF_IMP, { 0x3C }},
  117.     { NULL, v_mnemonic, "pulx", 0,  AF_IMP, { 0x38 }},
  118.     { NULL, v_mnemonic, "pula", 0,  AF_IMP, { 0x32 }},
  119.     { NULL, v_mnemonic, "pulb", 0,  AF_IMP, { 0x33 }},
  120.     { NULL, v_mnemonic, "rol", 0,   AF_BYTEADRX|AF_WORDADR,
  121.     { 0x69, 0x79 }},
  122.     { NULL, v_mnemonic, "rola", 0,  AF_IMP, { 0x49 }},
  123.     { NULL, v_mnemonic, "rolb", 0,  AF_IMP, { 0x59 }},
  124.     { NULL, v_mnemonic, "ror", 0,   AF_BYTEADRX|AF_WORDADR,
  125.     { 0x66, 0x76 }},
  126.     { NULL, v_mnemonic, "rora", 0,  AF_IMP, { 0x46 }},
  127.     { NULL, v_mnemonic, "rorb", 0,  AF_IMP, { 0x56 }},
  128.     { NULL, v_mnemonic, "rti", 0,   AF_IMP, { 0x3B }},
  129.     { NULL, v_mnemonic, "rts", 0,   AF_IMP, { 0x39 }},
  130.     { NULL, v_mnemonic, "swi", 0,   AF_IMP, { 0x3F }},
  131.     { NULL, v_mnemonic, "wai", 0,   AF_IMP, { 0x3E }},
  132.     { NULL, v_mnemonic, "asl", 0,   AF_BYTEADRX|AF_WORDADR,
  133.     { 0x68, 0x78 }},
  134.     { NULL, v_mnemonic, "lsl", 0,   AF_BYTEADRX|AF_WORDADR,
  135.     { 0x68, 0x78 }},
  136.     { NULL, v_mnemonic, "asla", 0,  AF_IMP, { 0x48 }},
  137.     { NULL, v_mnemonic, "aslb", 0,  AF_IMP, { 0x58 }},
  138.     { NULL, v_mnemonic, "asld", 0,  AF_IMP, { 0x05 }},
  139.     { NULL, v_mnemonic, "lsla", 0,  AF_IMP, { 0x48 }},  /* same thing */
  140.     { NULL, v_mnemonic, "lslb", 0,  AF_IMP, { 0x58 }},
  141.     { NULL, v_mnemonic, "lsld", 0,  AF_IMP, { 0x05 }},
  142.     { NULL, v_mnemonic, "asr", 0,   AF_BYTEADRX|AF_WORDADR,
  143.     { 0x67, 0x77 }},
  144.     { NULL, v_mnemonic, "asra", 0,  AF_IMP, { 0x47 }},
  145.     { NULL, v_mnemonic, "asrb", 0,  AF_IMP, { 0x57 }},
  146.     { NULL, v_mnemonic, "cpx",  0,  AF_IMM16|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  147.     { 0x8C, 0x9C, 0xAC, 0xBC }},
  148.     { NULL, v_mnemonic, "dex", 0,   AF_IMP, { 0x09 }},
  149.     { NULL, v_mnemonic, "des", 0,   AF_IMP, { 0x34 }},
  150.     { NULL, v_mnemonic, "inx", 0,   AF_IMP, { 0x08 }},
  151.     { NULL, v_mnemonic, "ins", 0,   AF_IMP, { 0x31 }},
  152.     { NULL, v_mnemonic, "ldx", 0,   AF_IMM16|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  153.     { 0xCE, 0xDE, 0xEE, 0xFE }},
  154.     { NULL, v_mnemonic, "lds", 0,   AF_IMM16|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  155.     { 0x8E, 0x9E, 0xAE, 0xBE }},
  156.     { NULL, v_mnemonic, "lsr", 0,   AF_BYTEADRX|AF_WORDADR,
  157.     { 0x64, 0x74 }},
  158.     { NULL, v_mnemonic, "lsra", 0,  AF_IMP, { 0x44 }},
  159.     { NULL, v_mnemonic, "lsrb", 0,  AF_IMP, { 0x54 }},
  160.     { NULL, v_mnemonic, "lsrd", 0,  AF_IMP, { 0x04 }},
  161.     { NULL, v_mnemonic, "staa", 0,  AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  162.     { 0x97, 0xA7, 0xB7 }},
  163.     { NULL, v_mnemonic, "stab", 0,  AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  164.     { 0xD7, 0xE7, 0xF7 }},
  165.     { NULL, v_mnemonic, "std", 0,   AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  166.     { 0xDD, 0xED, 0xFD }},
  167.     { NULL, v_mnemonic, "sts", 0,   AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  168.     { 0x9F, 0xAF, 0xBF }},
  169.     { NULL, v_mnemonic, "stx", 0,   AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  170.     { 0xDF, 0xEF, 0xFF }},
  171.     { NULL, v_mnemonic, "suba", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  172.     { 0x80, 0x90, 0xA0, 0xB0 }},
  173.     { NULL, v_mnemonic, "subb", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  174.     { 0xC0, 0xD0, 0xE0, 0xF0 }},
  175.     { NULL, v_mnemonic, "subd", 0,  AF_IMM16|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  176.     { 0x83, 0x93, 0xA3, 0xB3 }},
  177.     { NULL, v_mnemonic, "sba", 0,   AF_IMP, { 0x10 }},
  178.     { NULL, v_mnemonic, "sbca", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  179.     { 0x82, 0x92, 0xA2, 0xB2 }},
  180.     { NULL, v_mnemonic, "sbcb", 0,  AF_IMM8|AF_BYTEADR|AF_BYTEADRX|AF_WORDADR,
  181.     { 0xC2, 0xD2, 0xE2, 0xF2 }},
  182.     { NULL, v_mnemonic, "tab", 0,   AF_IMP, { 0x16 }},
  183.     { NULL, v_mnemonic, "tba", 0,   AF_IMP, { 0x17 }},
  184.     { NULL, v_mnemonic, "tst", 0,   AF_BYTEADRX|AF_WORDADR,
  185.     { 0x6D, 0x7D }},
  186.     { NULL, v_mnemonic, "tsta", 0,  AF_IMP, { 0x4D }},
  187.     { NULL, v_mnemonic, "tstb", 0,  AF_IMP, { 0x5D }},
  188.     { NULL, v_mnemonic, "tsx", 0,   AF_IMP, { 0x30 }},
  189.     { NULL, v_mnemonic, "txs", 0,   AF_IMP, { 0x35 }},
  190.     NULL
  191. };
  192.  
  193. MNE MneHD6303[] = {
  194.     { NULL, v_mnemonic, "slp", 0,   AF_IMP, { 0x1A }},
  195.     { NULL, v_mnemonic, "aim", 0,   AF_BYTEADR|AF_BYTEADRX,
  196.     { 0x71, 0x61 }},
  197.     { NULL, v_mnemonic, "oim", 0,   AF_BYTEADR|AF_BYTEADRX,
  198.     { 0x72, 0x62 }},
  199.     { NULL, v_mnemonic, "eim", 0,   AF_BYTEADR|AF_BYTEADRX,
  200.     { 0x75, 0x65 }},
  201.     { NULL, v_mnemonic, "tim", 0,   AF_BYTEADR|AF_BYTEADRX,
  202.     { 0x7B, 0x6B }},
  203.     { NULL, v_mnemonic, "xgdx", 0,  AF_IMP, { 0x18 }},
  204.     NULL
  205. };
  206.  
  207.  
  208.