ack/mach/6805/as/mach3.c
1994-06-24 14:02:31 +00:00

128 lines
2.7 KiB
C

/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
#define RCSID3 "$Id$"
/*
* Motorola 6805 keywords
*/
/*
* The X register
*/
0, X, 0, "x",
/*
* Bit test and branch
*/
0, BBRANCH, 0x00, "brset",
0, BBRANCH, 0x01, "brclr",
/*
* Bit manipulation
*/
0, BIT, 0x10, "bset",
0, BIT, 0x11, "bclr",
/*
* Branches
*/
0, BRANCH, 0x20, "bra",
0, BRANCH, 0x21, "brn",
0, BRANCH, 0x22, "bhi",
0, BRANCH, 0x23, "bls",
0, BRANCH, 0x24, "bcc",
0, BRANCH, 0x25, "bcs",
0, BRANCH, 0x26, "bne",
0, BRANCH, 0x27, "beq",
0, BRANCH, 0x28, "bhcc",
0, BRANCH, 0x29, "bhcs",
0, BRANCH, 0x2a, "bpl",
0, BRANCH, 0x2b, "bmi",
0, BRANCH, 0x2c, "bmc",
0, BRANCH, 0x2d, "bms",
0, BRANCH, 0x2e, "bil",
0, BRANCH, 0x2f, "bih",
/*
* Read modify write on anything but registers
*/
0, RMR, 0x30, "neg",
0, RMR, 0x33, "com",
0, RMR, 0x34, "lsr",
0, RMR, 0x36, "ror",
0, RMR, 0x36, "asr",
0, RMR, 0x38, "lsl",
0, RMR, 0x39, "rol",
0, RMR, 0x3a, "dec",
0, RMR, 0x3c, "inc",
0, RMR, 0x3d, "tst",
0, RMR, 0x3f, "clr",
/*
* Implied stuff
*/
0, NOARG, 0x80, "rti",
0, NOARG, 0x81, "rts",
0, NOARG, 0x83, "swi",
0, NOARG, 0x97, "tax",
0, NOARG, 0x98, "clc",
0, NOARG, 0x99, "sec",
0, NOARG, 0x9a, "cli",
0, NOARG, 0x9b, "sei",
0, NOARG, 0x9c, "rsp",
0, NOARG, 0x9d, "nop",
0, NOARG, 0x9f, "txa",
/*
* Register memory.
* Warning. Some imediate opcodes excluded in parser actions.
*/
0, RM, 0xa0, "sub",
0, RM, 0xa1, "cmp",
0, RM, 0xa2, "sbc",
0, RM, 0xa3, "cpx",
0, RM, 0xa4, "and",
0, RM, 0xa5, "bit",
0, RM, 0xa6, "lda",
0, RM, 0xa7, "sta",
0, RM, 0xa8, "eor",
0, RM, 0xa9, "adc",
0, RM, 0xaa, "ora",
0, RM, 0xab, "add",
0, RM, 0xac, "jmp",
0, BRANCH, 0xad, "bsr",
0, RM, 0xad, "jsr",
0, RM, 0xae, "ldx",
0, RM, 0xaf, "stx",
/*
* Branch synonyms
*/
0, BRANCH, 0x24, "bhs", /* bcc */
0, BRANCH, 0x25, "blo", /* bcs */
/*
* Brain damaged concatenated opcodes for RMR on registers
*/
0, NOARG, 0x40, "nega",
0, NOARG, 0x43, "coma",
0, NOARG, 0x44, "lsra",
0, NOARG, 0x46, "rora",
0, NOARG, 0x47, "asra",
0, NOARG, 0x48, "lsla",
0, NOARG, 0x49, "rola",
0, NOARG, 0x4a, "deca",
0, NOARG, 0x4c, "inca",
0, NOARG, 0x4d, "tsta",
0, NOARG, 0x4f, "clra",
0, NOARG, 0x50, "negx",
0, NOARG, 0x53, "comx",
0, NOARG, 0x54, "lsrx",
0, NOARG, 0x56, "rorx",
0, NOARG, 0x57, "asrx",
0, NOARG, 0x58, "lslx",
0, NOARG, 0x59, "rolx",
0, NOARG, 0x5a, "decx",
0, NOARG, 0x5c, "incx",
0, NOARG, 0x5d, "tstx",
0, NOARG, 0x5f, "clrx",
/*
* CMOS support
*/
0, CMOS, 0, ".cmos",
0, CMOS, 0x8e, "stop",
0, CMOS, 0x8f, "wait",