/* Copyright 1996 Tommy Johnson
**
** Permission is hereby granted to copy, reproduce, redistribute or otherwise
** use this software as long as: there is no monetary profit gained
** specifically from the use or reproduction of this software, it is not
** sold, rented, traded or otherwise marketed, and this copyright notice is
** included prominently in any copy made.
**
** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. ANY USE OF THIS
** SOFTWARE IS AT THE USER'S OWN RISK.
*/

#include"table.h"

struct inst table[] = {
{0x00, 0xFF, DIR2,"brset"},
{0x01, 0xFF, DIR2,"brclr"},
{0x02, 0xFF, DIR2,"brset"},
{0x03, 0xFF, DIR2,"brclr"},
{0x04, 0xFF, DIR2,"brset"},
{0x05, 0xFF, DIR2,"brclr"},
{0x06, 0xFF, DIR2,"brset"},
{0x07, 0xFF, DIR2,"brclr"},
{0x08, 0xFF, DIR2,"brset"},
{0x09, 0xFF, DIR2,"brclr"},
{0x0A, 0xFF, DIR2,"brset"},
{0x0B, 0xFF, DIR2,"brclr"},
{0x0C, 0xFF, DIR2,"brset"},
{0x0D, 0xFF, DIR2,"brclr"},
{0x0E, 0xFF, DIR2,"brset"},
{0x0F, 0xFF, DIR2,"brclr"},

{0x10, 0xFF, DIR3,"bset"},
{0x11, 0xFF, DIR3,"bclr"},
{0x12, 0xFF, DIR3,"bset"},
{0x13, 0xFF, DIR3,"bclr"},
{0x14, 0xFF, DIR3,"bset"},
{0x15, 0xFF, DIR3,"bclr"},
{0x16, 0xFF, DIR3,"bset"},
{0x17, 0xFF, DIR3,"bclr"},
{0x18, 0xFF, DIR3,"bset"},
{0x19, 0xFF, DIR3,"bclr"},
{0x1A, 0xFF, DIR3,"bset"},
{0x1B, 0xFF, DIR3,"bclr"},
{0x1C, 0xFF, DIR3,"bset"},
{0x1D, 0xFF, DIR3,"bclr"},
{0x1E, 0xFF, DIR3,"bset"},
{0x1F, 0xFF, DIR3,"bclr"},
{0x20, 0xFF, REL,"bra"},
{0x21, 0xFF, REL,"brn"},
{0x22, 0xFF, REL,"bhi"},
{0x23, 0xFF, REL,"bls"},
{0x24, 0xFF, REL,"bcc"},
{0x25, 0xFF, REL,"bcs"},
{0x25, 0xFF, REL,"blo"},     /* note the duplicate opcode */
{0x26, 0xFF, REL,"bne"},
{0x27, 0xFF, REL,"beq"},
{0x28, 0xFF, REL,"bhcc"},
{0x29, 0xFF, REL,"bhcs"},
{0x2A, 0xFF, REL,"bpl"},
{0x2B, 0xFF, REL,"bmi"},
{0x2C, 0xFF, REL,"bmc"},
{0x2D, 0xFF, REL,"bms"},
{0x2E, 0xFF, REL,"bil"},
{0x2F, 0xFF, REL,"bih"},
{0x30, 0xFF, DIR,"neg"},
{0x33, 0xFF, DIR,"com"},
{0x34, 0xFF, DIR,"lsr"},
{0x36, 0xFF, DIR,"ror"},
{0x37, 0xFF, DIR,"asr"},
{0x38, 0xFF, DIR,"asl"},
{0x38, 0xFF, DIR,"lsl"},    /* duplicate opcode again */
{0x39, 0xFF, DIR,"rol"},
{0x3A, 0xFF, DIR,"dec"},
{0x3C, 0xFF, DIR,"inc"},
{0x3D, 0xFF, DIR,"tst"},
{0x3F, 0xFF, DIR,"clr"},
{0x40, 0xFF, INH,"nega"},
{0x42, 0xFF, INH,"mul"},
{0x43, 0xFF, INH,"coma"},
{0x44, 0xFF, INH,"lsra"},
{0x46, 0xFF, INH,"rora"},
{0x47, 0xFF, INH,"asra"},
{0x48, 0xFF, INH,"asla"},
{0x48, 0xFF, INH,"lsla"},  /* duplicate opcode again */
{0x49, 0xFF, INH,"rola"},
{0x4A, 0xFF, INH,"deca"},
{0x4C, 0xFF, INH,"inca"},
{0x4D, 0xFF, INH,"tsta"},
{0x4F, 0xFF, INH,"clra"},
{0x50, 0xFF, INH,"negx"},
{0x53, 0xFF, INH,"comx"},
{0x54, 0xFF, INH,"lsrx"},
{0x56, 0xFF, INH,"rorx"},
{0x57, 0xFF, INH,"asrx"},
{0x58, 0xFF, INH,"aslx"},
{0x58, 0xFF, INH,"lslx"},  /* duplicate opcode again */
{0x59, 0xFF, INH,"rolx"},
{0x5A, 0xFF, INH,"decx"},
{0x5C, 0xFF, INH,"incx"},
{0x5D, 0xFF, INH,"tstx"},
{0x5F, 0xFF, INH,"clrx"},
{0x60, 0xFF, IX1,"neg"},
{0x63, 0xFF, IX1,"com"},
{0x64, 0xFF, IX1,"lsr"},
{0x66, 0xFF, IX1,"ror"},
{0x67, 0xFF, IX1,"asr"},
{0x68, 0xFF, IX1,"asl"},  /* duplicate opcode again */
{0x68, 0xFF, IX1,"lsl"},
{0x69, 0xFF, IX1,"rol"},
{0x6A, 0xFF, IX1,"dec"},
{0x6C, 0xFF, IX1,"inc"},
{0x6D, 0xFF, IX1,"tst"},
{0x6F, 0xFF, IX1,"clr"},
{0x70, 0xFF, IX,"neg"},
{0x73, 0xFF, IX,"com"},
{0x74, 0xFF, IX,"lsr"},
{0x76, 0xFF, IX,"ror"},
{0x77, 0xFF, IX,"asr"},
{0x78, 0xFF, IX,"asl"},
{0x78, 0xFF, IX,"lsl"},  /* duplicate opcode again */
{0x79, 0xFF, IX,"rol"},
{0x7A, 0xFF, IX,"dec"},
{0x7C, 0xFF, IX,"inc"},
{0x7D, 0xFF, IX,"tst"},
{0x7F, 0xFF, IX,"clr"},
{0x80, 0xFF, INH,"rti"},
{0x81, 0xFF, INH,"rts"},
{0x83, 0xFF, INH,"swi"},
{0x8E, 0xFF, INH,"stop"},
{0x8F, 0xFF, INH,"wait"},
{0x97, 0xFF, INH,"tax"},
{0x98, 0xFF, INH,"clc"},
{0x99, 0xFF, INH,"sec"},
{0x9A, 0xFF, INH,"cli"},
{0x9B, 0xFF, INH,"sei"},
{0x9C, 0xFF, INH,"rsp"},
{0x9D, 0xFF, INH,"nop"},
{0x9F, 0xFF, INH,"txa"},
{0xA0, 0xFF, IMM,"sub"},
{0xA1, 0xFF, IMM,"cmp"},
{0xA2, 0xFF, IMM,"sbc"},
{0xA3, 0xFF, IMM,"cpx"},
{0xA4, 0xFF, IMM,"and"},
{0xA5, 0xFF, IMM,"bit"},
{0xA6, 0xFF, IMM,"lda"},

{0xA8, 0xFF, IMM,"eor"},
{0xA9, 0xFF, IMM,"adc"},
{0xAA, 0xFF, IMM,"ora"},
{0xAB, 0xFF, IMM,"add"},

{0xAD, 0xFF, REL,"bsr"},
{0xAE, 0xFF, IMM,"ldx"},

{0xB0, 0xFF, DIR,"sub"},
{0xB1, 0xFF, DIR,"cmp"},
{0xB2, 0xFF, DIR,"sbc"},
{0xB3, 0xFF, DIR,"cpx"},
{0xB4, 0xFF, DIR,"and"},
{0xB5, 0xFF, DIR,"bit"},
{0xB6, 0xFF, DIR,"lda"},
{0xB7, 0xFF, DIR,"sta"},
{0xB8, 0xFF, DIR,"eor"},
{0xB9, 0xFF, DIR,"adc"},
{0xBA, 0xFF, DIR,"ora"},
{0xBB, 0xFF, DIR,"add"},
{0xBC, 0xFF, DIR,"jmp"},
{0xBD, 0xFF, DIR,"jsr"},
{0xBE, 0xFF, DIR,"ldx"},
{0xBF, 0xFF, DIR,"stx"},
{0xC0, 0xFF, EXT,"sub"},
{0xC1, 0xFF, EXT,"cmp"},
{0xC2, 0xFF, EXT,"sbc"},
{0xC3, 0xFF, EXT,"cpx"},
{0xC4, 0xFF, EXT,"and"},
{0xC5, 0xFF, EXT,"bit"},
{0xC6, 0xFF, EXT,"lda"},
{0xC7, 0xFF, EXT,"sta"},
{0xC8, 0xFF, EXT,"eor"},
{0xC9, 0xFF, EXT,"adc"},
{0xCA, 0xFF, EXT,"ora"},
{0xCB, 0xFF, EXT,"add"},
{0xCC, 0xFF, EXT,"jmp"},
{0xCD, 0xFF, EXT,"jsr"},
{0xCE, 0xFF, EXT,"ldx"},
{0xCF, 0xFF, EXT,"stx"},
{0xD0, 0xFF, IX2,"sub"},
{0xD1, 0xFF, IX2,"cmp"},
{0xD2, 0xFF, IX2,"sbc"},
{0xD3, 0xFF, IX2,"cpx"},
{0xD4, 0xFF, IX2,"and"},
{0xD5, 0xFF, IX2,"bit"},
{0xD6, 0xFF, IX2,"lda"},
{0xD7, 0xFF, IX2,"sta"},
{0xD8, 0xFF, IX2,"eor"},
{0xD9, 0xFF, IX2,"adc"},
{0xDA, 0xFF, IX2,"ora"},
{0xDB, 0xFF, IX2,"add"},
{0xDC, 0xFF, IX2,"jmp"},
{0xDD, 0xFF, IX2,"jsr"},
{0xDE, 0xFF, IX2,"ldx"},
{0xDF, 0xFF, IX2,"stx"},
{0xE0, 0xFF, IX1,"sub"},
{0xE1, 0xFF, IX1,"cmp"},
{0xE2, 0xFF, IX1,"sbc"},
{0xE3, 0xFF, IX1,"cpx"},
{0xE4, 0xFF, IX1,"and"},
{0xE5, 0xFF, IX1,"bit"},
{0xE6, 0xFF, IX1,"lda"},
{0xE7, 0xFF, IX1,"sta"},
{0xE8, 0xFF, IX1,"eor"},
{0xE9, 0xFF, IX1,"adc"},
{0xEA, 0xFF, IX1,"ora"},
{0xEB, 0xFF, IX1,"add"},
{0xEC, 0xFF, IX1,"jmp"},
{0xED, 0xFF, IX1,"jsr"},
{0xEE, 0xFF, IX1,"ldx"},
{0xEF, 0xFF, IX1,"stx"},
{0xF0, 0xFF, IX,"sub"},
{0xF1, 0xFF, IX,"cmp"},
{0xF2, 0xFF, IX,"sbc"},
{0xF3, 0xFF, IX,"cpx"},
{0xF4, 0xFF, IX,"and"},
{0xF5, 0xFF, IX,"bit"},
{0xF6, 0xFF, IX,"lda"},
{0xF7, 0xFF, IX,"sta"},
{0xF8, 0xFF, IX,"eor"},
{0xF9, 0xFF, IX,"adc"},
{0xFA, 0xFF, IX,"ora"},
{0xFB, 0xFF, IX,"add"},
{0xFC, 0xFF, IX,"jmp"},
{0xFD, 0xFF, IX,"jsr"},
{0xFE, 0xFF, IX,"ldx"},
{0xFF, 0xFF, IX,"stx"},
};
