Fix several compiler warnings by adding braces

This commit is contained in:
carl 2019-05-14 23:21:19 +08:00
parent cb65e6426c
commit 9bb69bbb98
19 changed files with 4175 additions and 4175 deletions

View file

@ -8,66 +8,66 @@
* Mostek 6500 keywords * Mostek 6500 keywords
*/ */
0, EXTENSION, 0, ".l", {0, EXTENSION, 0, ".l"},
0, EXTENSION, 8, ".h", {0, EXTENSION, 8, ".h"},
0, A, 0, "a", {0, A, 0, "a"},
0, X, 0, "x", {0, X, 0, "x"},
0, Y, 0, "y", {0, Y, 0, "y"},
0, ADDOP, 0x60, "adc", {0, ADDOP, 0x60, "adc"},
0, ADDOP, 0x20, "and", {0, ADDOP, 0x20, "and"},
0, ADDOP, 0xC0, "cmp", {0, ADDOP, 0xC0, "cmp"},
0, ADDOP, 0x40, "eor", {0, ADDOP, 0x40, "eor"},
0, ADDOP, 0xA0, "lda", {0, ADDOP, 0xA0, "lda"},
0, ADDOP, 0x00, "ora", {0, ADDOP, 0x00, "ora"},
0, ADDOP, 0xE0, "sbc", {0, ADDOP, 0xE0, "sbc"},
0, ADDOP, 0x80, "sta", {0, ADDOP, 0x80, "sta"},
0, ROLOP, 0x00, "asl", {0, ROLOP, 0x00, "asl"},
0, ROLOP, 0x40, "lsr", {0, ROLOP, 0x40, "lsr"},
0, ROLOP, 0x20, "rol", {0, ROLOP, 0x20, "rol"},
0, ROLOP, 0x60, "ror", {0, ROLOP, 0x60, "ror"},
0, BRAOP, 0x90, "bcc", {0, BRAOP, 0x90, "bcc"},
0, BRAOP, 0xB0, "bcs", {0, BRAOP, 0xB0, "bcs"},
0, BRAOP, 0xF0, "beq", {0, BRAOP, 0xF0, "beq"},
0, BRAOP, 0x30, "bmi", {0, BRAOP, 0x30, "bmi"},
0, BRAOP, 0xD0, "bne", {0, BRAOP, 0xD0, "bne"},
0, BRAOP, 0x10, "bpl", {0, BRAOP, 0x10, "bpl"},
0, BRAOP, 0x50, "bvc", {0, BRAOP, 0x50, "bvc"},
0, BRAOP, 0x70, "bvs", {0, BRAOP, 0x70, "bvs"},
0, BITOP, 0x24, "bit", {0, BITOP, 0x24, "bit"},
0, NOPOP, 0x00, "brk", {0, NOPOP, 0x00, "brk"},
0, NOPOP, 0x18, "clc", {0, NOPOP, 0x18, "clc"},
0, NOPOP, 0xD8, "cld", {0, NOPOP, 0xD8, "cld"},
0, NOPOP, 0x58, "cli", {0, NOPOP, 0x58, "cli"},
0, NOPOP, 0xB8, "clv", {0, NOPOP, 0xB8, "clv"},
0, NOPOP, 0xCA, "dex", {0, NOPOP, 0xCA, "dex"},
0, NOPOP, 0x88, "dey", {0, NOPOP, 0x88, "dey"},
0, NOPOP, 0xE8, "inx", {0, NOPOP, 0xE8, "inx"},
0, NOPOP, 0xC8, "iny", {0, NOPOP, 0xC8, "iny"},
0, NOPOP, 0xEA, "nop", {0, NOPOP, 0xEA, "nop"},
0, NOPOP, 0x48, "pha", {0, NOPOP, 0x48, "pha"},
0, NOPOP, 0x08, "php", {0, NOPOP, 0x08, "php"},
0, NOPOP, 0x68, "pla", {0, NOPOP, 0x68, "pla"},
0, NOPOP, 0x28, "plp", {0, NOPOP, 0x28, "plp"},
0, NOPOP, 0x40, "rti", {0, NOPOP, 0x40, "rti"},
0, NOPOP, 0x60, "rts", {0, NOPOP, 0x60, "rts"},
0, NOPOP, 0x38, "sec", {0, NOPOP, 0x38, "sec"},
0, NOPOP, 0xF8, "sed", {0, NOPOP, 0xF8, "sed"},
0, NOPOP, 0x78, "sei", {0, NOPOP, 0x78, "sei"},
0, NOPOP, 0xAA, "tax", {0, NOPOP, 0xAA, "tax"},
0, NOPOP, 0xA8, "tay", {0, NOPOP, 0xA8, "tay"},
0, NOPOP, 0x98, "tya", {0, NOPOP, 0x98, "tya"},
0, NOPOP, 0xBA, "tsx", {0, NOPOP, 0xBA, "tsx"},
0, NOPOP, 0x8A, "txa", {0, NOPOP, 0x8A, "txa"},
0, NOPOP, 0x9A, "txs", {0, NOPOP, 0x9A, "txs"},
0, CPXOP, 0xE0, "cpx", {0, CPXOP, 0xE0, "cpx"},
0, CPXOP, 0xC0, "cpy", {0, CPXOP, 0xC0, "cpy"},
0, INCOP, 0xC0, "dec", {0, INCOP, 0xC0, "dec"},
0, INCOP, 0xE0, "inc", {0, INCOP, 0xE0, "inc"},
0, JMPOP, 0x4C, "jmp", {0, JMPOP, 0x4C, "jmp"},
0, JSROP, 0x20, "jsr", {0, JSROP, 0x20, "jsr"},
0, LDXOP, 0xA0, "ldx", {0, LDXOP, 0xA0, "ldx"},
0, LDYOP, 0xA0, "ldy", {0, LDYOP, 0xA0, "ldy"},
0, STXOP, 0x80, "stx", {0, STXOP, 0x80, "stx"},
0, STYOP, 0x80, "sty", {0, STYOP, 0x80, "sty"},
0, PSEU, 0x1860, "add", {0, PSEU, 0x1860, "add"},
0, PSEU, 0x38E0, "sub", {0, PSEU, 0x38E0, "sub"},

View file

@ -7,112 +7,112 @@
/* /*
* Motorola 6800 keywords * Motorola 6800 keywords
*/ */
0, X, 0, "x", {0, X, 0, "x"},
0, BRANCH, 0x20, "bra", {0, BRANCH, 0x20, "bra"},
0, BRANCH, 0x22, "bhi", {0, BRANCH, 0x22, "bhi"},
0, BRANCH, 0x23, "bls", {0, BRANCH, 0x23, "bls"},
0, BRANCH, 0x24, "bhs", /* bcc */ {0, BRANCH, 0x24, "bhs"}, /* bcc */
0, BRANCH, 0x24, "bcc", {0, BRANCH, 0x24, "bcc"},
0, BRANCH, 0x25, "blo", /* bcs */ {0, BRANCH, 0x25, "blo"}, /* bcs */
0, BRANCH, 0x25, "bcs", {0, BRANCH, 0x25, "bcs"},
0, BRANCH, 0x26, "bne", {0, BRANCH, 0x26, "bne"},
0, BRANCH, 0x27, "beq", {0, BRANCH, 0x27, "beq"},
0, BRANCH, 0x28, "bvc", {0, BRANCH, 0x28, "bvc"},
0, BRANCH, 0x29, "bvs", {0, BRANCH, 0x29, "bvs"},
0, BRANCH, 0x2A, "bpl", {0, BRANCH, 0x2A, "bpl"},
0, BRANCH, 0x2B, "bmi", {0, BRANCH, 0x2B, "bmi"},
0, BRANCH, 0x2C, "bge", {0, BRANCH, 0x2C, "bge"},
0, BRANCH, 0x2D, "blt", {0, BRANCH, 0x2D, "blt"},
0, BRANCH, 0x2E, "bgt", {0, BRANCH, 0x2E, "bgt"},
0, BRANCH, 0x2F, "ble", {0, BRANCH, 0x2F, "ble"},
0, BRANCH, 0x8D, "bsr", {0, BRANCH, 0x8D, "bsr"},
0, XOP, 0xA0, "suba", {0, XOP, 0xA0, "suba"},
0, XOP, 0xA1, "cmpa", {0, XOP, 0xA1, "cmpa"},
0, XOP, 0xA2, "sbca", {0, XOP, 0xA2, "sbca"},
0, XOP, 0xA4, "anda", {0, XOP, 0xA4, "anda"},
0, XOP, 0xA5, "bita", {0, XOP, 0xA5, "bita"},
0, XOP, 0xA6, "ldaa", {0, XOP, 0xA6, "ldaa"},
0, XOP, 0xA8, "eora", {0, XOP, 0xA8, "eora"},
0, XOP, 0xA9, "adca", {0, XOP, 0xA9, "adca"},
0, XOP, 0xAA, "oraa", {0, XOP, 0xAA, "oraa"},
0, XOP, 0xAB, "adda", {0, XOP, 0xAB, "adda"},
0, XOP, 0xE0, "subb", {0, XOP, 0xE0, "subb"},
0, XOP, 0xE1, "cmpb", {0, XOP, 0xE1, "cmpb"},
0, XOP, 0xE2, "sbcb", {0, XOP, 0xE2, "sbcb"},
0, XOP, 0xE4, "andb", {0, XOP, 0xE4, "andb"},
0, XOP, 0xE5, "bitb", {0, XOP, 0xE5, "bitb"},
0, XOP, 0xE6, "ldab", {0, XOP, 0xE6, "ldab"},
0, XOP, 0xE8, "eorb", {0, XOP, 0xE8, "eorb"},
0, XOP, 0xE9, "adcb", {0, XOP, 0xE9, "adcb"},
0, XOP, 0xEA, "orab", {0, XOP, 0xEA, "orab"},
0, XOP, 0xEB, "addb", {0, XOP, 0xEB, "addb"},
0, AOP, 0x60, "neg", {0, AOP, 0x60, "neg"},
0, NOARG, 0x40, "nega", {0, NOARG, 0x40, "nega"},
0, NOARG, 0x50, "negb", {0, NOARG, 0x50, "negb"},
0, AOP, 0x63, "com", {0, AOP, 0x63, "com"},
0, NOARG, 0x43, "coma", {0, NOARG, 0x43, "coma"},
0, NOARG, 0x53, "comb", {0, NOARG, 0x53, "comb"},
0, AOP, 0x64, "lsr", {0, AOP, 0x64, "lsr"},
0, NOARG, 0x44, "lsra", {0, NOARG, 0x44, "lsra"},
0, NOARG, 0x54, "lsrb", {0, NOARG, 0x54, "lsrb"},
0, AOP, 0x66, "ror", {0, AOP, 0x66, "ror"},
0, NOARG, 0x46, "rora", {0, NOARG, 0x46, "rora"},
0, NOARG, 0x56, "rorb", {0, NOARG, 0x56, "rorb"},
0, AOP, 0x67, "asr", {0, AOP, 0x67, "asr"},
0, NOARG, 0x47, "asra", {0, NOARG, 0x47, "asra"},
0, NOARG, 0x57, "asrb", {0, NOARG, 0x57, "asrb"},
0, AOP, 0x68, "asl", {0, AOP, 0x68, "asl"},
0, NOARG, 0x48, "asla", {0, NOARG, 0x48, "asla"},
0, NOARG, 0x58, "aslb", {0, NOARG, 0x58, "aslb"},
0, AOP, 0x68, "lsl", {0, AOP, 0x68, "lsl"},
0, NOARG, 0x48, "lsla", {0, NOARG, 0x48, "lsla"},
0, NOARG, 0x58, "lslb", {0, NOARG, 0x58, "lslb"},
0, AOP, 0x69, "rol", {0, AOP, 0x69, "rol"},
0, NOARG, 0x49, "rola", {0, NOARG, 0x49, "rola"},
0, NOARG, 0x59, "rolb", {0, NOARG, 0x59, "rolb"},
0, AOP, 0x6A, "dec", {0, AOP, 0x6A, "dec"},
0, NOARG, 0x4A, "deca", {0, NOARG, 0x4A, "deca"},
0, NOARG, 0x5A, "decb", {0, NOARG, 0x5A, "decb"},
0, AOP, 0x6C, "inc", {0, AOP, 0x6C, "inc"},
0, NOARG, 0x4C, "inca", {0, NOARG, 0x4C, "inca"},
0, NOARG, 0x5C, "incb", {0, NOARG, 0x5C, "incb"},
0, AOP, 0x6D, "tst", {0, AOP, 0x6D, "tst"},
0, NOARG, 0x4D, "tsta", {0, NOARG, 0x4D, "tsta"},
0, NOARG, 0x5D, "tstb", {0, NOARG, 0x5D, "tstb"},
0, AOP, 0x6F, "clr", {0, AOP, 0x6F, "clr"},
0, NOARG, 0x4F, "clra", {0, NOARG, 0x4F, "clra"},
0, NOARG, 0x5F, "clrb", {0, NOARG, 0x5F, "clrb"},
0, XOP, 0x6E, "jmp", {0, XOP, 0x6E, "jmp"},
0, XOP, 0xAD, "jsr", {0, XOP, 0xAD, "jsr"},
0, XOP, 0xAC, "cpx", {0, XOP, 0xAC, "cpx"},
0, XOP, 0xAE, "ldx", {0, XOP, 0xAE, "ldx"},
0, XOP, 0xEE, "lds", {0, XOP, 0xEE, "lds"},
0, XOP, 0xA7, "sta", {0, XOP, 0xA7, "sta"},
0, XOP, 0xE7, "stb", {0, XOP, 0xE7, "stb"},
0, XOP, 0xAF, "stx", {0, XOP, 0xAF, "stx"},
0, XOP, 0xEF, "sts", {0, XOP, 0xEF, "sts"},
0, NOARG, 0x19, "daa", {0, NOARG, 0x19, "daa"},
0, NOARG, 0x01, "nop", {0, NOARG, 0x01, "nop"},
0, NOARG, 0x3B, "rti", {0, NOARG, 0x3B, "rti"},
0, NOARG, 0x39, "rts", {0, NOARG, 0x39, "rts"},
0, NOARG, 0x3F, "swi", {0, NOARG, 0x3F, "swi"},
0, NOARG, 0x0C, "clc", {0, NOARG, 0x0C, "clc"},
0, NOARG, 0x0D, "sec", {0, NOARG, 0x0D, "sec"},
0, NOARG, 0x0E, "cli", {0, NOARG, 0x0E, "cli"},
0, NOARG, 0x0F, "sei", {0, NOARG, 0x0F, "sei"},
0, NOARG, 0x0A, "clv", {0, NOARG, 0x0A, "clv"},
0, NOARG, 0x0B, "sev", {0, NOARG, 0x0B, "sev"},
0, NOARG, 0x3E, "wai", {0, NOARG, 0x3E, "wai"},
0, NOARG, 0x06, "tap", {0, NOARG, 0x06, "tap"},
0, NOARG, 0x07, "tpa", {0, NOARG, 0x07, "tpa"},
0, NOARG, 0x1B, "aba", {0, NOARG, 0x1B, "aba"},
0, NOARG, 0x11, "cba", {0, NOARG, 0x11, "cba"},
0, NOARG, 0x10, "sba", {0, NOARG, 0x10, "sba"},
0, NOARG, 0x16, "tab", {0, NOARG, 0x16, "tab"},
0, NOARG, 0x17, "tba", {0, NOARG, 0x17, "tba"},
0, NOARG, 0x09, "dex", {0, NOARG, 0x09, "dex"},
0, NOARG, 0x08, "inx", {0, NOARG, 0x08, "inx"},
0, NOARG, 0x34, "des", {0, NOARG, 0x34, "des"},
0, NOARG, 0x31, "ins", {0, NOARG, 0x31, "ins"},
0, NOARG, 0x35, "txs", {0, NOARG, 0x35, "txs"},
0, NOARG, 0x30, "tsx", {0, NOARG, 0x30, "tsx"},

View file

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

View file

@ -8,163 +8,163 @@
* Motorola 6809 keywords * Motorola 6809 keywords
*/ */
0, REG, A, "a", {0, REG, A, "a"},
0, REG, B, "b", {0, REG, B, "b"},
0, REG, CC, "cc", {0, REG, CC, "cc"},
0, REG, DP, "dp", {0, REG, DP, "dp"},
0, REG, D, "d", {0, REG, D, "d"},
0, REG, X, "x", {0, REG, X, "x"},
0, REG, Y, "y", {0, REG, Y, "y"},
0, REG, U, "u", {0, REG, U, "u"},
0, REG, S, "s", {0, REG, S, "s"},
0, REG, PC, "pc", {0, REG, PC, "pc"},
0, ALL, 0xFF, "all", {0, ALL, 0xFF, "all"},
0, SETDP, 0, "setdp", {0, SETDP, 0, "setdp"},
0, NOARG, 0x3A, "abx", {0, NOARG, 0x3A, "abx"},
0, NOARG, 0x19, "daa", {0, NOARG, 0x19, "daa"},
0, NOARG, 0x3D, "mul", {0, NOARG, 0x3D, "mul"},
0, NOARG, 0x12, "nop", {0, NOARG, 0x12, "nop"},
0, NOARG, 0x10, "page2", {0, NOARG, 0x10, "page2"},
0, NOARG, 0x11, "page3", {0, NOARG, 0x11, "page3"},
0, NOARG, 0x3B, "rti", {0, NOARG, 0x3B, "rti"},
0, NOARG, 0x4F, "clra", {0, NOARG, 0x4F, "clra"},
0, NOARG, 0x5F, "clrb", {0, NOARG, 0x5F, "clrb"},
0, NOARG, 0x4A, "deca", {0, NOARG, 0x4A, "deca"},
0, NOARG, 0x5A, "decb", {0, NOARG, 0x5A, "decb"},
0, NOARG, 0x43, "coma", {0, NOARG, 0x43, "coma"},
0, NOARG, 0x53, "comb", {0, NOARG, 0x53, "comb"},
0, NOARG, 0x44, "lsra", {0, NOARG, 0x44, "lsra"},
0, NOARG, 0x54, "lsrb", {0, NOARG, 0x54, "lsrb"},
0, NOARG, 0x40, "nega", {0, NOARG, 0x40, "nega"},
0, NOARG, 0x50, "negb", {0, NOARG, 0x50, "negb"},
0, NOARG, 0x46, "rora", {0, NOARG, 0x46, "rora"},
0, NOARG, 0x56, "rorb", {0, NOARG, 0x56, "rorb"},
0, NOARG, 0x47, "asra", {0, NOARG, 0x47, "asra"},
0, NOARG, 0x57, "asrb", {0, NOARG, 0x57, "asrb"},
0, NOARG, 0x49, "rola", {0, NOARG, 0x49, "rola"},
0, NOARG, 0x59, "rolb", {0, NOARG, 0x59, "rolb"},
0, NOARG, 0x48, "asla", {0, NOARG, 0x48, "asla"},
0, NOARG, 0x58, "aslb", {0, NOARG, 0x58, "aslb"},
0, NOARG, 0x48, "lsla", {0, NOARG, 0x48, "lsla"},
0, NOARG, 0x58, "lslb", {0, NOARG, 0x58, "lslb"},
0, NOARG, 0x4C, "inca", {0, NOARG, 0x4C, "inca"},
0, NOARG, 0x5C, "incb", {0, NOARG, 0x5C, "incb"},
0, NOARG, 0x4D, "tsta", {0, NOARG, 0x4D, "tsta"},
0, NOARG, 0x5D, "tstb", {0, NOARG, 0x5D, "tstb"},
0, NOARG, 0x39, "rts", {0, NOARG, 0x39, "rts"},
0, NOARG, 0x1D, "sex", {0, NOARG, 0x1D, "sex"},
0, NOARG, 0x3F, "swi", {0, NOARG, 0x3F, "swi"},
0, NOARG, 0x103F, "swi2", {0, NOARG, 0x103F, "swi2"},
0, NOARG, 0x113F, "swi3", {0, NOARG, 0x113F, "swi3"},
0, NOARG, 0x13, "sync", {0, NOARG, 0x13, "sync"},
0, BRANCH, 0x20, "bra", {0, BRANCH, 0x20, "bra"},
0, BRANCH, 0x21, "brn", {0, BRANCH, 0x21, "brn"},
0, BRANCH, 0x22, "bhi", {0, BRANCH, 0x22, "bhi"},
0, BRANCH, 0x23, "bls", {0, BRANCH, 0x23, "bls"},
0, BRANCH, 0x24, "bhs", {0, BRANCH, 0x24, "bhs"},
0, BRANCH, 0x24, "bcc", {0, BRANCH, 0x24, "bcc"},
0, BRANCH, 0x25, "blo", {0, BRANCH, 0x25, "blo"},
0, BRANCH, 0x25, "bcs", {0, BRANCH, 0x25, "bcs"},
0, BRANCH, 0x26, "bne", {0, BRANCH, 0x26, "bne"},
0, BRANCH, 0x27, "beq", {0, BRANCH, 0x27, "beq"},
0, BRANCH, 0x28, "bvc", {0, BRANCH, 0x28, "bvc"},
0, BRANCH, 0x29, "bvs", {0, BRANCH, 0x29, "bvs"},
0, BRANCH, 0x2A, "bpl", {0, BRANCH, 0x2A, "bpl"},
0, BRANCH, 0x2B, "bmi", {0, BRANCH, 0x2B, "bmi"},
0, BRANCH, 0x2C, "bge", {0, BRANCH, 0x2C, "bge"},
0, BRANCH, 0x2D, "blt", {0, BRANCH, 0x2D, "blt"},
0, BRANCH, 0x2E, "bgt", {0, BRANCH, 0x2E, "bgt"},
0, BRANCH, 0x2F, "ble", {0, BRANCH, 0x2F, "ble"},
0, BRANCH, 0x8D, "bsr", {0, BRANCH, 0x8D, "bsr"},
0, STACK, 0x34, "pshs", {0, STACK, 0x34, "pshs"},
0, STACK, 0x35, "puls", {0, STACK, 0x35, "puls"},
0, STACK, 0x36, "pshu", {0, STACK, 0x36, "pshu"},
0, STACK, 0x37, "pulu", {0, STACK, 0x37, "pulu"},
0, IMMED, 0x1A, "orcc", {0, IMMED, 0x1A, "orcc"},
0, IMMED, 0x1C, "andcc", {0, IMMED, 0x1C, "andcc"},
0, IMMED, 0x3C, "cwai", {0, IMMED, 0x3C, "cwai"},
0, TWOREG, 0x1E, "exg", {0, TWOREG, 0x1E, "exg"},
0, TWOREG, 0x1F, "tfr", {0, TWOREG, 0x1F, "tfr"},
0, XOP, 0xA0, "suba", {0, XOP, 0xA0, "suba"},
0, XOP, 0xA1, "cmpa", {0, XOP, 0xA1, "cmpa"},
0, XOP, 0xA2, "sbca", {0, XOP, 0xA2, "sbca"},
0, XOP, 0xA4, "anda", {0, XOP, 0xA4, "anda"},
0, XOP, 0xA5, "bita", {0, XOP, 0xA5, "bita"},
0, XOP, 0xA6, "lda", {0, XOP, 0xA6, "lda"},
0, XOP, 0xA8, "eora", {0, XOP, 0xA8, "eora"},
0, XOP, 0xA9, "adca", {0, XOP, 0xA9, "adca"},
0, XOP, 0xAA, "ora", {0, XOP, 0xAA, "ora"},
0, XOP, 0xAB, "adda", {0, XOP, 0xAB, "adda"},
0, XOP, 0xE0, "subb", {0, XOP, 0xE0, "subb"},
0, XOP, 0xE1, "cmpb", {0, XOP, 0xE1, "cmpb"},
0, XOP, 0xE2, "sbcb", {0, XOP, 0xE2, "sbcb"},
0, XOP, 0xE4, "andb", {0, XOP, 0xE4, "andb"},
0, XOP, 0xE5, "bitb", {0, XOP, 0xE5, "bitb"},
0, XOP, 0xE6, "ldb", {0, XOP, 0xE6, "ldb"},
0, XOP, 0xE8, "eorb", {0, XOP, 0xE8, "eorb"},
0, XOP, 0xE9, "adcb", {0, XOP, 0xE9, "adcb"},
0, XOP, 0xEA, "orb", {0, XOP, 0xEA, "orb"},
0, XOP, 0xEB, "addb", {0, XOP, 0xEB, "addb"},
0, XOP, 0x30, "leax", {0, XOP, 0x30, "leax"},
0, XOP, 0x31, "leay", {0, XOP, 0x31, "leay"},
0, XOP, 0x32, "leas", {0, XOP, 0x32, "leas"},
0, XOP, 0x33, "leau", {0, XOP, 0x33, "leau"},
0, XOP, 0x60, "neg", {0, XOP, 0x60, "neg"},
0, XOP, 0x63, "com", {0, XOP, 0x63, "com"},
0, XOP, 0x64, "lsr", {0, XOP, 0x64, "lsr"},
0, XOP, 0x66, "ror", {0, XOP, 0x66, "ror"},
0, XOP, 0x67, "asr", {0, XOP, 0x67, "asr"},
0, XOP, 0x68, "asl", {0, XOP, 0x68, "asl"},
0, XOP, 0x68, "lsl", {0, XOP, 0x68, "lsl"},
0, XOP, 0x69, "rol", {0, XOP, 0x69, "rol"},
0, XOP, 0x6A, "dec", {0, XOP, 0x6A, "dec"},
0, XOP, 0x6C, "inc", {0, XOP, 0x6C, "inc"},
0, XOP, 0x6D, "tst", {0, XOP, 0x6D, "tst"},
0, XOP, 0x6F, "clr", {0, XOP, 0x6F, "clr"},
0, XOP, 0x6E, "jmp", {0, XOP, 0x6E, "jmp"},
0, XOP, 0xA3, "subd", {0, XOP, 0xA3, "subd"},
0, XOP, 0x10A3, "cmpd", {0, XOP, 0x10A3, "cmpd"},
0, XOP, 0x11A3, "cmpu", {0, XOP, 0x11A3, "cmpu"},
0, XOP, 0xAC, "cmpx", {0, XOP, 0xAC, "cmpx"},
0, XOP, 0x10AC, "cmpy", {0, XOP, 0x10AC, "cmpy"},
0, XOP, 0x11AC, "cmps", {0, XOP, 0x11AC, "cmps"},
0, XOP, 0xAE, "ldx", {0, XOP, 0xAE, "ldx"},
0, XOP, 0x10AE, "ldy", {0, XOP, 0x10AE, "ldy"},
0, XOP, 0xE3, "addd", {0, XOP, 0xE3, "addd"},
0, XOP, 0xEC, "ldd", {0, XOP, 0xEC, "ldd"},
0, XOP, 0xEE, "ldu", {0, XOP, 0xEE, "ldu"},
0, XOP, 0x10EE, "lds", {0, XOP, 0x10EE, "lds"},
0, XOP, 0xA7, "sta", {0, XOP, 0xA7, "sta"},
0, XOP, 0xAD, "jsr", {0, XOP, 0xAD, "jsr"},
0, XOP, 0xAF, "stx", {0, XOP, 0xAF, "stx"},
0, XOP, 0x10AF, "sty", {0, XOP, 0x10AF, "sty"},
0, XOP, 0xE7, "stb", {0, XOP, 0xE7, "stb"},
0, XOP, 0xED, "std", {0, XOP, 0xED, "std"},
0, XOP, 0xEF, "stu", {0, XOP, 0xEF, "stu"},
0, XOP, 0x10EF, "sts", {0, XOP, 0x10EF, "sts"},
0, LBRNCH, 0x21, "lbrn", {0, LBRNCH, 0x21, "lbrn"},
0, LBRNCH, 0x22, "lbhi", {0, LBRNCH, 0x22, "lbhi"},
0, LBRNCH, 0x23, "lbls", {0, LBRNCH, 0x23, "lbls"},
0, LBRNCH, 0x24, "lbhs", {0, LBRNCH, 0x24, "lbhs"},
0, LBRNCH, 0x24, "lbcc", {0, LBRNCH, 0x24, "lbcc"},
0, LBRNCH, 0x25, "lblo", {0, LBRNCH, 0x25, "lblo"},
0, LBRNCH, 0x25, "lbcs", {0, LBRNCH, 0x25, "lbcs"},
0, LBRNCH, 0x26, "lbne", {0, LBRNCH, 0x26, "lbne"},
0, LBRNCH, 0x27, "lbeq", {0, LBRNCH, 0x27, "lbeq"},
0, LBRNCH, 0x28, "lbvc", {0, LBRNCH, 0x28, "lbvc"},
0, LBRNCH, 0x29, "lbvs", {0, LBRNCH, 0x29, "lbvs"},
0, LBRNCH, 0x2A, "lbpl", {0, LBRNCH, 0x2A, "lbpl"},
0, LBRNCH, 0x2B, "lbmi", {0, LBRNCH, 0x2B, "lbmi"},
0, LBRNCH, 0x2C, "lbge", {0, LBRNCH, 0x2C, "lbge"},
0, LBRNCH, 0x2D, "lblt", {0, LBRNCH, 0x2D, "lblt"},
0, LBRNCH, 0x2E, "lbgt", {0, LBRNCH, 0x2E, "lbgt"},
0, LBRNCH, 0x2F, "lble", {0, LBRNCH, 0x2F, "lble"},
0, SBRNCH, 0x16, "lbra", {0, SBRNCH, 0x16, "lbra"},
0, SBRNCH, 0x17, "lbsr", {0, SBRNCH, 0x17, "lbsr"},
0, NOARG, 0x1CFE, "clc", {0, NOARG, 0x1CFE, "clc"},
0, NOARG, 0x1A01, "sec", {0, NOARG, 0x1A01, "sec"},
0, NOARG, 0x1CEF, "cli", {0, NOARG, 0x1CEF, "cli"},
0, NOARG, 0x1A10, "sei", {0, NOARG, 0x1A10, "sei"},
0, NOARG, 0x1CFD, "clv", {0, NOARG, 0x1CFD, "clv"},
0, NOARG, 0x1A02, "sev", {0, NOARG, 0x1A02, "sev"},
0, NOARG, 0x3CFF, "wai", {0, NOARG, 0x3CFF, "wai"},

View file

@ -1,121 +1,121 @@
/* $Id: mach3.c, v2.0 23-Feb-89 AJM */ /* $Id: mach3.c, v2.0 23-Feb-89 AJM */
0, COND, 0x00000000, ".EQ", {0, COND, 0x00000000, ".EQ"},
0, COND, 0x10000000, ".NE", {0, COND, 0x10000000, ".NE"},
0, COND, 0x20000000, ".CS", {0, COND, 0x20000000, ".CS"},
0, COND, 0x20000000, ".HS", {0, COND, 0x20000000, ".HS"},
0, COND, 0x30000000, ".CC", {0, COND, 0x30000000, ".CC"},
0, COND, 0x30000000, ".LO", {0, COND, 0x30000000, ".LO"},
0, COND, 0x40000000, ".MI", {0, COND, 0x40000000, ".MI"},
0, COND, 0x50000000, ".PL", {0, COND, 0x50000000, ".PL"},
0, COND, 0x60000000, ".VS", {0, COND, 0x60000000, ".VS"},
0, COND, 0x70000000, ".VC", {0, COND, 0x70000000, ".VC"},
0, COND, 0x80000000, ".HI", {0, COND, 0x80000000, ".HI"},
0, COND, 0x90000000, ".LS", {0, COND, 0x90000000, ".LS"},
0, COND, 0xA0000000, ".GE", {0, COND, 0xA0000000, ".GE"},
0, COND, 0xB0000000, ".LT", {0, COND, 0xB0000000, ".LT"},
0, COND, 0xC0000000, ".GT", {0, COND, 0xC0000000, ".GT"},
0, COND, 0xD0000000, ".LE", {0, COND, 0xD0000000, ".LE"},
0, COND, 0xE0000000, ".AL", {0, COND, 0xE0000000, ".AL"},
0, COND, 0xF0000000, ".NV", {0, COND, 0xF0000000, ".NV"},
0, LINK, 0x01000000, ".L", {0, LINK, 0x01000000, ".L"},
0, BRANCH, 0x0A000000, "BEQ", {0, BRANCH, 0x0A000000, "BEQ"},
0, BRANCH, 0x1A000000, "BNE", {0, BRANCH, 0x1A000000, "BNE"},
0, BRANCH, 0x2A000000, "BCS", {0, BRANCH, 0x2A000000, "BCS"},
0, BRANCH, 0x2A000000, "BHS", {0, BRANCH, 0x2A000000, "BHS"},
0, BRANCH, 0x3A000000, "BCC", {0, BRANCH, 0x3A000000, "BCC"},
0, BRANCH, 0x3A000000, "BLO", {0, BRANCH, 0x3A000000, "BLO"},
0, BRANCH, 0x4A000000, "BMI", {0, BRANCH, 0x4A000000, "BMI"},
0, BRANCH, 0x5A000000, "BPL", {0, BRANCH, 0x5A000000, "BPL"},
0, BRANCH, 0x6A000000, "BVS", {0, BRANCH, 0x6A000000, "BVS"},
0, BRANCH, 0x7A000000, "BVC", {0, BRANCH, 0x7A000000, "BVC"},
0, BRANCH, 0x8A000000, "BHI", {0, BRANCH, 0x8A000000, "BHI"},
0, BRANCH, 0x9A000000, "BLS", {0, BRANCH, 0x9A000000, "BLS"},
0, BRANCH, 0xAA000000, "BGE", {0, BRANCH, 0xAA000000, "BGE"},
0, BRANCH, 0xBA000000, "BLT", {0, BRANCH, 0xBA000000, "BLT"},
0, BRANCH, 0xCA000000, "BGT", {0, BRANCH, 0xCA000000, "BGT"},
0, BRANCH, 0xDA000000, "BLE", {0, BRANCH, 0xDA000000, "BLE"},
0, BRANCH, 0xEA000000, "BAL", {0, BRANCH, 0xEA000000, "BAL"},
0, BRANCH, 0xFA000000, "BNV", {0, BRANCH, 0xFA000000, "BNV"},
0, DATA1, ADC, "ADC", {0, DATA1, ADC, "ADC"},
0, DATA1, ADD, "ADD", {0, DATA1, ADD, "ADD"},
0, DATA1, AND, "AND", {0, DATA1, AND, "AND"},
0, DATA1, BIC, "BIC", {0, DATA1, BIC, "BIC"},
0, DATA1, EOR, "EOR", {0, DATA1, EOR, "EOR"},
0, DATA1, ORR, "ORR", {0, DATA1, ORR, "ORR"},
0, DATA1, RSB, "RSB", {0, DATA1, RSB, "RSB"},
0, DATA1, RSC, "RSC", {0, DATA1, RSC, "RSC"},
0, DATA1, SBC, "SBC", {0, DATA1, SBC, "SBC"},
0, DATA1, SUB, "SUB", {0, DATA1, SUB, "SUB"},
0, DATA2, MOV, "MOV", {0, DATA2, MOV, "MOV"},
0, DATA2, MVN, "MVN", {0, DATA2, MVN, "MVN"},
0, DATA3, CMN, "CMN", {0, DATA3, CMN, "CMN"},
0, DATA3, CMP, "CMP", {0, DATA3, CMP, "CMP"},
0, DATA3, TEQ, "TEQ", {0, DATA3, TEQ, "TEQ"},
0, DATA3, TST, "TST", {0, DATA3, TST, "TST"},
0, SET, 0x00100000, ".S", {0, SET, 0x00100000, ".S"},
0, PEE, 0x0010F000, ".P", {0, PEE, 0x0010F000, ".P"},
0, REG, 0, "R0", {0, REG, 0, "R0"},
0, REG, 1, "R1", {0, REG, 1, "R1"},
0, REG, 2, "R2", {0, REG, 2, "R2"},
0, REG, 3, "R3", {0, REG, 3, "R3"},
0, REG, 4, "R4", {0, REG, 4, "R4"},
0, REG, 5, "R5", {0, REG, 5, "R5"},
0, REG, 6, "R6", {0, REG, 6, "R6"},
0, REG, 7, "R7", {0, REG, 7, "R7"},
0, REG, 8, "R8", {0, REG, 8, "R8"},
0, REG, 9, "R9", {0, REG, 9, "R9"},
0, REG, 10, "R10", {0, REG, 10, "R10"},
0, REG, 11, "R11", {0, REG, 11, "R11"},
0, REG, 12, "R12", {0, REG, 12, "R12"},
0, REG, 13, "R13", {0, REG, 13, "R13"},
0, REG, 14, "R14", {0, REG, 14, "R14"},
0, REG, 15, "R15", {0, REG, 15, "R15"},
0, REG, 15, "PC", {0, REG, 15, "PC"},
0, SHIFT, 0x00000000, "LSL", {0, SHIFT, 0x00000000, "LSL"},
0, SHIFT, 0x00000000, "ASL", {0, SHIFT, 0x00000000, "ASL"},
0, SHIFT, 0x00000020, "LSR", {0, SHIFT, 0x00000020, "LSR"},
0, SHIFT, 0x00000040, "ASR", {0, SHIFT, 0x00000040, "ASR"},
0, SHIFT, 0x00000060, "ROR", {0, SHIFT, 0x00000060, "ROR"},
0, RRX, 0x00000060, "RRX", {0, RRX, 0x00000060, "RRX"},
0, SDT, 0x04100000, "LDR", {0, SDT, 0x04100000, "LDR"},
0, SDT, 0x04000000, "STR", {0, SDT, 0x04000000, "STR"},
0, BYTE, 0x00400000, ".B", {0, BYTE, 0x00400000, ".B"},
0, TRANS, 0x00200000, ".T", {0, TRANS, 0x00200000, ".T"},
0, BDT, 0x09100000, "LDMDB", {0, BDT, 0x09100000, "LDMDB"},
0, BDT, 0x08100000, "LDMDA", {0, BDT, 0x08100000, "LDMDA"},
0, BDT, 0x09900000, "LDMIB", {0, BDT, 0x09900000, "LDMIB"},
0, BDT, 0x08900000, "LDMIA", {0, BDT, 0x08900000, "LDMIA"},
0, BDT, 0x08900000, "LDMFD", {0, BDT, 0x08900000, "LDMFD"},
0, BDT, 0x08100000, "LDMFA", {0, BDT, 0x08100000, "LDMFA"},
0, BDT, 0x09900000, "LDMED", {0, BDT, 0x09900000, "LDMED"},
0, BDT, 0x09100000, "LDMEA", {0, BDT, 0x09100000, "LDMEA"},
0, BDT, 0x09000000, "STMDB", {0, BDT, 0x09000000, "STMDB"},
0, BDT, 0x08000000, "STMDA", {0, BDT, 0x08000000, "STMDA"},
0, BDT, 0x09800000, "STMIB", {0, BDT, 0x09800000, "STMIB"},
0, BDT, 0x08800000, "STMIA", {0, BDT, 0x08800000, "STMIA"},
0, BDT, 0x09000000, "STMFD", {0, BDT, 0x09000000, "STMFD"},
0, BDT, 0x09800000, "STMFA", {0, BDT, 0x09800000, "STMFA"},
0, BDT, 0x08000000, "STMED", {0, BDT, 0x08000000, "STMED"},
0, BDT, 0x08800000, "STMEA", {0, BDT, 0x08800000, "STMEA"},
0, SWI, 0x0F000000, "SWI", {0, SWI, 0x0F000000, "SWI"},
0, ADR, 0x00000000, "ADR", {0, ADR, 0x00000000, "ADR"},
0, MUL, 0x00000090, "MUL", {0, MUL, 0x00000090, "MUL"},
0, MLA, 0x00200090, "MLA", {0, MLA, 0x00200090, "MLA"},

View file

@ -10,411 +10,411 @@
* No system registers for now ... * No system registers for now ...
*/ */
0, USE16, 0, ".use16", {0, USE16, 0, ".use16"},
0, USE32, 0, ".use32", {0, USE32, 0, ".use32"},
0, R32, 0, "ax", {0, R32, 0, "ax"},
0, R32, 1, "cx", {0, R32, 1, "cx"},
0, R32, 2, "dx", {0, R32, 2, "dx"},
0, R32, 3, "bx", {0, R32, 3, "bx"},
0, R32, 4, "sp", {0, R32, 4, "sp"},
0, R32, 5, "bp", {0, R32, 5, "bp"},
0, R32, 6, "si", {0, R32, 6, "si"},
0, R32, 7, "di", {0, R32, 7, "di"},
0, R32, 0, "eax", {0, R32, 0, "eax"},
0, R32, 1, "ecx", {0, R32, 1, "ecx"},
0, R32, 2, "edx", {0, R32, 2, "edx"},
0, R32, 3, "ebx", {0, R32, 3, "ebx"},
0, R32, 4, "esp", {0, R32, 4, "esp"},
0, R32, 5, "ebp", {0, R32, 5, "ebp"},
0, R32, 6, "esi", {0, R32, 6, "esi"},
0, R32, 7, "edi", {0, R32, 7, "edi"},
0, R8, 0, "al", {0, R8, 0, "al"},
0, R8, 1, "cl", {0, R8, 1, "cl"},
0, R8, 2, "dl", {0, R8, 2, "dl"},
0, R8, 3, "bl", {0, R8, 3, "bl"},
0, R8, 4, "ah", {0, R8, 4, "ah"},
0, R8, 5, "ch", {0, R8, 5, "ch"},
0, R8, 6, "dh", {0, R8, 6, "dh"},
0, R8, 7, "bh", {0, R8, 7, "bh"},
0, RSEG, 0, "es", {0, RSEG, 0, "es"},
0, RSEG, 1, "cs", {0, RSEG, 1, "cs"},
0, RSEG, 2, "ss", {0, RSEG, 2, "ss"},
0, RSEG, 3, "ds", {0, RSEG, 3, "ds"},
0, RSEG, 4, "fs", {0, RSEG, 4, "fs"},
0, RSEG, 5, "gs", {0, RSEG, 5, "gs"},
0, RSYSCR, 0, "cr0", {0, RSYSCR, 0, "cr0"},
0, RSYSCR, 2, "cr2", {0, RSYSCR, 2, "cr2"},
0, RSYSCR, 3, "cr3", {0, RSYSCR, 3, "cr3"},
0, RSYSDR, 0, "dr0", {0, RSYSDR, 0, "dr0"},
0, RSYSDR, 1, "dr1", {0, RSYSDR, 1, "dr1"},
0, RSYSDR, 2, "dr2", {0, RSYSDR, 2, "dr2"},
0, RSYSDR, 3, "dr3", {0, RSYSDR, 3, "dr3"},
0, RSYSDR, 6, "dr6", {0, RSYSDR, 6, "dr6"},
0, RSYSDR, 7, "dr7", {0, RSYSDR, 7, "dr7"},
0, RSYSTR, 3, "tr3", /* i486 */ {0, RSYSTR, 3, "tr3"}, /* i486 */
0, RSYSTR, 4, "tr4", /* i486 */ {0, RSYSTR, 4, "tr4"}, /* i486 */
0, RSYSTR, 5, "tr5", /* i486 */ {0, RSYSTR, 5, "tr5"}, /* i486 */
0, RSYSTR, 6, "tr6", {0, RSYSTR, 6, "tr6"},
0, RSYSTR, 7, "tr7", {0, RSYSTR, 7, "tr7"},
0, ADDOP, 000, "addb", {0, ADDOP, 000, "addb"},
0, ADDOP, 001, "add", {0, ADDOP, 001, "add"},
0, ADDOP, 010, "orb", {0, ADDOP, 010, "orb"},
0, ADDOP, 011, "or", {0, ADDOP, 011, "or"},
0, ADDOP, 020, "adcb", {0, ADDOP, 020, "adcb"},
0, ADDOP, 021, "adc", {0, ADDOP, 021, "adc"},
0, ADDOP, 030, "sbbb", {0, ADDOP, 030, "sbbb"},
0, ADDOP, 031, "sbb", {0, ADDOP, 031, "sbb"},
0, ADDOP, 040, "andb", {0, ADDOP, 040, "andb"},
0, ADDOP, 041, "and", {0, ADDOP, 041, "and"},
0, ADDOP, 050, "subb", {0, ADDOP, 050, "subb"},
0, ADDOP, 051, "sub", {0, ADDOP, 051, "sub"},
0, ADDOP, 060, "xorb", {0, ADDOP, 060, "xorb"},
0, ADDOP, 061, "xor", {0, ADDOP, 061, "xor"},
0, ADDOP, 070, "cmpb", {0, ADDOP, 070, "cmpb"},
0, ADDOP, 071, "cmp", {0, ADDOP, 071, "cmp"},
0, BITTEST, 04, "bt", {0, BITTEST, 04, "bt"},
0, BITTEST, 05, "bts", {0, BITTEST, 05, "bts"},
0, BITTEST, 06, "btr", {0, BITTEST, 06, "btr"},
0, BITTEST, 07, "btc", {0, BITTEST, 07, "btc"},
0, CALFOP, 030+(0232<<8), "callf", {0, CALFOP, 030+(0232<<8), "callf"},
0, CALFOP, 050+(0352<<8), "jmpf", {0, CALFOP, 050+(0352<<8), "jmpf"},
0, CALLOP, 020+(0350<<8), "call", {0, CALLOP, 020+(0350<<8), "call"},
0, CALLOP, 040+(0351<<8), "jmp", {0, CALLOP, 040+(0351<<8), "jmp"},
0, ENTER, 0310, "enter", {0, ENTER, 0310, "enter"},
0, EXTEND, 0267, "movzx", {0, EXTEND, 0267, "movzx"},
0, EXTEND, 0266, "movzxb", {0, EXTEND, 0266, "movzxb"},
0, EXTEND, 0277, "movsx", {0, EXTEND, 0277, "movsx"},
0, EXTEND, 0276, "movsxb", {0, EXTEND, 0276, "movsxb"},
0, EXTOP, 0002, "lar", {0, EXTOP, 0002, "lar"},
0, EXTOP, 0003, "lsl", {0, EXTOP, 0003, "lsl"},
0, EXTOP, 0274, "bsf", {0, EXTOP, 0274, "bsf"},
0, EXTOP, 0275, "bsr", {0, EXTOP, 0275, "bsr"},
0, EXTOP1, 0000, "sldt", {0, EXTOP1, 0000, "sldt"},
0, EXTOP1, 0001, "sgdt", {0, EXTOP1, 0001, "sgdt"},
0, EXTOP1, 0010, "str", {0, EXTOP1, 0010, "str"},
0, EXTOP1, 0011, "sidt", {0, EXTOP1, 0011, "sidt"},
0, EXTOP1, 0020, "lldt", {0, EXTOP1, 0020, "lldt"},
0, EXTOP1, 0021, "lgdt", {0, EXTOP1, 0021, "lgdt"},
0, EXTOP1, 0030, "ltr", {0, EXTOP1, 0030, "ltr"},
0, EXTOP1, 0031, "lidt", {0, EXTOP1, 0031, "lidt"},
0, EXTOP1, 0040, "verr", {0, EXTOP1, 0040, "verr"},
0, EXTOP1, 0041, "smsw", {0, EXTOP1, 0041, "smsw"},
0, EXTOP1, 0050, "verw", {0, EXTOP1, 0050, "verw"},
0, EXTOP1, 0061, "lmsw", {0, EXTOP1, 0061, "lmsw"},
0, IMUL, 00, "imul", {0, IMUL, 00, "imul"},
0, IMULB, 050, "imulb", {0, IMULB, 050, "imulb"},
0, INCOP, 000, "incb", {0, INCOP, 000, "incb"},
0, INCOP, 001, "inc", {0, INCOP, 001, "inc"},
0, INCOP, 010, "decb", {0, INCOP, 010, "decb"},
0, INCOP, 011, "dec", {0, INCOP, 011, "dec"},
0, INT, 0, "int", {0, INT, 0, "int"},
0, IOOP, 0344, "inb", {0, IOOP, 0344, "inb"},
0, IOOP, 0345, "in", {0, IOOP, 0345, "in"},
0, IOOP, 0346, "outb", {0, IOOP, 0346, "outb"},
0, IOOP, 0347, "out", {0, IOOP, 0347, "out"},
0, JOP, 0340, "loopne", {0, JOP, 0340, "loopne"},
0, JOP, 0340, "loopnz", {0, JOP, 0340, "loopnz"},
0, JOP, 0341, "loope", {0, JOP, 0341, "loope"},
0, JOP, 0341, "loopz", {0, JOP, 0341, "loopz"},
0, JOP, 0342, "loop", {0, JOP, 0342, "loop"},
0, JOP, 0343, "jcxz", {0, JOP, 0343, "jcxz"},
0, JOP, 0343, "jecxz", {0, JOP, 0343, "jecxz"},
0, JOP2, 0000, "jo", {0, JOP2, 0000, "jo"},
0, JOP2, 0001, "jno", {0, JOP2, 0001, "jno"},
0, JOP2, 0002, "jb", {0, JOP2, 0002, "jb"},
0, JOP2, 0002, "jc", {0, JOP2, 0002, "jc"},
0, JOP2, 0002, "jnae", {0, JOP2, 0002, "jnae"},
0, JOP2, 0003, "jae", {0, JOP2, 0003, "jae"},
0, JOP2, 0003, "jnb", {0, JOP2, 0003, "jnb"},
0, JOP2, 0003, "jnc", {0, JOP2, 0003, "jnc"},
0, JOP2, 0004, "je", {0, JOP2, 0004, "je"},
0, JOP2, 0004, "jz", {0, JOP2, 0004, "jz"},
0, JOP2, 0005, "jne", {0, JOP2, 0005, "jne"},
0, JOP2, 0005, "jnz", {0, JOP2, 0005, "jnz"},
0, JOP2, 0006, "jbe", {0, JOP2, 0006, "jbe"},
0, JOP2, 0006, "jna", {0, JOP2, 0006, "jna"},
0, JOP2, 0007, "ja", {0, JOP2, 0007, "ja"},
0, JOP2, 0007, "jnbe", {0, JOP2, 0007, "jnbe"},
0, JOP2, 0010, "js", {0, JOP2, 0010, "js"},
0, JOP2, 0011, "jns", {0, JOP2, 0011, "jns"},
0, JOP2, 0012, "jp", {0, JOP2, 0012, "jp"},
0, JOP2, 0012, "jpe", {0, JOP2, 0012, "jpe"},
0, JOP2, 0013, "jnp", {0, JOP2, 0013, "jnp"},
0, JOP2, 0013, "jpo", {0, JOP2, 0013, "jpo"},
0, JOP2, 0014, "jl", {0, JOP2, 0014, "jl"},
0, JOP2, 0014, "jnge", {0, JOP2, 0014, "jnge"},
0, JOP2, 0015, "jge", {0, JOP2, 0015, "jge"},
0, JOP2, 0015, "jnl", {0, JOP2, 0015, "jnl"},
0, JOP2, 0016, "jle", {0, JOP2, 0016, "jle"},
0, JOP2, 0016, "jng", {0, JOP2, 0016, "jng"},
0, JOP2, 0017, "jg", {0, JOP2, 0017, "jg"},
0, JOP2, 0017, "jnle", {0, JOP2, 0017, "jnle"},
0, LEAOP, 0142, "bound", {0, LEAOP, 0142, "bound"},
0, LEAOP, 0215, "lea", {0, LEAOP, 0215, "lea"},
0, LEAOP, 0304, "les", {0, LEAOP, 0304, "les"},
0, LEAOP, 0305, "lds", {0, LEAOP, 0305, "lds"},
0, LEAOP2, 0262, "lss", {0, LEAOP2, 0262, "lss"},
0, LEAOP2, 0264, "lfs", {0, LEAOP2, 0264, "lfs"},
0, LEAOP2, 0265, "lgs", {0, LEAOP2, 0265, "lgs"},
0, LSHFT, 0244, "shld", {0, LSHFT, 0244, "shld"},
0, LSHFT, 0254, "shrd", {0, LSHFT, 0254, "shrd"},
0, MOV, 0, "movb", {0, MOV, 0, "movb"},
0, MOV, 1, "mov", {0, MOV, 1, "mov"},
0, NOOP_1, 0140, "pusha", {0, NOOP_1, 0140, "pusha"},
0, NOOP_1, 0140, "pushad", {0, NOOP_1, 0140, "pushad"},
0, NOOP_1, 0141, "popa", {0, NOOP_1, 0141, "popa"},
0, NOOP_1, 0141, "popad", {0, NOOP_1, 0141, "popad"},
0, NOOP_1, 0156, "outsb", {0, NOOP_1, 0156, "outsb"},
0, NOOP_1, 0157, "outs", {0, NOOP_1, 0157, "outs"},
0, NOOP_1, 0220, "nop", {0, NOOP_1, 0220, "nop"},
0, NOOP_1, 0230, "cbw", {0, NOOP_1, 0230, "cbw"},
0, NOOP_1, 0230, "cwde", /* same opcode as cbw! */ {0, NOOP_1, 0230, "cwde"}, /* same opcode as cbw! */
0, NOOP_1, 0231, "cdq", /* same opcode as cwd! */ {0, NOOP_1, 0231, "cdq"}, /* same opcode as cwd! */
0, NOOP_1, 0231, "cwd", {0, NOOP_1, 0231, "cwd"},
0, NOOP_1, 0233, "wait", {0, NOOP_1, 0233, "wait"},
0, NOOP_1, 0234, "pushf", {0, NOOP_1, 0234, "pushf"},
0, NOOP_1, 0235, "popf", {0, NOOP_1, 0235, "popf"},
0, NOOP_1, 0236, "sahf", {0, NOOP_1, 0236, "sahf"},
0, NOOP_1, 0237, "lahf", {0, NOOP_1, 0237, "lahf"},
0, NOOP_1, 0244, "movsb", {0, NOOP_1, 0244, "movsb"},
0, NOOP_1, 0245, "movs", {0, NOOP_1, 0245, "movs"},
0, NOOP_1, 0246, "cmpsb", {0, NOOP_1, 0246, "cmpsb"},
0, NOOP_1, 0154, "insb", {0, NOOP_1, 0154, "insb"},
0, NOOP_1, 0247, "cmps", {0, NOOP_1, 0247, "cmps"},
0, NOOP_1, 0155, "ins", {0, NOOP_1, 0155, "ins"},
0, NOOP_1, 0252, "stosb", {0, NOOP_1, 0252, "stosb"},
0, NOOP_1, 0253, "stos", {0, NOOP_1, 0253, "stos"},
0, NOOP_1, 0254, "lodsb", {0, NOOP_1, 0254, "lodsb"},
0, NOOP_1, 0255, "lods", {0, NOOP_1, 0255, "lods"},
0, NOOP_1, 0256, "scasb", {0, NOOP_1, 0256, "scasb"},
0, NOOP_1, 0257, "scas", {0, NOOP_1, 0257, "scas"},
0, NOOP_1, 0311, "leave", {0, NOOP_1, 0311, "leave"},
0, NOOP_1, 0316, "into", {0, NOOP_1, 0316, "into"},
0, NOOP_1, 0317, "iret", {0, NOOP_1, 0317, "iret"},
0, NOOP_1, 0317, "iretd", {0, NOOP_1, 0317, "iretd"},
0, NOOP_1, 0327, "xlat", {0, NOOP_1, 0327, "xlat"},
0, NOOP_1, 0364, "hlt", {0, NOOP_1, 0364, "hlt"},
0, NOOP_1, 0365, "cmc", {0, NOOP_1, 0365, "cmc"},
0, NOOP_1, 0370, "clc", {0, NOOP_1, 0370, "clc"},
0, NOOP_1, 0371, "stc", {0, NOOP_1, 0371, "stc"},
0, NOOP_1, 0372, "cli", {0, NOOP_1, 0372, "cli"},
0, NOOP_1, 0373, "sti", {0, NOOP_1, 0373, "sti"},
0, NOOP_1, 0374, "cld", {0, NOOP_1, 0374, "cld"},
0, NOOP_1, 0375, "std", {0, NOOP_1, 0375, "std"},
0, NOOP_1, 047, "daa", {0, NOOP_1, 047, "daa"},
0, NOOP_1, 057, "das", {0, NOOP_1, 057, "das"},
0, NOOP_1, 067, "aaa", {0, NOOP_1, 067, "aaa"},
0, NOOP_1, 077, "aas", {0, NOOP_1, 077, "aas"},
0, NOOP_2, 017+(06<<8), "clts", {0, NOOP_2, 017+(06<<8), "clts"},
0, NOOP_2, 0324+(012<<8), "aam", {0, NOOP_2, 0324+(012<<8), "aam"},
0, NOOP_2, 0325+(012<<8), "aad", {0, NOOP_2, 0325+(012<<8), "aad"},
0, NOTOP, 020, "notb", {0, NOTOP, 020, "notb"},
0, NOTOP, 021, "not", {0, NOTOP, 021, "not"},
0, NOTOP, 030, "negb", {0, NOTOP, 030, "negb"},
0, NOTOP, 031, "neg", {0, NOTOP, 031, "neg"},
0, NOTOP, 040, "mulb", {0, NOTOP, 040, "mulb"},
0, NOTOP, 041, "mul", {0, NOTOP, 041, "mul"},
0, NOTOP, 060, "divb", {0, NOTOP, 060, "divb"},
0, NOTOP, 061, "div", {0, NOTOP, 061, "div"},
0, NOTOP, 070, "idivb", {0, NOTOP, 070, "idivb"},
0, NOTOP, 071, "idiv", {0, NOTOP, 071, "idiv"},
0, PREFIX, 0144, "fseg", {0, PREFIX, 0144, "fseg"},
0, PREFIX, 0145, "gseg", {0, PREFIX, 0145, "gseg"},
0, OTOGGLE, 0146, "o16", /* operand size toggle */ {0, OTOGGLE, 0146, "o16"}, /* operand size toggle */
0, OTOGGLE, 0346, "o32", /* operand size toggle */ {0, OTOGGLE, 0346, "o32"}, /* operand size toggle */
0, ATOGGLE, 0147, "a16", /* address size toggle */ {0, ATOGGLE, 0147, "a16"}, /* address size toggle */
0, ATOGGLE, 0347, "a32", /* address size toggle */ {0, ATOGGLE, 0347, "a32"}, /* address size toggle */
0, PREFIX, 0360, "lock", {0, PREFIX, 0360, "lock"},
0, PREFIX, 0362, "repne", {0, PREFIX, 0362, "repne"},
0, PREFIX, 0362, "repnz", {0, PREFIX, 0362, "repnz"},
0, PREFIX, 0363, "rep", {0, PREFIX, 0363, "rep"},
0, PREFIX, 0363, "repe", {0, PREFIX, 0363, "repe"},
0, PREFIX, 0363, "repz", {0, PREFIX, 0363, "repz"},
0, PREFIX, 046, "eseg", {0, PREFIX, 046, "eseg"},
0, PREFIX, 056, "cseg", {0, PREFIX, 056, "cseg"},
0, PREFIX, 066, "sseg", {0, PREFIX, 066, "sseg"},
0, PREFIX, 076, "dseg", {0, PREFIX, 076, "dseg"},
0, PUSHOP, 0, "push", {0, PUSHOP, 0, "push"},
0, PUSHOP, 1, "pop", {0, PUSHOP, 1, "pop"},
0, RET, 0303, "ret", {0, RET, 0303, "ret"},
0, RET, 0313, "retf", {0, RET, 0313, "retf"},
0, ROLOP, 000, "rolb", {0, ROLOP, 000, "rolb"},
0, ROLOP, 001, "rol", {0, ROLOP, 001, "rol"},
0, ROLOP, 010, "rorb", {0, ROLOP, 010, "rorb"},
0, ROLOP, 011, "ror", {0, ROLOP, 011, "ror"},
0, ROLOP, 020, "rclb", {0, ROLOP, 020, "rclb"},
0, ROLOP, 021, "rcl", {0, ROLOP, 021, "rcl"},
0, ROLOP, 030, "rcrb", {0, ROLOP, 030, "rcrb"},
0, ROLOP, 031, "rcr", {0, ROLOP, 031, "rcr"},
0, ROLOP, 040, "salb", {0, ROLOP, 040, "salb"},
0, ROLOP, 040, "shlb", {0, ROLOP, 040, "shlb"},
0, ROLOP, 041, "sal", {0, ROLOP, 041, "sal"},
0, ROLOP, 041, "shl", {0, ROLOP, 041, "shl"},
0, ROLOP, 050, "shrb", {0, ROLOP, 050, "shrb"},
0, ROLOP, 051, "shr", {0, ROLOP, 051, "shr"},
0, ROLOP, 070, "sarb", {0, ROLOP, 070, "sarb"},
0, ROLOP, 071, "sar", {0, ROLOP, 071, "sar"},
0, SETCC, 0000, "seto", {0, SETCC, 0000, "seto"},
0, SETCC, 0001, "setno", {0, SETCC, 0001, "setno"},
0, SETCC, 0002, "setb", {0, SETCC, 0002, "setb"},
0, SETCC, 0002, "setnae", {0, SETCC, 0002, "setnae"},
0, SETCC, 0003, "setae", {0, SETCC, 0003, "setae"},
0, SETCC, 0003, "setnb", {0, SETCC, 0003, "setnb"},
0, SETCC, 0004, "sete", {0, SETCC, 0004, "sete"},
0, SETCC, 0004, "setz", {0, SETCC, 0004, "setz"},
0, SETCC, 0005, "setne", {0, SETCC, 0005, "setne"},
0, SETCC, 0005, "setnz", {0, SETCC, 0005, "setnz"},
0, SETCC, 0006, "setbe", {0, SETCC, 0006, "setbe"},
0, SETCC, 0006, "setna", {0, SETCC, 0006, "setna"},
0, SETCC, 0007, "seta", {0, SETCC, 0007, "seta"},
0, SETCC, 0007, "setnbe", {0, SETCC, 0007, "setnbe"},
0, SETCC, 0010, "sets", {0, SETCC, 0010, "sets"},
0, SETCC, 0011, "setns", {0, SETCC, 0011, "setns"},
0, SETCC, 0012, "setp", {0, SETCC, 0012, "setp"},
0, SETCC, 0012, "setpe", {0, SETCC, 0012, "setpe"},
0, SETCC, 0013, "setnp", {0, SETCC, 0013, "setnp"},
0, SETCC, 0013, "setpo", {0, SETCC, 0013, "setpo"},
0, SETCC, 0014, "setl", {0, SETCC, 0014, "setl"},
0, SETCC, 0014, "setnge", {0, SETCC, 0014, "setnge"},
0, SETCC, 0015, "setge", {0, SETCC, 0015, "setge"},
0, SETCC, 0015, "setnl", {0, SETCC, 0015, "setnl"},
0, SETCC, 0016, "setle", {0, SETCC, 0016, "setle"},
0, SETCC, 0016, "setng", {0, SETCC, 0016, "setng"},
0, SETCC, 0017, "setg", {0, SETCC, 0017, "setg"},
0, SETCC, 0017, "setnle", {0, SETCC, 0017, "setnle"},
0, TEST, 0, "testb", {0, TEST, 0, "testb"},
0, TEST, 1, "test", {0, TEST, 1, "test"},
0, XCHG, 0, "xchgb", {0, XCHG, 0, "xchgb"},
0, XCHG, 1, "xchg", {0, XCHG, 1, "xchg"},
0, ARPLOP, 0143, "arpl", {0, ARPLOP, 0143, "arpl"},
/* Intel 80[23]87 coprocessor keywords */ /* Intel 80[23]87 coprocessor keywords */
0, ST, 0, "st", {0, ST, 0, "st"},
0, FNOOP, FESC+1+(0xF0<<8), "f2xm1", {0, FNOOP, FESC+1+(0xF0<<8), "f2xm1"},
0, FNOOP, FESC+1+(0xE1<<8), "fabs", {0, FNOOP, FESC+1+(0xE1<<8), "fabs"},
0, FNOOP, FESC+1+(0xE0<<8), "fchs", {0, FNOOP, FESC+1+(0xE0<<8), "fchs"},
0, FNOOP, FESC+3+(0xE2<<8), "fclex", {0, FNOOP, FESC+3+(0xE2<<8), "fclex"},
0, FNOOP, FESC+6+(0xD9<<8), "fcompp", {0, FNOOP, FESC+6+(0xD9<<8), "fcompp"},
0, FNOOP, FESC+2+(0xE9<<8), "fucompp", {0, FNOOP, FESC+2+(0xE9<<8), "fucompp"},
0, FNOOP, FESC+1+(0xF6<<8), "fdecstp", {0, FNOOP, FESC+1+(0xF6<<8), "fdecstp"},
0, FNOOP, FESC+3+(0xE1<<8), "fdisi", {0, FNOOP, FESC+3+(0xE1<<8), "fdisi"},
0, FNOOP, FESC+3+(0xE0<<8), "feni", {0, FNOOP, FESC+3+(0xE0<<8), "feni"},
0, FNOOP, FESC+1+(0xF7<<8), "fincstp", {0, FNOOP, FESC+1+(0xF7<<8), "fincstp"},
0, FNOOP, FESC+3+(0xE3<<8), "finit", {0, FNOOP, FESC+3+(0xE3<<8), "finit"},
0, FNOOP, FESC+1+(0xE8<<8), "fld1", {0, FNOOP, FESC+1+(0xE8<<8), "fld1"},
0, FNOOP, FESC+1+(0xEA<<8), "fldl2e", {0, FNOOP, FESC+1+(0xEA<<8), "fldl2e"},
0, FNOOP, FESC+1+(0xE9<<8), "fldl2t", {0, FNOOP, FESC+1+(0xE9<<8), "fldl2t"},
0, FNOOP, FESC+1+(0xEC<<8), "fldlg2", {0, FNOOP, FESC+1+(0xEC<<8), "fldlg2"},
0, FNOOP, FESC+1+(0xED<<8), "fldln2", {0, FNOOP, FESC+1+(0xED<<8), "fldln2"},
0, FNOOP, FESC+1+(0xEB<<8), "fldpi", {0, FNOOP, FESC+1+(0xEB<<8), "fldpi"},
0, FNOOP, FESC+1+(0xEE<<8), "fldz", {0, FNOOP, FESC+1+(0xEE<<8), "fldz"},
0, FNOOP, FESC+1+(0xD0<<8), "fnop", {0, FNOOP, FESC+1+(0xD0<<8), "fnop"},
0, FNOOP, FESC+1+(0xF3<<8), "fpatan", {0, FNOOP, FESC+1+(0xF3<<8), "fpatan"},
0, FNOOP, FESC+1+(0xFF<<8), "fcos", {0, FNOOP, FESC+1+(0xFF<<8), "fcos"},
0, FNOOP, FESC+1+(0xFE<<8), "fsin", {0, FNOOP, FESC+1+(0xFE<<8), "fsin"},
0, FNOOP, FESC+1+(0xFB<<8), "fsincos", {0, FNOOP, FESC+1+(0xFB<<8), "fsincos"},
0, FNOOP, FESC+1+(0xF8<<8), "fprem", {0, FNOOP, FESC+1+(0xF8<<8), "fprem"},
0, FNOOP, FESC+1+(0xF5<<8), "fprem1", {0, FNOOP, FESC+1+(0xF5<<8), "fprem1"},
0, FNOOP, FESC+1+(0xF2<<8), "fptan", {0, FNOOP, FESC+1+(0xF2<<8), "fptan"},
0, FNOOP, FESC+1+(0xFC<<8), "frndint", {0, FNOOP, FESC+1+(0xFC<<8), "frndint"},
0, FNOOP, FESC+1+(0xFD<<8), "fscale", {0, FNOOP, FESC+1+(0xFD<<8), "fscale"},
0, FNOOP, FESC+1+(0xFA<<8), "fsqrt", {0, FNOOP, FESC+1+(0xFA<<8), "fsqrt"},
0, FNOOP, FESC+1+(0xE4<<8), "ftst", {0, FNOOP, FESC+1+(0xE4<<8), "ftst"},
0, FNOOP, FESC+1+(0xE5<<8), "fxam", {0, FNOOP, FESC+1+(0xE5<<8), "fxam"},
0, FNOOP, FESC+1+(0xF4<<8), "fxtract", {0, FNOOP, FESC+1+(0xF4<<8), "fxtract"},
0, FNOOP, FESC+1+(0xF1<<8), "fyl2x", {0, FNOOP, FESC+1+(0xF1<<8), "fyl2x"},
0, FNOOP, FESC+1+(0xF9<<8), "fyl2xp1", {0, FNOOP, FESC+1+(0xF9<<8), "fyl2xp1"},
0, FMEM, FESC+6+(0<<11), "fiadds", {0, FMEM, FESC+6+(0<<11), "fiadds"},
0, FMEM, FESC+2+(0<<11), "fiaddl", {0, FMEM, FESC+2+(0<<11), "fiaddl"},
0, FMEM, FESC+0+(0<<11), "fadds", {0, FMEM, FESC+0+(0<<11), "fadds"},
0, FMEM, FESC+4+(0<<11), "faddd", {0, FMEM, FESC+4+(0<<11), "faddd"},
0, FMEM, FESC+7+(4<<11), "fbld", {0, FMEM, FESC+7+(4<<11), "fbld"},
0, FMEM, FESC+7+(6<<11), "fbstp", {0, FMEM, FESC+7+(6<<11), "fbstp"},
0, FMEM, FESC+6+(2<<11), "ficoms", {0, FMEM, FESC+6+(2<<11), "ficoms"},
0, FMEM, FESC+2+(2<<11), "ficoml", {0, FMEM, FESC+2+(2<<11), "ficoml"},
0, FMEM, FESC+0+(2<<11), "fcoms", {0, FMEM, FESC+0+(2<<11), "fcoms"},
0, FMEM, FESC+4+(2<<11), "fcomd", {0, FMEM, FESC+4+(2<<11), "fcomd"},
0, FMEM, FESC+6+(3<<11), "ficomps", {0, FMEM, FESC+6+(3<<11), "ficomps"},
0, FMEM, FESC+2+(3<<11), "ficompl", {0, FMEM, FESC+2+(3<<11), "ficompl"},
0, FMEM, FESC+0+(3<<11), "fcomps", {0, FMEM, FESC+0+(3<<11), "fcomps"},
0, FMEM, FESC+4+(3<<11), "fcompd", {0, FMEM, FESC+4+(3<<11), "fcompd"},
0, FMEM, FESC+6+(6<<11), "fidivs", {0, FMEM, FESC+6+(6<<11), "fidivs"},
0, FMEM, FESC+2+(6<<11), "fidivl", {0, FMEM, FESC+2+(6<<11), "fidivl"},
0, FMEM, FESC+0+(6<<11), "fdivs", {0, FMEM, FESC+0+(6<<11), "fdivs"},
0, FMEM, FESC+4+(6<<11), "fdivd", {0, FMEM, FESC+4+(6<<11), "fdivd"},
0, FMEM, FESC+6+(7<<11), "fidivrs", {0, FMEM, FESC+6+(7<<11), "fidivrs"},
0, FMEM, FESC+2+(7<<11), "fidivrl", {0, FMEM, FESC+2+(7<<11), "fidivrl"},
0, FMEM, FESC+0+(7<<11), "fdivrs", {0, FMEM, FESC+0+(7<<11), "fdivrs"},
0, FMEM, FESC+4+(7<<11), "fdivrd", {0, FMEM, FESC+4+(7<<11), "fdivrd"},
0, FMEM, FESC+7+(5<<11), "fildq", {0, FMEM, FESC+7+(5<<11), "fildq"},
0, FMEM, FESC+7+(0<<11), "filds", {0, FMEM, FESC+7+(0<<11), "filds"},
0, FMEM, FESC+3+(0<<11), "fildl", {0, FMEM, FESC+3+(0<<11), "fildl"},
0, FMEM, FESC+1+(0<<11), "flds", {0, FMEM, FESC+1+(0<<11), "flds"},
0, FMEM, FESC+5+(0<<11), "fldd", {0, FMEM, FESC+5+(0<<11), "fldd"},
0, FMEM, FESC+3+(5<<11), "fldx", {0, FMEM, FESC+3+(5<<11), "fldx"},
0, FMEM, FESC+1+(5<<11), "fldcw", {0, FMEM, FESC+1+(5<<11), "fldcw"},
0, FMEM, FESC+1+(4<<11), "fldenv", {0, FMEM, FESC+1+(4<<11), "fldenv"},
0, FMEM, FESC+6+(1<<11), "fimuls", {0, FMEM, FESC+6+(1<<11), "fimuls"},
0, FMEM, FESC+2+(1<<11), "fimull", {0, FMEM, FESC+2+(1<<11), "fimull"},
0, FMEM, FESC+0+(1<<11), "fmuls", {0, FMEM, FESC+0+(1<<11), "fmuls"},
0, FMEM, FESC+4+(1<<11), "fmuld", {0, FMEM, FESC+4+(1<<11), "fmuld"},
0, FMEM, FESC+5+(4<<11), "frstor", {0, FMEM, FESC+5+(4<<11), "frstor"},
0, FMEM, FESC+5+(6<<11), "fsave", {0, FMEM, FESC+5+(6<<11), "fsave"},
0, FMEM, FESC+7+(2<<11), "fists", {0, FMEM, FESC+7+(2<<11), "fists"},
0, FMEM, FESC+3+(2<<11), "fistl", {0, FMEM, FESC+3+(2<<11), "fistl"},
0, FMEM, FESC+1+(2<<11), "fsts", {0, FMEM, FESC+1+(2<<11), "fsts"},
0, FMEM, FESC+5+(2<<11), "fstd", {0, FMEM, FESC+5+(2<<11), "fstd"},
0, FMEM, FESC+7+(7<<11), "fistpq", {0, FMEM, FESC+7+(7<<11), "fistpq"},
0, FMEM, FESC+7+(3<<11), "fistps", {0, FMEM, FESC+7+(3<<11), "fistps"},
0, FMEM, FESC+3+(3<<11), "fistpl", {0, FMEM, FESC+3+(3<<11), "fistpl"},
0, FMEM, FESC+1+(3<<11), "fstps", {0, FMEM, FESC+1+(3<<11), "fstps"},
0, FMEM, FESC+5+(3<<11), "fstpd", {0, FMEM, FESC+5+(3<<11), "fstpd"},
0, FMEM, FESC+3+(7<<11), "fstpx", {0, FMEM, FESC+3+(7<<11), "fstpx"},
0, FMEM, FESC+1+(7<<11), "fstcw", {0, FMEM, FESC+1+(7<<11), "fstcw"},
0, FMEM, FESC+1+(6<<11), "fstenv", {0, FMEM, FESC+1+(6<<11), "fstenv"},
0, FMEM_AX, FESC+5+(7<<11), "fstsw", {0, FMEM_AX, FESC+5+(7<<11), "fstsw"},
0, FMEM, FESC+6+(4<<11), "fisubs", {0, FMEM, FESC+6+(4<<11), "fisubs"},
0, FMEM, FESC+2+(4<<11), "fisubl", {0, FMEM, FESC+2+(4<<11), "fisubl"},
0, FMEM, FESC+0+(4<<11), "fsubs", {0, FMEM, FESC+0+(4<<11), "fsubs"},
0, FMEM, FESC+4+(4<<11), "fsubd", {0, FMEM, FESC+4+(4<<11), "fsubd"},
0, FMEM, FESC+6+(5<<11), "fisubrs", {0, FMEM, FESC+6+(5<<11), "fisubrs"},
0, FMEM, FESC+2+(5<<11), "fisubrl", {0, FMEM, FESC+2+(5<<11), "fisubrl"},
0, FMEM, FESC+0+(5<<11), "fsubrs", {0, FMEM, FESC+0+(5<<11), "fsubrs"},
0, FMEM, FESC+4+(5<<11), "fsubrd", {0, FMEM, FESC+4+(5<<11), "fsubrd"},
0, FST_I, FESC+1+(0xC0<<8), "fld", {0, FST_I, FESC+1+(0xC0<<8), "fld"},
0, FST_I, FESC+5+(0xD0<<8), "fst", {0, FST_I, FESC+5+(0xD0<<8), "fst"},
0, FST_I, FESC+5+(0xD8<<8), "fstp", {0, FST_I, FESC+5+(0xD8<<8), "fstp"},
0, FST_I, FESC+1+(0xC8<<8), "fxch", {0, FST_I, FESC+1+(0xC8<<8), "fxch"},
0, FST_I, FESC+0+(0xD0<<8), "fcom", {0, FST_I, FESC+0+(0xD0<<8), "fcom"},
0, FST_I, FESC+5+(0xE0<<8), "fucom", {0, FST_I, FESC+5+(0xE0<<8), "fucom"},
0, FST_I, FESC+0+(0xD8<<8), "fcomp", {0, FST_I, FESC+0+(0xD8<<8), "fcomp"},
0, FST_I, FESC+5+(0xE8<<8), "fucomp", {0, FST_I, FESC+5+(0xE8<<8), "fucomp"},
0, FST_I, FESC+5+(0xC0<<8), "ffree", {0, FST_I, FESC+5+(0xC0<<8), "ffree"},
0, FST_ST, FESC+0+(0xC0<<8), "fadd", {0, FST_ST, FESC+0+(0xC0<<8), "fadd"},
0, FST_ST, FESC+2+(0xC0<<8), "faddp", {0, FST_ST, FESC+2+(0xC0<<8), "faddp"},
0, FST_ST2, FESC+0+(0xF0<<8), "fdiv", {0, FST_ST2, FESC+0+(0xF0<<8), "fdiv"},
0, FST_ST2, FESC+2+(0xF0<<8), "fdivp", {0, FST_ST2, FESC+2+(0xF0<<8), "fdivp"},
0, FST_ST2, FESC+0+(0xF8<<8), "fdivr", {0, FST_ST2, FESC+0+(0xF8<<8), "fdivr"},
0, FST_ST2, FESC+2+(0xF8<<8), "fdivrp", {0, FST_ST2, FESC+2+(0xF8<<8), "fdivrp"},
0, FST_ST, FESC+0+(0xC8<<8), "fmul", {0, FST_ST, FESC+0+(0xC8<<8), "fmul"},
0, FST_ST, FESC+2+(0xC8<<8), "fmulp", {0, FST_ST, FESC+2+(0xC8<<8), "fmulp"},
0, FST_ST2, FESC+0+(0xE0<<8), "fsub", {0, FST_ST2, FESC+0+(0xE0<<8), "fsub"},
0, FST_ST2, FESC+2+(0xE0<<8), "fsubp", {0, FST_ST2, FESC+2+(0xE0<<8), "fsubp"},
0, FST_ST2, FESC+0+(0xE8<<8), "fsubr", {0, FST_ST2, FESC+0+(0xE8<<8), "fsubr"},
0, FST_ST2, FESC+2+(0xE8<<8), "fsubrp", {0, FST_ST2, FESC+2+(0xE8<<8), "fsubrp"},
/* Intel 486 instructions */ /* Intel 486 instructions */
0, EXTOPBW, 0xC0, "xaddb", {0, EXTOPBW, 0xC0, "xaddb"},
0, EXTOPBW, 0xC1, "xadd", {0, EXTOPBW, 0xC1, "xadd"},
0, EXTOPBW, 0xB0, "cmpxchgb", {0, EXTOPBW, 0xB0, "cmpxchgb"},
0, EXTOPBW, 0xB1, "cmpxchg", {0, EXTOPBW, 0xB1, "cmpxchg"},
0, BSWAP, 0xC8, "bswap", {0, BSWAP, 0xC8, "bswap"},
0, NOOP_2, 017+(010<<8), "invd", {0, NOOP_2, 017+(010<<8), "invd"},
0, EXTOP1, 071, "invlpg", {0, EXTOP1, 071, "invlpg"},
0, NOOP_2, 017+(011<<8), "wbinvd", {0, NOOP_2, 017+(011<<8), "wbinvd"},

View file

@ -8,101 +8,101 @@
* Specials * Specials
*/ */
0, KILL, 0, "kill", {0, KILL, 0, "kill"},
/* /*
* Intel 8080 keywords * Intel 8080 keywords
*/ */
0, REG, B, "b", {0, REG, B, "b"},
0, REG, C, "c", {0, REG, C, "c"},
0, REG, D, "d", {0, REG, D, "d"},
0, REG, E, "e", {0, REG, E, "e"},
0, REG, H, "h", {0, REG, H, "h"},
0, REG, L, "l", {0, REG, L, "l"},
0, REG, M, "m", {0, REG, M, "m"},
0, REG, A, "a", {0, REG, A, "a"},
0, REG, SP, "sp", {0, REG, SP, "sp"},
0, REG, PSW, "psw", {0, REG, PSW, "psw"},
0, D16OP, 0315, "call", {0, D16OP, 0315, "call"},
0, D16OP, 0334, "cc", {0, D16OP, 0334, "cc"},
0, D16OP, 0324, "cnc", {0, D16OP, 0324, "cnc"},
0, D16OP, 0314, "cz", {0, D16OP, 0314, "cz"},
0, D16OP, 0304, "cnz", {0, D16OP, 0304, "cnz"},
0, D16OP, 0364, "cp", {0, D16OP, 0364, "cp"},
0, D16OP, 0374, "cm", {0, D16OP, 0374, "cm"},
0, D16OP, 0354, "cpe", {0, D16OP, 0354, "cpe"},
0, D16OP, 0344, "cpo", {0, D16OP, 0344, "cpo"},
0, NOOPOP, 0311, "ret", {0, NOOPOP, 0311, "ret"},
0, NOOPOP, 0330, "rc", {0, NOOPOP, 0330, "rc"},
0, NOOPOP, 0320, "rnc", {0, NOOPOP, 0320, "rnc"},
0, NOOPOP, 0310, "rz", {0, NOOPOP, 0310, "rz"},
0, NOOPOP, 0300, "rnz", {0, NOOPOP, 0300, "rnz"},
0, NOOPOP, 0360, "rp", {0, NOOPOP, 0360, "rp"},
0, NOOPOP, 0370, "rm", {0, NOOPOP, 0370, "rm"},
0, NOOPOP, 0350, "rpe", {0, NOOPOP, 0350, "rpe"},
0, NOOPOP, 0340, "rpo", {0, NOOPOP, 0340, "rpo"},
0, RST, 0307, "rst", {0, RST, 0307, "rst"},
0, D8OP, 0333, "in", {0, D8OP, 0333, "in"},
0, D8OP, 0323, "out", {0, D8OP, 0323, "out"},
0, LXI, 0001, "lxi", {0, LXI, 0001, "lxi"},
0, R16OP, 0305, "push", {0, R16OP, 0305, "push"},
0, R16OP, 0301, "pop", {0, R16OP, 0301, "pop"},
0, D16OP, 0062, "sta", {0, D16OP, 0062, "sta"},
0, D16OP, 0072, "lda", {0, D16OP, 0072, "lda"},
0, NOOPOP, 0353, "xchg", {0, NOOPOP, 0353, "xchg"},
0, NOOPOP, 0343, "xthl", {0, NOOPOP, 0343, "xthl"},
0, NOOPOP, 0371, "sphl", {0, NOOPOP, 0371, "sphl"},
0, NOOPOP, 0351, "pchl", {0, NOOPOP, 0351, "pchl"},
0, R16OP, 0011, "dad", {0, R16OP, 0011, "dad"},
0, STLDAX, 0002, "stax", {0, STLDAX, 0002, "stax"},
0, STLDAX, 0012, "ldax", {0, STLDAX, 0012, "ldax"},
0, R16OP, 0003, "inx", {0, R16OP, 0003, "inx"},
0, MOV, 0100, "mov", {0, MOV, 0100, "mov"},
0, NOOPOP, 0166, "hlt", {0, NOOPOP, 0166, "hlt"},
0, MVI, 0006, "mvi", {0, MVI, 0006, "mvi"},
0, DSTOP, 0004, "inr", {0, DSTOP, 0004, "inr"},
0, DSTOP, 0005, "dcr", {0, DSTOP, 0005, "dcr"},
0, SRCOP, 0200, "add", {0, SRCOP, 0200, "add"},
0, SRCOP, 0210, "adc", {0, SRCOP, 0210, "adc"},
0, SRCOP, 0220, "sub", {0, SRCOP, 0220, "sub"},
0, SRCOP, 0230, "sbb", {0, SRCOP, 0230, "sbb"},
0, SRCOP, 0240, "ana", {0, SRCOP, 0240, "ana"},
0, SRCOP, 0250, "xra", {0, SRCOP, 0250, "xra"},
0, SRCOP, 0260, "ora", {0, SRCOP, 0260, "ora"},
0, SRCOP, 0270, "cmp", {0, SRCOP, 0270, "cmp"},
0, D8OP, 0306, "adi", {0, D8OP, 0306, "adi"},
0, D8OP, 0316, "aci", {0, D8OP, 0316, "aci"},
0, D8OP, 0326, "sui", {0, D8OP, 0326, "sui"},
0, D8OP, 0336, "sbi", {0, D8OP, 0336, "sbi"},
0, D8OP, 0346, "ani", {0, D8OP, 0346, "ani"},
0, D8OP, 0356, "xri", {0, D8OP, 0356, "xri"},
0, D8OP, 0366, "ori", {0, D8OP, 0366, "ori"},
0, D8OP, 0376, "cpi", {0, D8OP, 0376, "cpi"},
0, NOOPOP, 0007, "rlc", {0, NOOPOP, 0007, "rlc"},
0, NOOPOP, 0017, "rrc", {0, NOOPOP, 0017, "rrc"},
0, NOOPOP, 0027, "ral", {0, NOOPOP, 0027, "ral"},
0, NOOPOP, 0037, "rar", {0, NOOPOP, 0037, "rar"},
0, D16OP, 0303, "jmp", {0, D16OP, 0303, "jmp"},
0, D16OP, 0332, "jc", {0, D16OP, 0332, "jc"},
0, D16OP, 0322, "jnc", {0, D16OP, 0322, "jnc"},
0, D16OP, 0312, "jz", {0, D16OP, 0312, "jz"},
0, D16OP, 0302, "jnz", {0, D16OP, 0302, "jnz"},
0, D16OP, 0362, "jp", {0, D16OP, 0362, "jp"},
0, D16OP, 0372, "jm", {0, D16OP, 0372, "jm"},
0, D16OP, 0352, "jpe", {0, D16OP, 0352, "jpe"},
0, D16OP, 0342, "jpo", {0, D16OP, 0342, "jpo"},
0, R16OP, 0013, "dcx", {0, R16OP, 0013, "dcx"},
0, NOOPOP, 0057, "cma", {0, NOOPOP, 0057, "cma"},
0, NOOPOP, 0067, "stc", {0, NOOPOP, 0067, "stc"},
0, NOOPOP, 0077, "cmc", {0, NOOPOP, 0077, "cmc"},
0, NOOPOP, 0047, "daa", {0, NOOPOP, 0047, "daa"},
0, D16OP, 0042, "shld", {0, D16OP, 0042, "shld"},
0, D16OP, 0052, "lhld", {0, D16OP, 0052, "lhld"},
0, NOOPOP, 0373, "ei", {0, NOOPOP, 0373, "ei"},
0, NOOPOP, 0363, "di", {0, NOOPOP, 0363, "di"},
0, NOOPOP, 0000, "nop", {0, NOOPOP, 0000, "nop"},
0, NOOPOP, 0040, "rim", /* 8085 */ {0, NOOPOP, 0040, "rim"}, /* 8085 */
0, NOOPOP, 0060, "sim", /* 8085 */ {0, NOOPOP, 0060, "sim"}, /* 8085 */
/* /*
* The Intel 8085 has a set of instructions for high level language * The Intel 8085 has a set of instructions for high level language
* support that were not originally documented. * support that were not originally documented.
@ -114,14 +114,14 @@
* check via A. RSTV is useful for runtimes where signed overflow is a * check via A. RSTV is useful for runtimes where signed overflow is a
* fault. * fault.
*/ */
0, NOOPOP, 0010, "dsub", /* 8085 undoc HL = HL - BC */ {0, NOOPOP, 0010, "dsub"}, /* 8085 undoc HL = HL - BC */
0, NOOPOP, 0020, "arhl", /* 8085 undoc HL arith right shift */ {0, NOOPOP, 0020, "arhl"}, /* 8085 undoc HL arith right shift */
0, NOOPOP, 0030, "rld", /* 8085 undoc rotate DE left thru carry */ {0, NOOPOP, 0030, "rld"}, /* 8085 undoc rotate DE left thru carry */
/* in effect ADC DE,DE */ /* in effect ADC DE,DE */
0, D8OP, 0050, "ldhi", /* DE = HL + imm8 */ {0, D8OP, 0050, "ldhi"}, /* DE = HL + imm8 */
0, D8OP, 0070, "ldsi", /* DE = SP + imm8 */ {0, D8OP, 0070, "ldsi"}, /* DE = SP + imm8 */
0, NOOPOP, 0313, "rstv", /* RST8 if V set */ {0, NOOPOP, 0313, "rstv"}, /* RST8 if V set */
0, NOOPOP, 0331, "shlx", /* (DE) = HL */ {0, NOOPOP, 0331, "shlx"}, /* (DE) = HL */
0, NOOPOP, 0355, "lhlx", /* HL = (DE) */ {0, NOOPOP, 0355, "lhlx"}, /* HL = (DE) */
0, D16OP, 0335, "jnk", /* Jump K clear */ {0, D16OP, 0335, "jnk"}, /* Jump K clear */
0, D16OP, 0375, "jk", /* Jump K set */ {0, D16OP, 0375, "jk"}, /* Jump K set */

View file

@ -8,330 +8,330 @@
* INTEL 8086 keywords * INTEL 8086 keywords
*/ */
0, R16, 0, "ax", {0, R16, 0, "ax"},
0, R16, 1, "cx", {0, R16, 1, "cx"},
0, R16, 2, "dx", {0, R16, 2, "dx"},
0, R16, 3, "bx", {0, R16, 3, "bx"},
0, R16, 4, "sp", {0, R16, 4, "sp"},
0, R16, 5, "bp", {0, R16, 5, "bp"},
0, R16, 6, "si", {0, R16, 6, "si"},
0, R16, 7, "di", {0, R16, 7, "di"},
0, R8, 0, "al", {0, R8, 0, "al"},
0, R8, 1, "cl", {0, R8, 1, "cl"},
0, R8, 2, "dl", {0, R8, 2, "dl"},
0, R8, 3, "bl", {0, R8, 3, "bl"},
0, R8, 4, "ah", {0, R8, 4, "ah"},
0, R8, 5, "ch", {0, R8, 5, "ch"},
0, R8, 6, "dh", {0, R8, 6, "dh"},
0, R8, 7, "bh", {0, R8, 7, "bh"},
0, RSEG, 0, "es", {0, RSEG, 0, "es"},
0, RSEG, 1, "cs", {0, RSEG, 1, "cs"},
0, RSEG, 2, "ss", {0, RSEG, 2, "ss"},
0, RSEG, 3, "ds", {0, RSEG, 3, "ds"},
0, PREFIX, 046, "eseg", {0, PREFIX, 046, "eseg"},
0, PREFIX, 056, "cseg", {0, PREFIX, 056, "cseg"},
0, PREFIX, 066, "sseg", {0, PREFIX, 066, "sseg"},
0, PREFIX, 076, "dseg", {0, PREFIX, 076, "dseg"},
0, PREFIX, 0360, "lock", {0, PREFIX, 0360, "lock"},
0, PREFIX, 0363, "rep", {0, PREFIX, 0363, "rep"},
0, PREFIX, 0362, "repne", {0, PREFIX, 0362, "repne"},
0, PREFIX, 0362, "repnz", {0, PREFIX, 0362, "repnz"},
0, PREFIX, 0363, "repe", {0, PREFIX, 0363, "repe"},
0, PREFIX, 0363, "repz", {0, PREFIX, 0363, "repz"},
0, NOOP_1, 047, "daa", {0, NOOP_1, 047, "daa"},
0, NOOP_1, 057, "das", {0, NOOP_1, 057, "das"},
0, NOOP_1, 067, "aaa", {0, NOOP_1, 067, "aaa"},
0, NOOP_1, 077, "aas", {0, NOOP_1, 077, "aas"},
0, NOOP_1, 0220, "nop", {0, NOOP_1, 0220, "nop"},
0, NOOP_1, 0230, "cbw", {0, NOOP_1, 0230, "cbw"},
0, NOOP_1, 0231, "cwd", {0, NOOP_1, 0231, "cwd"},
0, NOOP_1, 0233, "wait", {0, NOOP_1, 0233, "wait"},
0, NOOP_1, 0234, "pushf", {0, NOOP_1, 0234, "pushf"},
0, NOOP_1, 0235, "popf", {0, NOOP_1, 0235, "popf"},
0, NOOP_1, 0236, "sahf", {0, NOOP_1, 0236, "sahf"},
0, NOOP_1, 0237, "lahf", {0, NOOP_1, 0237, "lahf"},
0, NOOP_1, 0244, "movsb", {0, NOOP_1, 0244, "movsb"},
0, NOOP_1, 0245, "movs", {0, NOOP_1, 0245, "movs"},
0, NOOP_1, 0245, "movsw", {0, NOOP_1, 0245, "movsw"},
0, NOOP_1, 0246, "cmpsb", {0, NOOP_1, 0246, "cmpsb"},
0, NOOP_1, 0247, "cmps", {0, NOOP_1, 0247, "cmps"},
0, NOOP_1, 0247, "cmpsw", {0, NOOP_1, 0247, "cmpsw"},
0, NOOP_1, 0252, "stosb", {0, NOOP_1, 0252, "stosb"},
0, NOOP_1, 0253, "stos", {0, NOOP_1, 0253, "stos"},
0, NOOP_1, 0253, "stosw", {0, NOOP_1, 0253, "stosw"},
0, NOOP_1, 0254, "lodsb", {0, NOOP_1, 0254, "lodsb"},
0, NOOP_1, 0255, "lods", {0, NOOP_1, 0255, "lods"},
0, NOOP_1, 0255, "lodsw", {0, NOOP_1, 0255, "lodsw"},
0, NOOP_1, 0256, "scasb", {0, NOOP_1, 0256, "scasb"},
0, NOOP_1, 0257, "scas", {0, NOOP_1, 0257, "scas"},
0, NOOP_1, 0257, "scasw", {0, NOOP_1, 0257, "scasw"},
0, NOOP_1, 0316, "into", {0, NOOP_1, 0316, "into"},
0, NOOP_1, 0317, "iret", {0, NOOP_1, 0317, "iret"},
0, NOOP_1, 0327, "xlat", {0, NOOP_1, 0327, "xlat"},
0, NOOP_1, 0364, "hlt", {0, NOOP_1, 0364, "hlt"},
0, NOOP_1, 0365, "cmc", {0, NOOP_1, 0365, "cmc"},
0, NOOP_1, 0370, "clc", {0, NOOP_1, 0370, "clc"},
0, NOOP_1, 0371, "stc", {0, NOOP_1, 0371, "stc"},
0, NOOP_1, 0372, "cli", {0, NOOP_1, 0372, "cli"},
0, NOOP_1, 0373, "sti", {0, NOOP_1, 0373, "sti"},
0, NOOP_1, 0374, "cld", {0, NOOP_1, 0374, "cld"},
0, NOOP_1, 0375, "std", {0, NOOP_1, 0375, "std"},
0, NOOP_2, 0324+012<<8, "aam", {0, NOOP_2, 0324+012<<8, "aam"},
0, NOOP_2, 0325+012<<8, "aad", {0, NOOP_2, 0325+012<<8, "aad"},
0, JOP, 0340, "loopne", {0, JOP, 0340, "loopne"},
0, JOP, 0340, "loopnz", {0, JOP, 0340, "loopnz"},
0, JOP, 0341, "loope", {0, JOP, 0341, "loope"},
0, JOP, 0341, "loopz", {0, JOP, 0341, "loopz"},
0, JOP, 0342, "loop", {0, JOP, 0342, "loop"},
0, JOP, 0343, "jcxz", {0, JOP, 0343, "jcxz"},
0, JOP, 0160, "jo", {0, JOP, 0160, "jo"},
0, JOP, 0161, "jno", {0, JOP, 0161, "jno"},
0, JOP, 0162, "jb", {0, JOP, 0162, "jb"},
0, JOP, 0162, "jc", {0, JOP, 0162, "jc"},
0, JOP, 0162, "jnae", {0, JOP, 0162, "jnae"},
0, JOP, 0163, "jae", {0, JOP, 0163, "jae"},
0, JOP, 0163, "jnb", {0, JOP, 0163, "jnb"},
0, JOP, 0163, "jnc", {0, JOP, 0163, "jnc"},
0, JOP, 0164, "je", {0, JOP, 0164, "je"},
0, JOP, 0164, "jz", {0, JOP, 0164, "jz"},
0, JOP, 0165, "jne", {0, JOP, 0165, "jne"},
0, JOP, 0165, "jnz", {0, JOP, 0165, "jnz"},
0, JOP, 0166, "jbe", {0, JOP, 0166, "jbe"},
0, JOP, 0166, "jna", {0, JOP, 0166, "jna"},
0, JOP, 0167, "ja", {0, JOP, 0167, "ja"},
0, JOP, 0167, "jnbe", {0, JOP, 0167, "jnbe"},
0, JOP, 0170, "js", {0, JOP, 0170, "js"},
0, JOP, 0171, "jns", {0, JOP, 0171, "jns"},
0, JOP, 0172, "jp", {0, JOP, 0172, "jp"},
0, JOP, 0172, "jpe", {0, JOP, 0172, "jpe"},
0, JOP, 0173, "jnp", {0, JOP, 0173, "jnp"},
0, JOP, 0173, "jpo", {0, JOP, 0173, "jpo"},
0, JOP, 0174, "jl", {0, JOP, 0174, "jl"},
0, JOP, 0174, "jnge", {0, JOP, 0174, "jnge"},
0, JOP, 0175, "jge", {0, JOP, 0175, "jge"},
0, JOP, 0175, "jnl", {0, JOP, 0175, "jnl"},
0, JOP, 0176, "jle", {0, JOP, 0176, "jle"},
0, JOP, 0176, "jng", {0, JOP, 0176, "jng"},
0, JOP, 0177, "jg", {0, JOP, 0177, "jg"},
0, JOP, 0177, "jnle", {0, JOP, 0177, "jnle"},
0, PUSHOP, 0, "push", {0, PUSHOP, 0, "push"},
0, PUSHOP, 1, "pop", {0, PUSHOP, 1, "pop"},
0, IOOP, 0344, "inb", {0, IOOP, 0344, "inb"},
0, IOOP, 0345, "in", {0, IOOP, 0345, "in"},
0, IOOP, 0345, "inw", {0, IOOP, 0345, "inw"},
0, IOOP, 0346, "outb", {0, IOOP, 0346, "outb"},
0, IOOP, 0347, "out", {0, IOOP, 0347, "out"},
0, IOOP, 0347, "outw", {0, IOOP, 0347, "outw"},
0, ADDOP, 000, "addb", {0, ADDOP, 000, "addb"},
0, ADDOP, 001, "add", {0, ADDOP, 001, "add"},
0, ADDOP, 010, "orb", {0, ADDOP, 010, "orb"},
0, ADDOP, 011, "or", {0, ADDOP, 011, "or"},
0, ADDOP, 020, "adcb", {0, ADDOP, 020, "adcb"},
0, ADDOP, 021, "adc", {0, ADDOP, 021, "adc"},
0, ADDOP, 030, "sbbb", {0, ADDOP, 030, "sbbb"},
0, ADDOP, 031, "sbb", {0, ADDOP, 031, "sbb"},
0, ADDOP, 040, "andb", {0, ADDOP, 040, "andb"},
0, ADDOP, 041, "and", {0, ADDOP, 041, "and"},
0, ADDOP, 050, "subb", {0, ADDOP, 050, "subb"},
0, ADDOP, 051, "sub", {0, ADDOP, 051, "sub"},
0, ADDOP, 060, "xorb", {0, ADDOP, 060, "xorb"},
0, ADDOP, 061, "xor", {0, ADDOP, 061, "xor"},
0, ADDOP, 070, "cmpb", {0, ADDOP, 070, "cmpb"},
0, ADDOP, 071, "cmp", {0, ADDOP, 071, "cmp"},
0, ROLOP, 000, "rolb", {0, ROLOP, 000, "rolb"},
0, ROLOP, 001, "rol", {0, ROLOP, 001, "rol"},
0, ROLOP, 010, "rorb", {0, ROLOP, 010, "rorb"},
0, ROLOP, 011, "ror", {0, ROLOP, 011, "ror"},
0, ROLOP, 020, "rclb", {0, ROLOP, 020, "rclb"},
0, ROLOP, 021, "rcl", {0, ROLOP, 021, "rcl"},
0, ROLOP, 030, "rcrb", {0, ROLOP, 030, "rcrb"},
0, ROLOP, 031, "rcr", {0, ROLOP, 031, "rcr"},
0, ROLOP, 040, "salb", {0, ROLOP, 040, "salb"},
0, ROLOP, 040, "shlb", {0, ROLOP, 040, "shlb"},
0, ROLOP, 041, "sal", {0, ROLOP, 041, "sal"},
0, ROLOP, 041, "shl", {0, ROLOP, 041, "shl"},
0, ROLOP, 050, "shrb", {0, ROLOP, 050, "shrb"},
0, ROLOP, 051, "shr", {0, ROLOP, 051, "shr"},
0, ROLOP, 070, "sarb", {0, ROLOP, 070, "sarb"},
0, ROLOP, 071, "sar", {0, ROLOP, 071, "sar"},
0, INCOP, 000, "incb", {0, INCOP, 000, "incb"},
0, INCOP, 001, "inc", {0, INCOP, 001, "inc"},
0, INCOP, 010, "decb", {0, INCOP, 010, "decb"},
0, INCOP, 011, "dec", {0, INCOP, 011, "dec"},
0, NOTOP, 020, "notb", {0, NOTOP, 020, "notb"},
0, NOTOP, 021, "not", {0, NOTOP, 021, "not"},
0, NOTOP, 030, "negb", {0, NOTOP, 030, "negb"},
0, NOTOP, 031, "neg", {0, NOTOP, 031, "neg"},
0, NOTOP, 040, "mulb", {0, NOTOP, 040, "mulb"},
0, NOTOP, 041, "mul", {0, NOTOP, 041, "mul"},
0, NOTOP, 050, "imulb", {0, NOTOP, 050, "imulb"},
0, IMUL, 051, "imul", /* for 80286 */ {0, IMUL, 051, "imul"}, /* for 80286 */
0, NOTOP, 060, "divb", {0, NOTOP, 060, "divb"},
0, NOTOP, 061, "div", {0, NOTOP, 061, "div"},
0, NOTOP, 070, "idivb", {0, NOTOP, 070, "idivb"},
0, NOTOP, 071, "idiv", {0, NOTOP, 071, "idiv"},
0, CALLOP, 020+(0350<<8), "call", {0, CALLOP, 020+(0350<<8), "call"},
0, CALLOP, 040+(0351<<8), "jmp", {0, CALLOP, 040+(0351<<8), "jmp"},
0, CALFOP, 030+(0232<<8), "callf", {0, CALFOP, 030+(0232<<8), "callf"},
0, CALFOP, 050+(0352<<8), "jmpf", {0, CALFOP, 050+(0352<<8), "jmpf"},
0, LEAOP, 0215, "lea", {0, LEAOP, 0215, "lea"},
0, LEAOP, 0304, "les", {0, LEAOP, 0304, "les"},
0, LEAOP, 0305, "lds", {0, LEAOP, 0305, "lds"},
0, ESC, 0, "esc", {0, ESC, 0, "esc"},
0, INT, 0, "int", {0, INT, 0, "int"},
0, RET, 0303, "ret", {0, RET, 0303, "ret"},
0, RET, 0313, "retf", {0, RET, 0313, "retf"},
0, XCHG, 0, "xchgb", {0, XCHG, 0, "xchgb"},
0, XCHG, 1, "xchg", {0, XCHG, 1, "xchg"},
0, TEST, 0, "testb", {0, TEST, 0, "testb"},
0, TEST, 1, "test", {0, TEST, 1, "test"},
0, MOV, 0, "movb", {0, MOV, 0, "movb"},
0, MOV, 1, "mov", {0, MOV, 1, "mov"},
0, MOV, 1, "movw", {0, MOV, 1, "movw"},
/* Intel 8087 coprocessor keywords */ /* Intel 8087 coprocessor keywords */
0, ST, 0, "st", {0, ST, 0, "st"},
0, FNOOP, FESC+1+(0xF0<<8), "f2xm1", {0, FNOOP, FESC+1+(0xF0<<8), "f2xm1"},
0, FNOOP, FESC+1+(0xE1<<8), "fabs", {0, FNOOP, FESC+1+(0xE1<<8), "fabs"},
0, FNOOP, FESC+1+(0xE0<<8), "fchs", {0, FNOOP, FESC+1+(0xE0<<8), "fchs"},
0, FNOOP, FESC+3+(0xE2<<8), "fclex", {0, FNOOP, FESC+3+(0xE2<<8), "fclex"},
0, FNOOP, FESC+6+(0xD9<<8), "fcompp", {0, FNOOP, FESC+6+(0xD9<<8), "fcompp"},
0, FNOOP, FESC+1+(0xF6<<8), "fdecstp", {0, FNOOP, FESC+1+(0xF6<<8), "fdecstp"},
0, FNOOP, FESC+3+(0xE1<<8), "fdisi", {0, FNOOP, FESC+3+(0xE1<<8), "fdisi"},
0, FNOOP, FESC+3+(0xE0<<8), "feni", {0, FNOOP, FESC+3+(0xE0<<8), "feni"},
0, FNOOP, FESC+1+(0xF7<<8), "fincstp", {0, FNOOP, FESC+1+(0xF7<<8), "fincstp"},
0, FNOOP, FESC+3+(0xE3<<8), "finit", {0, FNOOP, FESC+3+(0xE3<<8), "finit"},
0, FNOOP, FESC+1+(0xE8<<8), "fld1", {0, FNOOP, FESC+1+(0xE8<<8), "fld1"},
0, FNOOP, FESC+1+(0xEA<<8), "fldl2e", {0, FNOOP, FESC+1+(0xEA<<8), "fldl2e"},
0, FNOOP, FESC+1+(0xE9<<8), "fldl2t", {0, FNOOP, FESC+1+(0xE9<<8), "fldl2t"},
0, FNOOP, FESC+1+(0xEC<<8), "fldlg2", {0, FNOOP, FESC+1+(0xEC<<8), "fldlg2"},
0, FNOOP, FESC+1+(0xED<<8), "fldln2", {0, FNOOP, FESC+1+(0xED<<8), "fldln2"},
0, FNOOP, FESC+1+(0xEB<<8), "fldpi", {0, FNOOP, FESC+1+(0xEB<<8), "fldpi"},
0, FNOOP, FESC+1+(0xEE<<8), "fldz", {0, FNOOP, FESC+1+(0xEE<<8), "fldz"},
0, FNOOP, FESC+1+(0xD0<<8), "fnop", {0, FNOOP, FESC+1+(0xD0<<8), "fnop"},
0, FNOOP, FESC+1+(0xF3<<8), "fpatan", {0, FNOOP, FESC+1+(0xF3<<8), "fpatan"},
0, FNOOP, FESC+1+(0xF8<<8), "fprem", {0, FNOOP, FESC+1+(0xF8<<8), "fprem"},
0, FNOOP, FESC+1+(0xF2<<8), "fptan", {0, FNOOP, FESC+1+(0xF2<<8), "fptan"},
0, FNOOP, FESC+1+(0xFC<<8), "frndint", {0, FNOOP, FESC+1+(0xFC<<8), "frndint"},
0, FNOOP, FESC+1+(0xFD<<8), "fscale", {0, FNOOP, FESC+1+(0xFD<<8), "fscale"},
0, FNOOP, FESC+1+(0xFA<<8), "fsqrt", {0, FNOOP, FESC+1+(0xFA<<8), "fsqrt"},
0, FNOOP, FESC+7+(0xE0<<8), "fstswax", /* 80287 */ {0, FNOOP, FESC+7+(0xE0<<8), "fstswax"}, /* 80287 */
0, FNOOP, FESC+1+(0xE4<<8), "ftst", {0, FNOOP, FESC+1+(0xE4<<8), "ftst"},
0, FNOOP, FESC+1+(0xE5<<8), "fxam", {0, FNOOP, FESC+1+(0xE5<<8), "fxam"},
0, FNOOP, FESC+1+(0xF4<<8), "fxtract", {0, FNOOP, FESC+1+(0xF4<<8), "fxtract"},
0, FNOOP, FESC+1+(0xF1<<8), "fyl2x", {0, FNOOP, FESC+1+(0xF1<<8), "fyl2x"},
0, FNOOP, FESC+1+(0xF9<<8), "fyl2pi", {0, FNOOP, FESC+1+(0xF9<<8), "fyl2pi"},
0, FMEM, FESC+6+(0<<11), "fiadds", {0, FMEM, FESC+6+(0<<11), "fiadds"},
0, FMEM, FESC+2+(0<<11), "fiaddl", {0, FMEM, FESC+2+(0<<11), "fiaddl"},
0, FMEM, FESC+0+(0<<11), "fadds", {0, FMEM, FESC+0+(0<<11), "fadds"},
0, FMEM, FESC+4+(0<<11), "faddd", {0, FMEM, FESC+4+(0<<11), "faddd"},
0, FMEM, FESC+7+(4<<11), "fbld", {0, FMEM, FESC+7+(4<<11), "fbld"},
0, FMEM, FESC+7+(6<<11), "fbstp", {0, FMEM, FESC+7+(6<<11), "fbstp"},
0, FMEM, FESC+6+(2<<11), "ficoms", {0, FMEM, FESC+6+(2<<11), "ficoms"},
0, FMEM, FESC+2+(2<<11), "ficoml", {0, FMEM, FESC+2+(2<<11), "ficoml"},
0, FMEM, FESC+0+(2<<11), "fcoms", {0, FMEM, FESC+0+(2<<11), "fcoms"},
0, FMEM, FESC+4+(2<<11), "fcomd", {0, FMEM, FESC+4+(2<<11), "fcomd"},
0, FMEM, FESC+6+(3<<11), "ficomps", {0, FMEM, FESC+6+(3<<11), "ficomps"},
0, FMEM, FESC+2+(3<<11), "ficompl", {0, FMEM, FESC+2+(3<<11), "ficompl"},
0, FMEM, FESC+0+(3<<11), "fcomps", {0, FMEM, FESC+0+(3<<11), "fcomps"},
0, FMEM, FESC+4+(3<<11), "fcompd", {0, FMEM, FESC+4+(3<<11), "fcompd"},
0, FMEM, FESC+6+(6<<11), "fidivs", {0, FMEM, FESC+6+(6<<11), "fidivs"},
0, FMEM, FESC+2+(6<<11), "fidivl", {0, FMEM, FESC+2+(6<<11), "fidivl"},
0, FMEM, FESC+0+(6<<11), "fdivs", {0, FMEM, FESC+0+(6<<11), "fdivs"},
0, FMEM, FESC+4+(6<<11), "fdivd", {0, FMEM, FESC+4+(6<<11), "fdivd"},
0, FMEM, FESC+6+(7<<11), "fidivrs", {0, FMEM, FESC+6+(7<<11), "fidivrs"},
0, FMEM, FESC+2+(7<<11), "fidivrl", {0, FMEM, FESC+2+(7<<11), "fidivrl"},
0, FMEM, FESC+0+(7<<11), "fdivrs", {0, FMEM, FESC+0+(7<<11), "fdivrs"},
0, FMEM, FESC+4+(7<<11), "fdivrd", {0, FMEM, FESC+4+(7<<11), "fdivrd"},
0, FMEM, FESC+7+(5<<11), "fildq", {0, FMEM, FESC+7+(5<<11), "fildq"},
0, FMEM, FESC+7+(0<<11), "filds", {0, FMEM, FESC+7+(0<<11), "filds"},
0, FMEM, FESC+3+(0<<11), "fildl", {0, FMEM, FESC+3+(0<<11), "fildl"},
0, FMEM, FESC+1+(0<<11), "flds", {0, FMEM, FESC+1+(0<<11), "flds"},
0, FMEM, FESC+5+(0<<11), "fldd", {0, FMEM, FESC+5+(0<<11), "fldd"},
0, FMEM, FESC+3+(5<<11), "fldx", {0, FMEM, FESC+3+(5<<11), "fldx"},
0, FMEM, FESC+1+(5<<11), "fldcw", {0, FMEM, FESC+1+(5<<11), "fldcw"},
0, FMEM, FESC+1+(4<<11), "fldenv", {0, FMEM, FESC+1+(4<<11), "fldenv"},
0, FMEM, FESC+6+(1<<11), "fimuls", {0, FMEM, FESC+6+(1<<11), "fimuls"},
0, FMEM, FESC+2+(1<<11), "fimull", {0, FMEM, FESC+2+(1<<11), "fimull"},
0, FMEM, FESC+0+(1<<11), "fmuls", {0, FMEM, FESC+0+(1<<11), "fmuls"},
0, FMEM, FESC+4+(1<<11), "fmuld", {0, FMEM, FESC+4+(1<<11), "fmuld"},
0, FMEM, FESC+5+(4<<11), "frstor", {0, FMEM, FESC+5+(4<<11), "frstor"},
0, FMEM, FESC+5+(6<<11), "fsave", {0, FMEM, FESC+5+(6<<11), "fsave"},
0, FMEM, FESC+7+(2<<11), "fists", {0, FMEM, FESC+7+(2<<11), "fists"},
0, FMEM, FESC+3+(2<<11), "fistl", {0, FMEM, FESC+3+(2<<11), "fistl"},
0, FMEM, FESC+1+(2<<11), "fsts", {0, FMEM, FESC+1+(2<<11), "fsts"},
0, FMEM, FESC+5+(2<<11), "fstd", {0, FMEM, FESC+5+(2<<11), "fstd"},
0, FMEM, FESC+7+(7<<11), "fistpq", {0, FMEM, FESC+7+(7<<11), "fistpq"},
0, FMEM, FESC+7+(3<<11), "fistps", {0, FMEM, FESC+7+(3<<11), "fistps"},
0, FMEM, FESC+3+(3<<11), "fistpl", {0, FMEM, FESC+3+(3<<11), "fistpl"},
0, FMEM, FESC+1+(3<<11), "fstps", {0, FMEM, FESC+1+(3<<11), "fstps"},
0, FMEM, FESC+5+(3<<11), "fstpd", {0, FMEM, FESC+5+(3<<11), "fstpd"},
0, FMEM, FESC+3+(7<<11), "fstpx", {0, FMEM, FESC+3+(7<<11), "fstpx"},
0, FMEM, FESC+1+(7<<11), "fstcw", {0, FMEM, FESC+1+(7<<11), "fstcw"},
0, FMEM, FESC+1+(6<<11), "fstenv", {0, FMEM, FESC+1+(6<<11), "fstenv"},
0, FMEM, FESC+5+(7<<11), "fstsw", {0, FMEM, FESC+5+(7<<11), "fstsw"},
0, FMEM, FESC+6+(4<<11), "fisubs", {0, FMEM, FESC+6+(4<<11), "fisubs"},
0, FMEM, FESC+2+(4<<11), "fisubl", {0, FMEM, FESC+2+(4<<11), "fisubl"},
0, FMEM, FESC+0+(4<<11), "fsubs", {0, FMEM, FESC+0+(4<<11), "fsubs"},
0, FMEM, FESC+4+(4<<11), "fsubd", {0, FMEM, FESC+4+(4<<11), "fsubd"},
0, FMEM, FESC+6+(5<<11), "fisubrs", {0, FMEM, FESC+6+(5<<11), "fisubrs"},
0, FMEM, FESC+2+(5<<11), "fisubrl", {0, FMEM, FESC+2+(5<<11), "fisubrl"},
0, FMEM, FESC+0+(5<<11), "fsubrs", {0, FMEM, FESC+0+(5<<11), "fsubrs"},
0, FMEM, FESC+4+(5<<11), "fsubrd", {0, FMEM, FESC+4+(5<<11), "fsubrd"},
0, FST_I, FESC+1+(0xC0<<8), "fld", {0, FST_I, FESC+1+(0xC0<<8), "fld"},
0, FST_I, FESC+5+(0xD0<<8), "fst", {0, FST_I, FESC+5+(0xD0<<8), "fst"},
0, FST_I, FESC+5+(0xC8<<8), "fstp", {0, FST_I, FESC+5+(0xC8<<8), "fstp"},
0, FST_I, FESC+1+(0xC8<<8), "fxch", {0, FST_I, FESC+1+(0xC8<<8), "fxch"},
0, FST_I, FESC+0+(0xD0<<8), "fcom", {0, FST_I, FESC+0+(0xD0<<8), "fcom"},
0, FST_I, FESC+0+(0xD8<<8), "fcomp", {0, FST_I, FESC+0+(0xD8<<8), "fcomp"},
0, FST_I, FESC+5+(0xC0<<8), "ffree", {0, FST_I, FESC+5+(0xC0<<8), "ffree"},
0, FST_ST, FESC+0+(0xC0<<8), "fadd", {0, FST_ST, FESC+0+(0xC0<<8), "fadd"},
0, FST_ST, FESC+2+(0xC0<<8), "faddp", {0, FST_ST, FESC+2+(0xC0<<8), "faddp"},
0, FST_ST2, FESC+0+(0xF0<<8), "fdiv", {0, FST_ST2, FESC+0+(0xF0<<8), "fdiv"},
0, FST_ST2, FESC+2+(0xF0<<8), "fdivp", {0, FST_ST2, FESC+2+(0xF0<<8), "fdivp"},
0, FST_ST2, FESC+0+(0xF8<<8), "fdivr", {0, FST_ST2, FESC+0+(0xF8<<8), "fdivr"},
0, FST_ST2, FESC+2+(0xF8<<8), "fdivrp", {0, FST_ST2, FESC+2+(0xF8<<8), "fdivrp"},
0, FST_ST, FESC+0+(0xC8<<8), "fmul", {0, FST_ST, FESC+0+(0xC8<<8), "fmul"},
0, FST_ST, FESC+2+(0xC8<<8), "fmulp", {0, FST_ST, FESC+2+(0xC8<<8), "fmulp"},
0, FST_ST2, FESC+0+(0xE0<<8), "fsub", {0, FST_ST2, FESC+0+(0xE0<<8), "fsub"},
0, FST_ST2, FESC+2+(0xE0<<8), "fsubp", {0, FST_ST2, FESC+2+(0xE0<<8), "fsubp"},
0, FST_ST2, FESC+0+(0xE8<<8), "fsubr", {0, FST_ST2, FESC+0+(0xE8<<8), "fsubr"},
0, FST_ST2, FESC+2+(0xE8<<8), "fsubrp", {0, FST_ST2, FESC+2+(0xE8<<8), "fsubrp"},
/* 80286 keywords */ /* 80286 keywords */
0, NOOP_1, 0140, "pusha", {0, NOOP_1, 0140, "pusha"},
0, NOOP_1, 0141, "popa", {0, NOOP_1, 0141, "popa"},
0, NOOP_1, 0154, "insb", {0, NOOP_1, 0154, "insb"},
0, NOOP_1, 0155, "ins", {0, NOOP_1, 0155, "ins"},
0, NOOP_1, 0155, "insw", {0, NOOP_1, 0155, "insw"},
0, NOOP_1, 0156, "outsb", {0, NOOP_1, 0156, "outsb"},
0, NOOP_1, 0157, "outs", {0, NOOP_1, 0157, "outs"},
0, NOOP_1, 0157, "outsw", {0, NOOP_1, 0157, "outsw"},
0, ARPLOP, 0143, "arpl", {0, ARPLOP, 0143, "arpl"},
0, ENTER, 0310, "enter", {0, ENTER, 0310, "enter"},
0, NOOP_1, 0311, "leave", {0, NOOP_1, 0311, "leave"},
0, LEAOP, 0142, "bound", {0, LEAOP, 0142, "bound"},
0, NOOP_2, 017+06<<8, "clts", {0, NOOP_2, 017+06<<8, "clts"},
0, EXTOP, 0002, "lar", {0, EXTOP, 0002, "lar"},
0, EXTOP, 0003, "lsl", {0, EXTOP, 0003, "lsl"},
0, EXTOP1, 0021, "lgdt", {0, EXTOP1, 0021, "lgdt"},
0, EXTOP1, 0001, "sgdt", {0, EXTOP1, 0001, "sgdt"},
0, EXTOP1, 0031, "lidt", {0, EXTOP1, 0031, "lidt"},
0, EXTOP1, 0011, "sidt", {0, EXTOP1, 0011, "sidt"},
0, EXTOP1, 0020, "lldt", {0, EXTOP1, 0020, "lldt"},
0, EXTOP1, 0000, "sldt", {0, EXTOP1, 0000, "sldt"},
0, EXTOP1, 0030, "ltr", {0, EXTOP1, 0030, "ltr"},
0, EXTOP1, 0010, "str", {0, EXTOP1, 0010, "str"},
0, EXTOP1, 0061, "lmsw", {0, EXTOP1, 0061, "lmsw"},
0, EXTOP1, 0041, "smsw", {0, EXTOP1, 0041, "smsw"},
0, EXTOP1, 0050, "verw", {0, EXTOP1, 0050, "verw"},
0, EXTOP1, 0040, "verr", {0, EXTOP1, 0040, "verr"},

View file

@ -7,460 +7,460 @@
* Motorola 68020 keywords * Motorola 68020 keywords
*/ */
0, SIZE, SIZE_B, ".b", {0, SIZE, SIZE_B, ".b"},
0, SIZE, SIZE_W, ".w", {0, SIZE, SIZE_W, ".w"},
0, SIZE, SIZE_L, ".l", {0, SIZE, SIZE_L, ".l"},
0, DREG, 00, "d0", {0, DREG, 00, "d0"},
0, DREG, 01, "d1", {0, DREG, 01, "d1"},
0, DREG, 02, "d2", {0, DREG, 02, "d2"},
0, DREG, 03, "d3", {0, DREG, 03, "d3"},
0, DREG, 04, "d4", {0, DREG, 04, "d4"},
0, DREG, 05, "d5", {0, DREG, 05, "d5"},
0, DREG, 06, "d6", {0, DREG, 06, "d6"},
0, DREG, 07, "d7", {0, DREG, 07, "d7"},
0, AREG, 00, "a0", {0, AREG, 00, "a0"},
0, AREG, 01, "a1", {0, AREG, 01, "a1"},
0, AREG, 02, "a2", {0, AREG, 02, "a2"},
0, AREG, 03, "a3", {0, AREG, 03, "a3"},
0, AREG, 04, "a4", {0, AREG, 04, "a4"},
0, AREG, 05, "a5", {0, AREG, 05, "a5"},
0, AREG, 06, "a6", {0, AREG, 06, "a6"},
0, AREG, 07, "a7", {0, AREG, 07, "a7"},
0, AREG, 07, "sp", {0, AREG, 07, "sp"},
0, PC, 0, "pc", {0, PC, 0, "pc"},
0, PC, 0200, "zpc", {0, PC, 0200, "zpc"},
0, CREG, 04001, "vbr", {0, CREG, 04001, "vbr"},
0, CREG, 0, "sfc", {0, CREG, 0, "sfc"},
0, CREG, 00001, "dfc", {0, CREG, 00001, "dfc"},
0, CREG, 00002, "cacr", {0, CREG, 00002, "cacr"},
0, CREG, 04002, "caar", {0, CREG, 04002, "caar"},
0, CREG, 04003, "msp", {0, CREG, 04003, "msp"},
0, CREG, 04004, "isp", {0, CREG, 04004, "isp"},
0, SPEC, 075, "usp", {0, SPEC, 075, "usp"},
0, SPEC, 076, "ccr", {0, SPEC, 076, "ccr"},
0, SPEC, 077, "sr", {0, SPEC, 077, "sr"},
0, ABCD, 0140400, "abcd", {0, ABCD, 0140400, "abcd"},
0, ABCD, 0100400, "sbcd", {0, ABCD, 0100400, "sbcd"},
0, ADDX, 0150400, "addx", {0, ADDX, 0150400, "addx"},
0, ADDX, 0110400, "subx", {0, ADDX, 0110400, "subx"},
0, ADD, 0153300, "add", {0, ADD, 0153300, "add"},
0, ADD, 0112700, "sub", {0, ADD, 0112700, "sub"},
0, AND, 0141000, "and", {0, AND, 0141000, "and"},
0, AND, 0135000, "eor", {0, AND, 0135000, "eor"},
0, AND, 0100000, "or", {0, AND, 0100000, "or"},
0, BITOP, 0000, "btst", {0, BITOP, 0000, "btst"},
0, BITOP, 0100, "bchg", {0, BITOP, 0100, "bchg"},
0, BITOP, 0200, "bclr", {0, BITOP, 0200, "bclr"},
0, BITOP, 0300, "bset", {0, BITOP, 0300, "bset"},
0, BITFIELD, 0164300, "bftst", {0, BITFIELD, 0164300, "bftst"},
0, BITFIELD, 0165300, "bfchg", {0, BITFIELD, 0165300, "bfchg"},
0, BITFIELD, 0166300, "bfclr", {0, BITFIELD, 0166300, "bfclr"},
0, BITFIELD, 0167300, "bfset", {0, BITFIELD, 0167300, "bfset"},
0, BF_TO_D, 0164700, "bfextu", {0, BF_TO_D, 0164700, "bfextu"},
0, BF_TO_D, 0164700, "bfexts", {0, BF_TO_D, 0164700, "bfexts"},
0, BF_TO_D, 0164700, "bfffo", {0, BF_TO_D, 0164700, "bfffo"},
0, BFINS, 0167700, "bfins", {0, BFINS, 0167700, "bfins"},
0, SHIFT, 0160340, "asr", {0, SHIFT, 0160340, "asr"},
0, SHIFT, 0160740, "asl", {0, SHIFT, 0160740, "asl"},
0, SHIFT, 0161350, "lsr", {0, SHIFT, 0161350, "lsr"},
0, SHIFT, 0161750, "lsl", {0, SHIFT, 0161750, "lsl"},
0, SHIFT, 0162360, "roxr", {0, SHIFT, 0162360, "roxr"},
0, SHIFT, 0162760, "roxl", {0, SHIFT, 0162760, "roxl"},
0, SHIFT, 0163370, "ror", {0, SHIFT, 0163370, "ror"},
0, SHIFT, 0163770, "rol", {0, SHIFT, 0163770, "rol"},
0, SZ_EA, 041000|DTA|ALT, "clr", {0, SZ_EA, 041000|DTA|ALT, "clr"},
0, SZ_EA, 042000|DTA|ALT, "neg", {0, SZ_EA, 042000|DTA|ALT, "neg"},
0, SZ_EA, 040000|DTA|ALT, "negx", {0, SZ_EA, 040000|DTA|ALT, "negx"},
0, SZ_EA, 043000|DTA|ALT, "not", {0, SZ_EA, 043000|DTA|ALT, "not"},
0, SZ_EA, 045000, "tst", {0, SZ_EA, 045000, "tst"},
0, OP_EA, 044000|DTA|ALT, "nbcd", {0, OP_EA, 044000|DTA|ALT, "nbcd"},
0, OP_EA, 045300|DTA|ALT, "tas", {0, OP_EA, 045300|DTA|ALT, "tas"},
0, OP_EA, 047200|CTR, "jsr", {0, OP_EA, 047200|CTR, "jsr"},
0, OP_EA, 047300|CTR, "jmp", {0, OP_EA, 047300|CTR, "jmp"},
0, OP_EA, 044100|CTR, "pea", {0, OP_EA, 044100|CTR, "pea"},
0, OP_EA, 050300, "st", {0, OP_EA, 050300, "st"},
0, OP_EA, 050700, "sf", {0, OP_EA, 050700, "sf"},
0, OP_EA, 051300, "shi", {0, OP_EA, 051300, "shi"},
0, OP_EA, 051700, "sls", {0, OP_EA, 051700, "sls"},
0, OP_EA, 052300, "scc", {0, OP_EA, 052300, "scc"},
0, OP_EA, 052700, "scs", {0, OP_EA, 052700, "scs"},
0, OP_EA, 053300, "sne", {0, OP_EA, 053300, "sne"},
0, OP_EA, 053700, "seq", {0, OP_EA, 053700, "seq"},
0, OP_EA, 054300, "svc", {0, OP_EA, 054300, "svc"},
0, OP_EA, 054700, "svs", {0, OP_EA, 054700, "svs"},
0, OP_EA, 055300, "spl", {0, OP_EA, 055300, "spl"},
0, OP_EA, 055700, "smi", {0, OP_EA, 055700, "smi"},
0, OP_EA, 056300, "sge", {0, OP_EA, 056300, "sge"},
0, OP_EA, 056700, "slt", {0, OP_EA, 056700, "slt"},
0, OP_EA, 057300, "sgt", {0, OP_EA, 057300, "sgt"},
0, OP_EA, 057700, "sle", {0, OP_EA, 057700, "sle"},
0, OP_NOOP, 047160, "reset", {0, OP_NOOP, 047160, "reset"},
0, OP_NOOP, 047161, "nop", {0, OP_NOOP, 047161, "nop"},
0, OP_NOOP, 047163, "rte", {0, OP_NOOP, 047163, "rte"},
0, OP_NOOP, 047165, "rts", {0, OP_NOOP, 047165, "rts"},
0, OP_NOOP, 047166, "trapv", {0, OP_NOOP, 047166, "trapv"},
0, OP_NOOP, 047167, "rtr", {0, OP_NOOP, 047167, "rtr"},
0, OP_NOOP, 045374, "illegal", {0, OP_NOOP, 045374, "illegal"},
0, PACK, 0100500, "pack", {0, PACK, 0100500, "pack"},
0, PACK, 0100600, "unpk", {0, PACK, 0100600, "unpk"},
0, DIVMUL, 0100, "divu", {0, DIVMUL, 0100, "divu"},
0, DIVMUL, 0101, "divs", {0, DIVMUL, 0101, "divs"},
0, DIVMUL, 0000, "mulu", {0, DIVMUL, 0000, "mulu"},
0, DIVMUL, 0001, "muls", {0, DIVMUL, 0001, "muls"},
0, DIVL, 046100, "divul", {0, DIVL, 046100, "divul"},
0, DIVL, 046101, "divsl", {0, DIVL, 046101, "divsl"},
0, BR, 060000, "bra", {0, BR, 060000, "bra"},
0, BR, 060400, "bsr", {0, BR, 060400, "bsr"},
0, BR, 061000, "bhi", {0, BR, 061000, "bhi"},
0, BR, 061400, "bls", {0, BR, 061400, "bls"},
0, BR, 062000, "bcc", {0, BR, 062000, "bcc"},
0, BR, 062400, "bcs", {0, BR, 062400, "bcs"},
0, BR, 063000, "bne", {0, BR, 063000, "bne"},
0, BR, 063400, "beq", {0, BR, 063400, "beq"},
0, BR, 064000, "bvc", {0, BR, 064000, "bvc"},
0, BR, 064400, "bvs", {0, BR, 064400, "bvs"},
0, BR, 065000, "bpl", {0, BR, 065000, "bpl"},
0, BR, 065400, "bmi", {0, BR, 065400, "bmi"},
0, BR, 066000, "bge", {0, BR, 066000, "bge"},
0, BR, 066400, "blt", {0, BR, 066400, "blt"},
0, BR, 067000, "bgt", {0, BR, 067000, "bgt"},
0, BR, 067400, "ble", {0, BR, 067400, "ble"},
0, DBR, 050310, "dbt", {0, DBR, 050310, "dbt"},
0, DBR, 050710, "dbf", {0, DBR, 050710, "dbf"},
0, DBR, 050710, "dbra", {0, DBR, 050710, "dbra"},
0, DBR, 051310, "dbhi", {0, DBR, 051310, "dbhi"},
0, DBR, 051710, "dbls", {0, DBR, 051710, "dbls"},
0, DBR, 052310, "dbcc", {0, DBR, 052310, "dbcc"},
0, DBR, 052710, "dbcs", {0, DBR, 052710, "dbcs"},
0, DBR, 053310, "dbne", {0, DBR, 053310, "dbne"},
0, DBR, 053710, "dbeq", {0, DBR, 053710, "dbeq"},
0, DBR, 054310, "dbvc", {0, DBR, 054310, "dbvc"},
0, DBR, 054710, "dbvs", {0, DBR, 054710, "dbvs"},
0, DBR, 055310, "dbpl", {0, DBR, 055310, "dbpl"},
0, DBR, 055710, "dbmi", {0, DBR, 055710, "dbmi"},
0, DBR, 056310, "dbge", {0, DBR, 056310, "dbge"},
0, DBR, 056710, "dblt", {0, DBR, 056710, "dblt"},
0, DBR, 057310, "dbgt", {0, DBR, 057310, "dbgt"},
0, DBR, 057710, "dble", {0, DBR, 057710, "dble"},
0, OP_EXT, 044000, "ext", {0, OP_EXT, 044000, "ext"},
0, OP_EXT, 044400, "extb", {0, OP_EXT, 044400, "extb"},
0, OP_RANGE, 04000, "chk2", {0, OP_RANGE, 04000, "chk2"},
0, OP_RANGE, 0, "cmp2", {0, OP_RANGE, 0, "cmp2"},
0, TRAPCC, 050370, "trapt", {0, TRAPCC, 050370, "trapt"},
0, TRAPCC, 050770, "trapf", {0, TRAPCC, 050770, "trapf"},
0, TRAPCC, 051370, "traphi", {0, TRAPCC, 051370, "traphi"},
0, TRAPCC, 051770, "trapls", {0, TRAPCC, 051770, "trapls"},
0, TRAPCC, 052370, "trapcc", {0, TRAPCC, 052370, "trapcc"},
0, TRAPCC, 052770, "trapcs", {0, TRAPCC, 052770, "trapcs"},
0, TRAPCC, 053370, "trapeq", {0, TRAPCC, 053370, "trapeq"},
0, TRAPCC, 053770, "trapvc", {0, TRAPCC, 053770, "trapvc"},
0, TRAPCC, 054370, "trapvs", {0, TRAPCC, 054370, "trapvs"},
0, TRAPCC, 054770, "trappl", {0, TRAPCC, 054770, "trappl"},
0, TRAPCC, 055370, "trapmi", {0, TRAPCC, 055370, "trapmi"},
0, TRAPCC, 055770, "trapge", {0, TRAPCC, 055770, "trapge"},
0, TRAPCC, 056370, "traplt", {0, TRAPCC, 056370, "traplt"},
0, TRAPCC, 056770, "trapgt", {0, TRAPCC, 056770, "trapgt"},
0, TRAPCC, 057370, "traple", {0, TRAPCC, 057370, "traple"},
0, TRAPCC, 057770, "trapne", {0, TRAPCC, 057770, "trapne"},
0, CMP, 0, "cmp", {0, CMP, 0, "cmp"},
0, MOVE, 0, "move", {0, MOVE, 0, "move"},
0, MOVESP, 0, "movep", {0, MOVESP, 0, "movep"},
0, MOVEM, 0, "movem", {0, MOVEM, 0, "movem"},
0, MOVESP, 1, "moves", {0, MOVESP, 1, "moves"},
0, MOVEC, 0, "movec", {0, MOVEC, 0, "movec"},
0, SWAP, 0, "swap", {0, SWAP, 0, "swap"},
0, LINK, 0, "link", {0, LINK, 0, "link"},
0, UNLK, 0, "unlk", {0, UNLK, 0, "unlk"},
0, TRAP, 0, "trap", {0, TRAP, 0, "trap"},
0, OP_IMM, 047162, "stop", {0, OP_IMM, 047162, "stop"},
0, CHK, 0, "chk", {0, CHK, 0, "chk"},
0, RTM, 0, "rtm", {0, RTM, 0, "rtm"},
0, EXG, 0, "exg", {0, EXG, 0, "exg"},
0, LEA, 0, "lea", {0, LEA, 0, "lea"},
0, OP_IMM, 047164, "rtd", {0, OP_IMM, 047164, "rtd"},
0, BKPT, 0, "bkpt", {0, BKPT, 0, "bkpt"},
0, CALLM, 0, "callm", {0, CALLM, 0, "callm"},
0, CAS, 0, "cas", {0, CAS, 0, "cas"},
0, CAS2, 0, "cas2", {0, CAS2, 0, "cas2"},
0, CP, 00000, "c0", {0, CP, 00000, "c0"},
0, CP, 01000, "c1", {0, CP, 01000, "c1"},
0, CP, 02000, "c2", {0, CP, 02000, "c2"},
0, CP, 03000, "c3", {0, CP, 03000, "c3"},
0, CP, 04000, "c4", {0, CP, 04000, "c4"},
0, CP, 05000, "c5", {0, CP, 05000, "c5"},
0, CP, 06000, "c6", {0, CP, 06000, "c6"},
0, CP, 07000, "c7", {0, CP, 07000, "c7"},
/* ???? what is this ???? */ /* ???? what is this ???? */
0, CPGEN, 0170000, ".gen", {0, CPGEN, 0170000, ".gen"},
0, CPSCC, 0170100, ".s", {0, CPSCC, 0170100, ".s"},
0, CPDBCC, 0170110, ".db", {0, CPDBCC, 0170110, ".db"},
0, CPTRAPCC, 0170170, ".trap", {0, CPTRAPCC, 0170170, ".trap"},
0, CPBCC, 0170200, ".br", /* 'r' to distinguish from SIZE_B {0, CPBCC, 0170200, ".br"}, /* 'r' to distinguish from SIZE_B
*/ */
0, CPSAVREST, 0170400, ".save", {0, CPSAVREST, 0170400, ".save"},
0, CPSAVREST, 0170500, ".restore", {0, CPSAVREST, 0170500, ".restore"},
/* ???? end of what is this ???? */ /* ???? end of what is this ???? */
/* M68030 MMU registers */ /* M68030 MMU registers */
0, MREG, 0040000, "tc", {0, MREG, 0040000, "tc"},
0, MREG, 0044000, "srp", {0, MREG, 0044000, "srp"},
0, MREG, 0046000, "crp", {0, MREG, 0046000, "crp"},
0, MREG, 0060000, "mmusr", {0, MREG, 0060000, "mmusr"},
0, MREG, 0060000, "psr", {0, MREG, 0060000, "psr"},
0, MREG, 0004000, "tt0", {0, MREG, 0004000, "tt0"},
0, MREG, 0006000, "tt1", {0, MREG, 0006000, "tt1"},
/* M68030 MMU instructions */ /* M68030 MMU instructions */
0, PFLUSHA, 0022000, "pflusha", {0, PFLUSHA, 0022000, "pflusha"},
0, PFLUSH, 0020000, "pflush", {0, PFLUSH, 0020000, "pflush"},
0, PLOAD, 0021000, "ploadr", {0, PLOAD, 0021000, "ploadr"},
0, PLOAD, 0020000, "ploadw", {0, PLOAD, 0020000, "ploadw"},
0, PTEST, 0101000, "ptestr", {0, PTEST, 0101000, "ptestr"},
0, PTEST, 0100000, "ptestw", {0, PTEST, 0100000, "ptestw"},
0, PMOVE, 0000000, "pmove", {0, PMOVE, 0000000, "pmove"},
0, PMOVE, 0000400, "pmovefd", {0, PMOVE, 0000400, "pmovefd"},
/* floating point coprocessor ... */ /* floating point coprocessor ... */
0, FSIZE, FSIZE_S, ".s", {0, FSIZE, FSIZE_S, ".s"},
0, FSIZE, FSIZE_X, ".x", {0, FSIZE, FSIZE_X, ".x"},
0, FSIZE, FSIZE_P, ".p", {0, FSIZE, FSIZE_P, ".p"},
0, FSIZE, FSIZE_D, ".d", {0, FSIZE, FSIZE_D, ".d"},
0, FPREG, 0, "fp0", {0, FPREG, 0, "fp0"},
0, FPREG, 1, "fp1", {0, FPREG, 1, "fp1"},
0, FPREG, 2, "fp2", {0, FPREG, 2, "fp2"},
0, FPREG, 3, "fp3", {0, FPREG, 3, "fp3"},
0, FPREG, 4, "fp4", {0, FPREG, 4, "fp4"},
0, FPREG, 5, "fp5", {0, FPREG, 5, "fp5"},
0, FPREG, 6, "fp6", {0, FPREG, 6, "fp6"},
0, FPREG, 7, "fp7", {0, FPREG, 7, "fp7"},
0, FPCR, 1, "fpiar", {0, FPCR, 1, "fpiar"},
0, FPCR, 2, "fpsr", {0, FPCR, 2, "fpsr"},
0, FPCR, 4, "fpcr", {0, FPCR, 4, "fpcr"},
0, FMOVE, 0, "fmove", {0, FMOVE, 0, "fmove"},
0, FMOVECR, 0, "fmovecr", {0, FMOVECR, 0, "fmovecr"},
0, FMOVEM, 0, "fmovem", {0, FMOVEM, 0, "fmovem"},
0, FDYADIC, 042, "fadd", {0, FDYADIC, 042, "fadd"},
0, FDYADIC, 070, "fcmp", {0, FDYADIC, 070, "fcmp"},
0, FDYADIC, 040, "fdiv", {0, FDYADIC, 040, "fdiv"},
0, FDYADIC, 041, "fmod", {0, FDYADIC, 041, "fmod"},
0, FDYADIC, 043, "fmul", {0, FDYADIC, 043, "fmul"},
0, FDYADIC, 045, "frem", {0, FDYADIC, 045, "frem"},
0, FDYADIC, 046, "fscale", {0, FDYADIC, 046, "fscale"},
0, FDYADIC, 044, "fsgldiv", {0, FDYADIC, 044, "fsgldiv"},
0, FDYADIC, 047, "fsglmul", {0, FDYADIC, 047, "fsglmul"},
0, FDYADIC, 050, "fsub", {0, FDYADIC, 050, "fsub"},
0, FMONADIC, 030, "fabs", {0, FMONADIC, 030, "fabs"},
0, FMONADIC, 034, "facos", {0, FMONADIC, 034, "facos"},
0, FMONADIC, 014, "fasin", {0, FMONADIC, 014, "fasin"},
0, FMONADIC, 012, "fatan", {0, FMONADIC, 012, "fatan"},
0, FMONADIC, 015, "fatanh", {0, FMONADIC, 015, "fatanh"},
0, FMONADIC, 035, "fcos", {0, FMONADIC, 035, "fcos"},
0, FMONADIC, 031, "fcosh", {0, FMONADIC, 031, "fcosh"},
0, FMONADIC, 020, "fetox", {0, FMONADIC, 020, "fetox"},
0, FMONADIC, 010, "fetoxm1", {0, FMONADIC, 010, "fetoxm1"},
0, FMONADIC, 036, "fgetexp", {0, FMONADIC, 036, "fgetexp"},
0, FMONADIC, 037, "fgetman", {0, FMONADIC, 037, "fgetman"},
0, FMONADIC, 001, "fint", {0, FMONADIC, 001, "fint"},
0, FMONADIC, 003, "fintrz", {0, FMONADIC, 003, "fintrz"},
0, FMONADIC, 024, "flogn", {0, FMONADIC, 024, "flogn"},
0, FMONADIC, 006, "flognp1", {0, FMONADIC, 006, "flognp1"},
0, FMONADIC, 025, "flog10", {0, FMONADIC, 025, "flog10"},
0, FMONADIC, 026, "flog2", {0, FMONADIC, 026, "flog2"},
0, FMONADIC, 032, "fneg", {0, FMONADIC, 032, "fneg"},
0, FMONADIC, 016, "fsin", {0, FMONADIC, 016, "fsin"},
0, FMONADIC, 002, "fsinh", {0, FMONADIC, 002, "fsinh"},
0, FMONADIC, 004, "fsqrt", {0, FMONADIC, 004, "fsqrt"},
0, FMONADIC, 017, "ftan", {0, FMONADIC, 017, "ftan"},
0, FMONADIC, 011, "ftanh", {0, FMONADIC, 011, "ftanh"},
0, FMONADIC, 022, "ftentox", {0, FMONADIC, 022, "ftentox"},
0, FMONADIC, 021, "ftwotox", {0, FMONADIC, 021, "ftwotox"},
0, FSINCOS, 060, "fsincos", {0, FSINCOS, 060, "fsincos"},
0, FBCC, 001, "fbeq", {0, FBCC, 001, "fbeq"},
0, FBCC, 016, "fbne", {0, FBCC, 016, "fbne"},
0, FBCC, 022, "fbgt", {0, FBCC, 022, "fbgt"},
0, FBCC, 035, "fbngt", {0, FBCC, 035, "fbngt"},
0, FBCC, 023, "fbge", {0, FBCC, 023, "fbge"},
0, FBCC, 034, "fbnge", {0, FBCC, 034, "fbnge"},
0, FBCC, 024, "fblt", {0, FBCC, 024, "fblt"},
0, FBCC, 033, "fbnlt", {0, FBCC, 033, "fbnlt"},
0, FBCC, 025, "fble", {0, FBCC, 025, "fble"},
0, FBCC, 032, "fbnle", {0, FBCC, 032, "fbnle"},
0, FBCC, 026, "fbgl", {0, FBCC, 026, "fbgl"},
0, FBCC, 031, "fbngl", {0, FBCC, 031, "fbngl"},
0, FBCC, 027, "fbgle", {0, FBCC, 027, "fbgle"},
0, FBCC, 030, "fbngle", {0, FBCC, 030, "fbngle"},
0, FBCC, 002, "fbogt", {0, FBCC, 002, "fbogt"},
0, FBCC, 015, "fbule", {0, FBCC, 015, "fbule"},
0, FBCC, 003, "fboge", {0, FBCC, 003, "fboge"},
0, FBCC, 014, "fbult", {0, FBCC, 014, "fbult"},
0, FBCC, 004, "fbolt", {0, FBCC, 004, "fbolt"},
0, FBCC, 013, "fbuge", {0, FBCC, 013, "fbuge"},
0, FBCC, 005, "fbole", {0, FBCC, 005, "fbole"},
0, FBCC, 012, "fbugt", {0, FBCC, 012, "fbugt"},
0, FBCC, 006, "fbogl", {0, FBCC, 006, "fbogl"},
0, FBCC, 011, "fbueq", {0, FBCC, 011, "fbueq"},
0, FBCC, 007, "fbor", {0, FBCC, 007, "fbor"},
0, FBCC, 010, "fbun", {0, FBCC, 010, "fbun"},
0, FBCC, 000, "fbf", {0, FBCC, 000, "fbf"},
0, FBCC, 017, "fbt", {0, FBCC, 017, "fbt"},
0, FBCC, 020, "fbsf", {0, FBCC, 020, "fbsf"},
0, FBCC, 037, "fbst", {0, FBCC, 037, "fbst"},
0, FBCC, 021, "fbseq", {0, FBCC, 021, "fbseq"},
0, FBCC, 036, "fbsne", {0, FBCC, 036, "fbsne"},
0, FDBCC, 001, "fdbeq", {0, FDBCC, 001, "fdbeq"},
0, FDBCC, 016, "fdbne", {0, FDBCC, 016, "fdbne"},
0, FDBCC, 022, "fdbgt", {0, FDBCC, 022, "fdbgt"},
0, FDBCC, 035, "fdbngt", {0, FDBCC, 035, "fdbngt"},
0, FDBCC, 023, "fdbge", {0, FDBCC, 023, "fdbge"},
0, FDBCC, 034, "fdbnge", {0, FDBCC, 034, "fdbnge"},
0, FDBCC, 024, "fdblt", {0, FDBCC, 024, "fdblt"},
0, FDBCC, 033, "fdbnlt", {0, FDBCC, 033, "fdbnlt"},
0, FDBCC, 025, "fdble", {0, FDBCC, 025, "fdble"},
0, FDBCC, 032, "fdbnle", {0, FDBCC, 032, "fdbnle"},
0, FDBCC, 026, "fdbgl", {0, FDBCC, 026, "fdbgl"},
0, FDBCC, 031, "fdbngl", {0, FDBCC, 031, "fdbngl"},
0, FDBCC, 027, "fdbgle", {0, FDBCC, 027, "fdbgle"},
0, FDBCC, 030, "fdbngle", {0, FDBCC, 030, "fdbngle"},
0, FDBCC, 002, "fdbogt", {0, FDBCC, 002, "fdbogt"},
0, FDBCC, 015, "fdbule", {0, FDBCC, 015, "fdbule"},
0, FDBCC, 003, "fdboge", {0, FDBCC, 003, "fdboge"},
0, FDBCC, 014, "fdbult", {0, FDBCC, 014, "fdbult"},
0, FDBCC, 004, "fdbolt", {0, FDBCC, 004, "fdbolt"},
0, FDBCC, 013, "fdbuge", {0, FDBCC, 013, "fdbuge"},
0, FDBCC, 005, "fdbole", {0, FDBCC, 005, "fdbole"},
0, FDBCC, 012, "fdbugt", {0, FDBCC, 012, "fdbugt"},
0, FDBCC, 006, "fdbogl", {0, FDBCC, 006, "fdbogl"},
0, FDBCC, 011, "fdbueq", {0, FDBCC, 011, "fdbueq"},
0, FDBCC, 007, "fdbor", {0, FDBCC, 007, "fdbor"},
0, FDBCC, 010, "fdbun", {0, FDBCC, 010, "fdbun"},
0, FDBCC, 000, "fdbf", {0, FDBCC, 000, "fdbf"},
0, FDBCC, 017, "fdbt", {0, FDBCC, 017, "fdbt"},
0, FDBCC, 020, "fdbsf", {0, FDBCC, 020, "fdbsf"},
0, FDBCC, 037, "fdbst", {0, FDBCC, 037, "fdbst"},
0, FDBCC, 021, "fdbseq", {0, FDBCC, 021, "fdbseq"},
0, FDBCC, 036, "fdbsne", {0, FDBCC, 036, "fdbsne"},
0, FNOP, 0, "fnop", {0, FNOP, 0, "fnop"},
0, FSCC, 001, "fseq", {0, FSCC, 001, "fseq"},
0, FSCC, 016, "fsne", {0, FSCC, 016, "fsne"},
0, FSCC, 022, "fsgt", {0, FSCC, 022, "fsgt"},
0, FSCC, 035, "fsngt", {0, FSCC, 035, "fsngt"},
0, FSCC, 023, "fsge", {0, FSCC, 023, "fsge"},
0, FSCC, 034, "fsnge", {0, FSCC, 034, "fsnge"},
0, FSCC, 024, "fslt", {0, FSCC, 024, "fslt"},
0, FSCC, 033, "fsnlt", {0, FSCC, 033, "fsnlt"},
0, FSCC, 025, "fsle", {0, FSCC, 025, "fsle"},
0, FSCC, 032, "fsnle", {0, FSCC, 032, "fsnle"},
0, FSCC, 026, "fsgl", {0, FSCC, 026, "fsgl"},
0, FSCC, 031, "fsngl", {0, FSCC, 031, "fsngl"},
0, FSCC, 027, "fsgle", {0, FSCC, 027, "fsgle"},
0, FSCC, 030, "fsngle", {0, FSCC, 030, "fsngle"},
0, FSCC, 002, "fsogt", {0, FSCC, 002, "fsogt"},
0, FSCC, 015, "fsule", {0, FSCC, 015, "fsule"},
0, FSCC, 003, "fsoge", {0, FSCC, 003, "fsoge"},
0, FSCC, 014, "fsult", {0, FSCC, 014, "fsult"},
0, FSCC, 004, "fsolt", {0, FSCC, 004, "fsolt"},
0, FSCC, 013, "fsuge", {0, FSCC, 013, "fsuge"},
0, FSCC, 005, "fsole", {0, FSCC, 005, "fsole"},
0, FSCC, 012, "fsugt", {0, FSCC, 012, "fsugt"},
0, FSCC, 006, "fsogl", {0, FSCC, 006, "fsogl"},
0, FSCC, 011, "fsueq", {0, FSCC, 011, "fsueq"},
0, FSCC, 007, "fsor", {0, FSCC, 007, "fsor"},
0, FSCC, 010, "fsun", {0, FSCC, 010, "fsun"},
0, FSCC, 000, "fsf", {0, FSCC, 000, "fsf"},
0, FSCC, 017, "fst", {0, FSCC, 017, "fst"},
0, FSCC, 020, "fssf", {0, FSCC, 020, "fssf"},
0, FSCC, 037, "fsst", {0, FSCC, 037, "fsst"},
0, FSCC, 021, "fsseq", {0, FSCC, 021, "fsseq"},
0, FSCC, 036, "fssne", {0, FSCC, 036, "fssne"},
0, FTST, 0, "ftst", {0, FTST, 0, "ftst"},
0, FSAVRES, MEM|ALT|0430, "fsave", {0, FSAVRES, MEM|ALT|0430, "fsave"},
0, FSAVRES, MEM|0540, "frestore", {0, FSAVRES, MEM|0540, "frestore"},
0, FTRAPCC, 001, "ftrapeq", {0, FTRAPCC, 001, "ftrapeq"},
0, FTRAPCC, 016, "ftrapne", {0, FTRAPCC, 016, "ftrapne"},
0, FTRAPCC, 022, "ftrapgt", {0, FTRAPCC, 022, "ftrapgt"},
0, FTRAPCC, 035, "ftrapngt", {0, FTRAPCC, 035, "ftrapngt"},
0, FTRAPCC, 023, "ftrapge", {0, FTRAPCC, 023, "ftrapge"},
0, FTRAPCC, 034, "ftrapnge", {0, FTRAPCC, 034, "ftrapnge"},
0, FTRAPCC, 024, "ftraplt", {0, FTRAPCC, 024, "ftraplt"},
0, FTRAPCC, 033, "ftrapnlt", {0, FTRAPCC, 033, "ftrapnlt"},
0, FTRAPCC, 025, "ftraple", {0, FTRAPCC, 025, "ftraple"},
0, FTRAPCC, 032, "ftrapnle", {0, FTRAPCC, 032, "ftrapnle"},
0, FTRAPCC, 026, "ftrapgl", {0, FTRAPCC, 026, "ftrapgl"},
0, FTRAPCC, 031, "ftrapngl", {0, FTRAPCC, 031, "ftrapngl"},
0, FTRAPCC, 027, "ftrapgle", {0, FTRAPCC, 027, "ftrapgle"},
0, FTRAPCC, 030, "ftrapngle", {0, FTRAPCC, 030, "ftrapngle"},
0, FTRAPCC, 002, "ftrapogt", {0, FTRAPCC, 002, "ftrapogt"},
0, FTRAPCC, 015, "ftrapule", {0, FTRAPCC, 015, "ftrapule"},
0, FTRAPCC, 003, "ftrapoge", {0, FTRAPCC, 003, "ftrapoge"},
0, FTRAPCC, 014, "ftrapult", {0, FTRAPCC, 014, "ftrapult"},
0, FTRAPCC, 004, "ftrapolt", {0, FTRAPCC, 004, "ftrapolt"},
0, FTRAPCC, 013, "ftrapuge", {0, FTRAPCC, 013, "ftrapuge"},
0, FTRAPCC, 005, "ftrapole", {0, FTRAPCC, 005, "ftrapole"},
0, FTRAPCC, 012, "ftrapugt", {0, FTRAPCC, 012, "ftrapugt"},
0, FTRAPCC, 006, "ftrapogl", {0, FTRAPCC, 006, "ftrapogl"},
0, FTRAPCC, 011, "ftrapueq", {0, FTRAPCC, 011, "ftrapueq"},
0, FTRAPCC, 007, "ftrapor", {0, FTRAPCC, 007, "ftrapor"},
0, FTRAPCC, 010, "ftrapun", {0, FTRAPCC, 010, "ftrapun"},
0, FTRAPCC, 000, "ftrapf", {0, FTRAPCC, 000, "ftrapf"},
0, FTRAPCC, 017, "ftrapt", {0, FTRAPCC, 017, "ftrapt"},
0, FTRAPCC, 020, "ftrapsf", {0, FTRAPCC, 020, "ftrapsf"},
0, FTRAPCC, 037, "ftrapst", {0, FTRAPCC, 037, "ftrapst"},
0, FTRAPCC, 021, "ftrapseq", {0, FTRAPCC, 021, "ftrapseq"},
0, FTRAPCC, 036, "ftrapsne", {0, FTRAPCC, 036, "ftrapsne"},

View file

@ -8,382 +8,382 @@
* Motorola 68000/68010 keywords * Motorola 68000/68010 keywords
*/ */
0, EXTERN, 0, ".globl", {0, EXTERN, 0, ".globl"},
0, SIZE, SIZE_B, ".b", {0, SIZE, SIZE_B, ".b"},
0, SIZE, SIZE_W, ".w", {0, SIZE, SIZE_W, ".w"},
0, SIZE, SIZE_L, ".l", {0, SIZE, SIZE_L, ".l"},
0, DREG, 00, "d0", {0, DREG, 00, "d0"},
0, DREG, 01, "d1", {0, DREG, 01, "d1"},
0, DREG, 02, "d2", {0, DREG, 02, "d2"},
0, DREG, 03, "d3", {0, DREG, 03, "d3"},
0, DREG, 04, "d4", {0, DREG, 04, "d4"},
0, DREG, 05, "d5", {0, DREG, 05, "d5"},
0, DREG, 06, "d6", {0, DREG, 06, "d6"},
0, DREG, 07, "d7", {0, DREG, 07, "d7"},
0, AREG, 00, "a0", {0, AREG, 00, "a0"},
0, AREG, 01, "a1", {0, AREG, 01, "a1"},
0, AREG, 02, "a2", {0, AREG, 02, "a2"},
0, AREG, 03, "a3", {0, AREG, 03, "a3"},
0, AREG, 04, "a4", {0, AREG, 04, "a4"},
0, AREG, 05, "a5", {0, AREG, 05, "a5"},
0, AREG, 06, "a6", {0, AREG, 06, "a6"},
0, AREG, 07, "a7", {0, AREG, 07, "a7"},
0, AREG, 07, "sp", {0, AREG, 07, "sp"},
0, PC, 8, "pc", {0, PC, 8, "pc"},
0, MODEL, 0, ".68000", {0, MODEL, 0, ".68000"},
0, MODEL, 1, ".68010", {0, MODEL, 1, ".68010"},
0, CREG, 04001, "vbr", {0, CREG, 04001, "vbr"},
0, CREG, 0, "sfc", {0, CREG, 0, "sfc"},
0, CREG, 00001, "dfc", {0, CREG, 00001, "dfc"},
0, SPEC, 075, "usp", {0, SPEC, 075, "usp"},
0, SPEC, 076, "ccr", {0, SPEC, 076, "ccr"},
0, SPEC, 077, "sr", {0, SPEC, 077, "sr"},
0, ABCD, 0140400, "abcd", {0, ABCD, 0140400, "abcd"},
0, ABCD, 0100400, "sbcd", {0, ABCD, 0100400, "sbcd"},
0, ADDX, 0150400, "addx", {0, ADDX, 0150400, "addx"},
0, ADDX, 0110400, "subx", {0, ADDX, 0110400, "subx"},
0, ADD, 0153300, "add", {0, ADD, 0153300, "add"},
0, ADD, 0112700, "sub", {0, ADD, 0112700, "sub"},
0, AND, 0141000, "and", {0, AND, 0141000, "and"},
0, AND, 0135000, "eor", {0, AND, 0135000, "eor"},
0, AND, 0100000, "or", {0, AND, 0100000, "or"},
0, BITOP, 0000, "btst", {0, BITOP, 0000, "btst"},
0, BITOP, 0100, "bchg", {0, BITOP, 0100, "bchg"},
0, BITOP, 0200, "bclr", {0, BITOP, 0200, "bclr"},
0, BITOP, 0300, "bset", {0, BITOP, 0300, "bset"},
0, SHIFT, 0160340, "asr", {0, SHIFT, 0160340, "asr"},
0, SHIFT, 0160740, "asl", {0, SHIFT, 0160740, "asl"},
0, SHIFT, 0161350, "lsr", {0, SHIFT, 0161350, "lsr"},
0, SHIFT, 0161750, "lsl", {0, SHIFT, 0161750, "lsl"},
0, SHIFT, 0162360, "roxr", {0, SHIFT, 0162360, "roxr"},
0, SHIFT, 0162760, "roxl", {0, SHIFT, 0162760, "roxl"},
0, SHIFT, 0163370, "ror", {0, SHIFT, 0163370, "ror"},
0, SHIFT, 0163770, "rol", {0, SHIFT, 0163770, "rol"},
0, SZ_EA, 041000|DTA|ALT, "clr", {0, SZ_EA, 041000|DTA|ALT, "clr"},
0, SZ_EA, 042000|DTA|ALT, "neg", {0, SZ_EA, 042000|DTA|ALT, "neg"},
0, SZ_EA, 040000|DTA|ALT, "negx", {0, SZ_EA, 040000|DTA|ALT, "negx"},
0, SZ_EA, 043000|DTA|ALT, "not", {0, SZ_EA, 043000|DTA|ALT, "not"},
0, SZ_EA, 045000|DTA|ALT, "tst", {0, SZ_EA, 045000|DTA|ALT, "tst"},
0, OP_EA, 044000|DTA|ALT, "nbcd", {0, OP_EA, 044000|DTA|ALT, "nbcd"},
0, OP_EA, 045300|DTA|ALT, "tas", {0, OP_EA, 045300|DTA|ALT, "tas"},
0, OP_EA, 047200|CTR, "jsr", {0, OP_EA, 047200|CTR, "jsr"},
0, OP_EA, 047300|CTR, "jmp", {0, OP_EA, 047300|CTR, "jmp"},
0, OP_EA, 044100|CTR, "pea", {0, OP_EA, 044100|CTR, "pea"},
0, OP_EA, 050300, "st", {0, OP_EA, 050300, "st"},
0, OP_EA, 050700, "sf", {0, OP_EA, 050700, "sf"},
0, OP_EA, 051300, "shi", {0, OP_EA, 051300, "shi"},
0, OP_EA, 051700, "sls", {0, OP_EA, 051700, "sls"},
0, OP_EA, 052300, "scc", {0, OP_EA, 052300, "scc"},
0, OP_EA, 052700, "scs", {0, OP_EA, 052700, "scs"},
0, OP_EA, 053300, "sne", {0, OP_EA, 053300, "sne"},
0, OP_EA, 053700, "seq", {0, OP_EA, 053700, "seq"},
0, OP_EA, 054300, "svc", {0, OP_EA, 054300, "svc"},
0, OP_EA, 054700, "svs", {0, OP_EA, 054700, "svs"},
0, OP_EA, 055300, "spl", {0, OP_EA, 055300, "spl"},
0, OP_EA, 055700, "smi", {0, OP_EA, 055700, "smi"},
0, OP_EA, 056300, "sge", {0, OP_EA, 056300, "sge"},
0, OP_EA, 056700, "slt", {0, OP_EA, 056700, "slt"},
0, OP_EA, 057300, "sgt", {0, OP_EA, 057300, "sgt"},
0, OP_EA, 057700, "sle", {0, OP_EA, 057700, "sle"},
0, OP_NOOP, 047160, "reset", {0, OP_NOOP, 047160, "reset"},
0, OP_NOOP, 047161, "nop", {0, OP_NOOP, 047161, "nop"},
0, OP_NOOP, 047163, "rte", {0, OP_NOOP, 047163, "rte"},
0, OP_NOOP, 047165, "rts", {0, OP_NOOP, 047165, "rts"},
0, OP_NOOP, 047166, "trapv", {0, OP_NOOP, 047166, "trapv"},
0, OP_NOOP, 047167, "rtr", {0, OP_NOOP, 047167, "rtr"},
0, OP_NOOP, 045374, "illegal", {0, OP_NOOP, 045374, "illegal"},
0, OP_EA_D, 040600, "chk", {0, OP_EA_D, 040600, "chk"},
0, OP_EA_D, 0100300, "divu", {0, OP_EA_D, 0100300, "divu"},
0, OP_EA_D, 0100700, "divs", {0, OP_EA_D, 0100700, "divs"},
0, OP_EA_D, 0140300, "mulu", {0, OP_EA_D, 0140300, "mulu"},
0, OP_EA_D, 0140700, "muls", {0, OP_EA_D, 0140700, "muls"},
0, BR, 060000, "bra", {0, BR, 060000, "bra"},
0, BR, 060400, "bsr", {0, BR, 060400, "bsr"},
0, BR, 061000, "bhi", {0, BR, 061000, "bhi"},
0, BR, 061400, "bls", {0, BR, 061400, "bls"},
0, BR, 062000, "bcc", {0, BR, 062000, "bcc"},
0, BR, 062400, "bcs", {0, BR, 062400, "bcs"},
0, BR, 063000, "bne", {0, BR, 063000, "bne"},
0, BR, 063400, "beq", {0, BR, 063400, "beq"},
0, BR, 064000, "bvc", {0, BR, 064000, "bvc"},
0, BR, 064400, "bvs", {0, BR, 064400, "bvs"},
0, BR, 065000, "bpl", {0, BR, 065000, "bpl"},
0, BR, 065400, "bmi", {0, BR, 065400, "bmi"},
0, BR, 066000, "bge", {0, BR, 066000, "bge"},
0, BR, 066400, "blt", {0, BR, 066400, "blt"},
0, BR, 067000, "bgt", {0, BR, 067000, "bgt"},
0, BR, 067400, "ble", {0, BR, 067400, "ble"},
0, DBR, 050310, "dbt", {0, DBR, 050310, "dbt"},
0, DBR, 050710, "dbf", {0, DBR, 050710, "dbf"},
0, DBR, 050710, "dbra", {0, DBR, 050710, "dbra"},
0, DBR, 051310, "dbhi", {0, DBR, 051310, "dbhi"},
0, DBR, 051710, "dbls", {0, DBR, 051710, "dbls"},
0, DBR, 052310, "dbcc", {0, DBR, 052310, "dbcc"},
0, DBR, 052710, "dbcs", {0, DBR, 052710, "dbcs"},
0, DBR, 053310, "dbne", {0, DBR, 053310, "dbne"},
0, DBR, 053710, "dbeq", {0, DBR, 053710, "dbeq"},
0, DBR, 054310, "dbvc", {0, DBR, 054310, "dbvc"},
0, DBR, 054710, "dbvs", {0, DBR, 054710, "dbvs"},
0, DBR, 055310, "dbpl", {0, DBR, 055310, "dbpl"},
0, DBR, 055710, "dbmi", {0, DBR, 055710, "dbmi"},
0, DBR, 056310, "dbge", {0, DBR, 056310, "dbge"},
0, DBR, 056710, "dblt", {0, DBR, 056710, "dblt"},
0, DBR, 057310, "dbgt", {0, DBR, 057310, "dbgt"},
0, DBR, 057710, "dble", {0, DBR, 057710, "dble"},
0, CMP, 0, "cmp", {0, CMP, 0, "cmp"},
0, MOVE, 0, "move", {0, MOVE, 0, "move"},
0, MOVEP, 0, "movep", {0, MOVEP, 0, "movep"},
0, MOVEM, 0, "movem", {0, MOVEM, 0, "movem"},
0, MOVES, 0, "moves", {0, MOVES, 0, "moves"},
0, MOVEC, 0, "movec", {0, MOVEC, 0, "movec"},
0, SWAP, 0, "swap", {0, SWAP, 0, "swap"},
0, LINK, 0, "link", {0, LINK, 0, "link"},
0, UNLK, 0, "unlk", {0, UNLK, 0, "unlk"},
0, TRAP, 0, "trap", {0, TRAP, 0, "trap"},
0, STOP, 047162, "stop", {0, STOP, 047162, "stop"},
0, EXG, 0, "exg", {0, EXG, 0, "exg"},
0, OP_EXT, 0, "ext", {0, OP_EXT, 0, "ext"},
0, LEA, 0, "lea", {0, LEA, 0, "lea"},
0, RTD, 0, "rtd", {0, RTD, 0, "rtd"},
/* floating point coprocessor ... */ /* floating point coprocessor ... */
0, FSIZE, FSIZE_S, ".s", {0, FSIZE, FSIZE_S, ".s"},
0, FSIZE, FSIZE_X, ".x", {0, FSIZE, FSIZE_X, ".x"},
0, FSIZE, FSIZE_P, ".p", {0, FSIZE, FSIZE_P, ".p"},
0, FSIZE, FSIZE_D, ".d", {0, FSIZE, FSIZE_D, ".d"},
0, FPREG, 0, "fp0", {0, FPREG, 0, "fp0"},
0, FPREG, 1, "fp1", {0, FPREG, 1, "fp1"},
0, FPREG, 2, "fp2", {0, FPREG, 2, "fp2"},
0, FPREG, 3, "fp3", {0, FPREG, 3, "fp3"},
0, FPREG, 4, "fp4", {0, FPREG, 4, "fp4"},
0, FPREG, 5, "fp5", {0, FPREG, 5, "fp5"},
0, FPREG, 6, "fp6", {0, FPREG, 6, "fp6"},
0, FPREG, 7, "fp7", {0, FPREG, 7, "fp7"},
0, FPCR, 1, "fpiar", {0, FPCR, 1, "fpiar"},
0, FPCR, 2, "fpsr", {0, FPCR, 2, "fpsr"},
0, FPCR, 4, "fpcr", {0, FPCR, 4, "fpcr"},
0, FMOVE, 0, "fmove", {0, FMOVE, 0, "fmove"},
0, FMOVECR, 0, "fmovecr", {0, FMOVECR, 0, "fmovecr"},
0, FMOVEM, 0, "fmovem", {0, FMOVEM, 0, "fmovem"},
0, FDYADIC, 042, "fadd", {0, FDYADIC, 042, "fadd"},
0, FDYADIC, 070, "fcmp", {0, FDYADIC, 070, "fcmp"},
0, FDYADIC, 040, "fdiv", {0, FDYADIC, 040, "fdiv"},
0, FDYADIC, 041, "fmod", {0, FDYADIC, 041, "fmod"},
0, FDYADIC, 043, "fmul", {0, FDYADIC, 043, "fmul"},
0, FDYADIC, 045, "frem", {0, FDYADIC, 045, "frem"},
0, FDYADIC, 046, "fscale", {0, FDYADIC, 046, "fscale"},
0, FDYADIC, 044, "fsgldiv", {0, FDYADIC, 044, "fsgldiv"},
0, FDYADIC, 047, "fsglmul", {0, FDYADIC, 047, "fsglmul"},
0, FDYADIC, 050, "fsub", {0, FDYADIC, 050, "fsub"},
0, FMONADIC, 030, "fabs", {0, FMONADIC, 030, "fabs"},
0, FMONADIC, 034, "facos", {0, FMONADIC, 034, "facos"},
0, FMONADIC, 014, "fasin", {0, FMONADIC, 014, "fasin"},
0, FMONADIC, 012, "fatan", {0, FMONADIC, 012, "fatan"},
0, FMONADIC, 015, "fatanh", {0, FMONADIC, 015, "fatanh"},
0, FMONADIC, 035, "fcos", {0, FMONADIC, 035, "fcos"},
0, FMONADIC, 031, "fcosh", {0, FMONADIC, 031, "fcosh"},
0, FMONADIC, 020, "fetox", {0, FMONADIC, 020, "fetox"},
0, FMONADIC, 010, "fetoxm1", {0, FMONADIC, 010, "fetoxm1"},
0, FMONADIC, 036, "fgetexp", {0, FMONADIC, 036, "fgetexp"},
0, FMONADIC, 037, "fgetman", {0, FMONADIC, 037, "fgetman"},
0, FMONADIC, 001, "fint", {0, FMONADIC, 001, "fint"},
0, FMONADIC, 003, "fintrz", {0, FMONADIC, 003, "fintrz"},
0, FMONADIC, 024, "flogn", {0, FMONADIC, 024, "flogn"},
0, FMONADIC, 006, "flognp1", {0, FMONADIC, 006, "flognp1"},
0, FMONADIC, 025, "flog10", {0, FMONADIC, 025, "flog10"},
0, FMONADIC, 026, "flog2", {0, FMONADIC, 026, "flog2"},
0, FMONADIC, 032, "fneg", {0, FMONADIC, 032, "fneg"},
0, FMONADIC, 016, "fsin", {0, FMONADIC, 016, "fsin"},
0, FMONADIC, 002, "fsinh", {0, FMONADIC, 002, "fsinh"},
0, FMONADIC, 004, "fsqrt", {0, FMONADIC, 004, "fsqrt"},
0, FMONADIC, 017, "ftan", {0, FMONADIC, 017, "ftan"},
0, FMONADIC, 011, "ftanh", {0, FMONADIC, 011, "ftanh"},
0, FMONADIC, 022, "ftentox", {0, FMONADIC, 022, "ftentox"},
0, FMONADIC, 021, "ftwotox", {0, FMONADIC, 021, "ftwotox"},
0, FSINCOS, 060, "fsincos", {0, FSINCOS, 060, "fsincos"},
0, FBCC, 001, "fbeq", {0, FBCC, 001, "fbeq"},
0, FBCC, 016, "fbne", {0, FBCC, 016, "fbne"},
0, FBCC, 022, "fbgt", {0, FBCC, 022, "fbgt"},
0, FBCC, 035, "fbngt", {0, FBCC, 035, "fbngt"},
0, FBCC, 023, "fbge", {0, FBCC, 023, "fbge"},
0, FBCC, 034, "fbnge", {0, FBCC, 034, "fbnge"},
0, FBCC, 024, "fblt", {0, FBCC, 024, "fblt"},
0, FBCC, 033, "fbnlt", {0, FBCC, 033, "fbnlt"},
0, FBCC, 025, "fble", {0, FBCC, 025, "fble"},
0, FBCC, 032, "fbnle", {0, FBCC, 032, "fbnle"},
0, FBCC, 026, "fbgl", {0, FBCC, 026, "fbgl"},
0, FBCC, 031, "fbngl", {0, FBCC, 031, "fbngl"},
0, FBCC, 027, "fbgle", {0, FBCC, 027, "fbgle"},
0, FBCC, 030, "fbngle", {0, FBCC, 030, "fbngle"},
0, FBCC, 002, "fbogt", {0, FBCC, 002, "fbogt"},
0, FBCC, 015, "fbule", {0, FBCC, 015, "fbule"},
0, FBCC, 003, "fboge", {0, FBCC, 003, "fboge"},
0, FBCC, 014, "fbult", {0, FBCC, 014, "fbult"},
0, FBCC, 004, "fbolt", {0, FBCC, 004, "fbolt"},
0, FBCC, 013, "fbuge", {0, FBCC, 013, "fbuge"},
0, FBCC, 005, "fbole", {0, FBCC, 005, "fbole"},
0, FBCC, 012, "fbugt", {0, FBCC, 012, "fbugt"},
0, FBCC, 006, "fbogl", {0, FBCC, 006, "fbogl"},
0, FBCC, 011, "fbueq", {0, FBCC, 011, "fbueq"},
0, FBCC, 007, "fbor", {0, FBCC, 007, "fbor"},
0, FBCC, 010, "fbun", {0, FBCC, 010, "fbun"},
0, FBCC, 000, "fbf", {0, FBCC, 000, "fbf"},
0, FBCC, 017, "fbt", {0, FBCC, 017, "fbt"},
0, FBCC, 020, "fbsf", {0, FBCC, 020, "fbsf"},
0, FBCC, 037, "fbst", {0, FBCC, 037, "fbst"},
0, FBCC, 021, "fbseq", {0, FBCC, 021, "fbseq"},
0, FBCC, 036, "fbsne", {0, FBCC, 036, "fbsne"},
0, FDBCC, 001, "fdbeq", {0, FDBCC, 001, "fdbeq"},
0, FDBCC, 016, "fdbne", {0, FDBCC, 016, "fdbne"},
0, FDBCC, 022, "fdbgt", {0, FDBCC, 022, "fdbgt"},
0, FDBCC, 035, "fdbngt", {0, FDBCC, 035, "fdbngt"},
0, FDBCC, 023, "fdbge", {0, FDBCC, 023, "fdbge"},
0, FDBCC, 034, "fdbnge", {0, FDBCC, 034, "fdbnge"},
0, FDBCC, 024, "fdblt", {0, FDBCC, 024, "fdblt"},
0, FDBCC, 033, "fdbnlt", {0, FDBCC, 033, "fdbnlt"},
0, FDBCC, 025, "fdble", {0, FDBCC, 025, "fdble"},
0, FDBCC, 032, "fdbnle", {0, FDBCC, 032, "fdbnle"},
0, FDBCC, 026, "fdbgl", {0, FDBCC, 026, "fdbgl"},
0, FDBCC, 031, "fdbngl", {0, FDBCC, 031, "fdbngl"},
0, FDBCC, 027, "fdbgle", {0, FDBCC, 027, "fdbgle"},
0, FDBCC, 030, "fdbngle", {0, FDBCC, 030, "fdbngle"},
0, FDBCC, 002, "fdbogt", {0, FDBCC, 002, "fdbogt"},
0, FDBCC, 015, "fdbule", {0, FDBCC, 015, "fdbule"},
0, FDBCC, 003, "fdboge", {0, FDBCC, 003, "fdboge"},
0, FDBCC, 014, "fdbult", {0, FDBCC, 014, "fdbult"},
0, FDBCC, 004, "fdbolt", {0, FDBCC, 004, "fdbolt"},
0, FDBCC, 013, "fdbuge", {0, FDBCC, 013, "fdbuge"},
0, FDBCC, 005, "fdbole", {0, FDBCC, 005, "fdbole"},
0, FDBCC, 012, "fdbugt", {0, FDBCC, 012, "fdbugt"},
0, FDBCC, 006, "fdbogl", {0, FDBCC, 006, "fdbogl"},
0, FDBCC, 011, "fdbueq", {0, FDBCC, 011, "fdbueq"},
0, FDBCC, 007, "fdbor", {0, FDBCC, 007, "fdbor"},
0, FDBCC, 010, "fdbun", {0, FDBCC, 010, "fdbun"},
0, FDBCC, 000, "fdbf", {0, FDBCC, 000, "fdbf"},
0, FDBCC, 017, "fdbt", {0, FDBCC, 017, "fdbt"},
0, FDBCC, 020, "fdbsf", {0, FDBCC, 020, "fdbsf"},
0, FDBCC, 037, "fdbst", {0, FDBCC, 037, "fdbst"},
0, FDBCC, 021, "fdbseq", {0, FDBCC, 021, "fdbseq"},
0, FDBCC, 036, "fdbsne", {0, FDBCC, 036, "fdbsne"},
0, FNOP, 0, "fnop", {0, FNOP, 0, "fnop"},
0, FSCC, 001, "fseq", {0, FSCC, 001, "fseq"},
0, FSCC, 016, "fsne", {0, FSCC, 016, "fsne"},
0, FSCC, 022, "fsgt", {0, FSCC, 022, "fsgt"},
0, FSCC, 035, "fsngt", {0, FSCC, 035, "fsngt"},
0, FSCC, 023, "fsge", {0, FSCC, 023, "fsge"},
0, FSCC, 034, "fsnge", {0, FSCC, 034, "fsnge"},
0, FSCC, 024, "fslt", {0, FSCC, 024, "fslt"},
0, FSCC, 033, "fsnlt", {0, FSCC, 033, "fsnlt"},
0, FSCC, 025, "fsle", {0, FSCC, 025, "fsle"},
0, FSCC, 032, "fsnle", {0, FSCC, 032, "fsnle"},
0, FSCC, 026, "fsgl", {0, FSCC, 026, "fsgl"},
0, FSCC, 031, "fsngl", {0, FSCC, 031, "fsngl"},
0, FSCC, 027, "fsgle", {0, FSCC, 027, "fsgle"},
0, FSCC, 030, "fsngle", {0, FSCC, 030, "fsngle"},
0, FSCC, 002, "fsogt", {0, FSCC, 002, "fsogt"},
0, FSCC, 015, "fsule", {0, FSCC, 015, "fsule"},
0, FSCC, 003, "fsoge", {0, FSCC, 003, "fsoge"},
0, FSCC, 014, "fsult", {0, FSCC, 014, "fsult"},
0, FSCC, 004, "fsolt", {0, FSCC, 004, "fsolt"},
0, FSCC, 013, "fsuge", {0, FSCC, 013, "fsuge"},
0, FSCC, 005, "fsole", {0, FSCC, 005, "fsole"},
0, FSCC, 012, "fsugt", {0, FSCC, 012, "fsugt"},
0, FSCC, 006, "fsogl", {0, FSCC, 006, "fsogl"},
0, FSCC, 011, "fsueq", {0, FSCC, 011, "fsueq"},
0, FSCC, 007, "fsor", {0, FSCC, 007, "fsor"},
0, FSCC, 010, "fsun", {0, FSCC, 010, "fsun"},
0, FSCC, 000, "fsf", {0, FSCC, 000, "fsf"},
0, FSCC, 017, "fst", {0, FSCC, 017, "fst"},
0, FSCC, 020, "fssf", {0, FSCC, 020, "fssf"},
0, FSCC, 037, "fsst", {0, FSCC, 037, "fsst"},
0, FSCC, 021, "fsseq", {0, FSCC, 021, "fsseq"},
0, FSCC, 036, "fssne", {0, FSCC, 036, "fssne"},
0, FTST, 0, "ftst", {0, FTST, 0, "ftst"},
0, FSAVRES, MEM|ALT|0430, "fsave", {0, FSAVRES, MEM|ALT|0430, "fsave"},
0, FSAVRES, MEM|0540, "frestore", {0, FSAVRES, MEM|0540, "frestore"},
0, FTRAPCC, 001, "ftrapeq", {0, FTRAPCC, 001, "ftrapeq"},
0, FTRAPCC, 016, "ftrapne", {0, FTRAPCC, 016, "ftrapne"},
0, FTRAPCC, 022, "ftrapgt", {0, FTRAPCC, 022, "ftrapgt"},
0, FTRAPCC, 035, "ftrapngt", {0, FTRAPCC, 035, "ftrapngt"},
0, FTRAPCC, 023, "ftrapge", {0, FTRAPCC, 023, "ftrapge"},
0, FTRAPCC, 034, "ftrapnge", {0, FTRAPCC, 034, "ftrapnge"},
0, FTRAPCC, 024, "ftraplt", {0, FTRAPCC, 024, "ftraplt"},
0, FTRAPCC, 033, "ftrapnlt", {0, FTRAPCC, 033, "ftrapnlt"},
0, FTRAPCC, 025, "ftraple", {0, FTRAPCC, 025, "ftraple"},
0, FTRAPCC, 032, "ftrapnle", {0, FTRAPCC, 032, "ftrapnle"},
0, FTRAPCC, 026, "ftrapgl", {0, FTRAPCC, 026, "ftrapgl"},
0, FTRAPCC, 031, "ftrapngl", {0, FTRAPCC, 031, "ftrapngl"},
0, FTRAPCC, 027, "ftrapgle", {0, FTRAPCC, 027, "ftrapgle"},
0, FTRAPCC, 030, "ftrapngle", {0, FTRAPCC, 030, "ftrapngle"},
0, FTRAPCC, 002, "ftrapogt", {0, FTRAPCC, 002, "ftrapogt"},
0, FTRAPCC, 015, "ftrapule", {0, FTRAPCC, 015, "ftrapule"},
0, FTRAPCC, 003, "ftrapoge", {0, FTRAPCC, 003, "ftrapoge"},
0, FTRAPCC, 014, "ftrapult", {0, FTRAPCC, 014, "ftrapult"},
0, FTRAPCC, 004, "ftrapolt", {0, FTRAPCC, 004, "ftrapolt"},
0, FTRAPCC, 013, "ftrapuge", {0, FTRAPCC, 013, "ftrapuge"},
0, FTRAPCC, 005, "ftrapole", {0, FTRAPCC, 005, "ftrapole"},
0, FTRAPCC, 012, "ftrapugt", {0, FTRAPCC, 012, "ftrapugt"},
0, FTRAPCC, 006, "ftrapogl", {0, FTRAPCC, 006, "ftrapogl"},
0, FTRAPCC, 011, "ftrapueq", {0, FTRAPCC, 011, "ftrapueq"},
0, FTRAPCC, 007, "ftrapor", {0, FTRAPCC, 007, "ftrapor"},
0, FTRAPCC, 010, "ftrapun", {0, FTRAPCC, 010, "ftrapun"},
0, FTRAPCC, 000, "ftrapf", {0, FTRAPCC, 000, "ftrapf"},
0, FTRAPCC, 017, "ftrapt", {0, FTRAPCC, 017, "ftrapt"},
0, FTRAPCC, 020, "ftrapsf", {0, FTRAPCC, 020, "ftrapsf"},
0, FTRAPCC, 037, "ftrapst", {0, FTRAPCC, 037, "ftrapst"},
0, FTRAPCC, 021, "ftrapseq", {0, FTRAPCC, 021, "ftrapseq"},
0, FTRAPCC, 036, "ftrapsne", {0, FTRAPCC, 036, "ftrapsne"},
0, CP, 00000, "c0", {0, CP, 00000, "c0"},
0, CP, 01000, "c1", {0, CP, 01000, "c1"},
0, CP, 02000, "c2", {0, CP, 02000, "c2"},
0, CP, 03000, "c3", {0, CP, 03000, "c3"},
0, CP, 04000, "c4", {0, CP, 04000, "c4"},
0, CP, 05000, "c5", {0, CP, 05000, "c5"},
0, CP, 06000, "c6", {0, CP, 06000, "c6"},
0, CP, 07000, "c7", {0, CP, 07000, "c7"},

View file

@ -9,449 +9,449 @@
*/ */
/* Registers */ /* Registers */
0, REG, 0, "r0", {0, REG, 0, "r0"},
0, REG, 1, "r1", {0, REG, 1, "r1"},
0, REG, 2, "r2", {0, REG, 2, "r2"},
0, REG, 3, "r3", {0, REG, 3, "r3"},
0, REG, 4, "r4", {0, REG, 4, "r4"},
0, REG, 5, "r5", {0, REG, 5, "r5"},
0, REG, 6, "r6", {0, REG, 6, "r6"},
0, REG, 7, "r7", {0, REG, 7, "r7"},
0, FREG, 0, "f0", {0, FREG, 0, "f0"},
0, FREG, 1, "f1", {0, FREG, 1, "f1"},
0, FREG, 2, "f2", {0, FREG, 2, "f2"},
0, FREG, 3, "f3", {0, FREG, 3, "f3"},
0, FREG, 4, "f4", {0, FREG, 4, "f4"},
0, FREG, 5, "f5", {0, FREG, 5, "f5"},
0, FREG, 6, "f6", {0, FREG, 6, "f6"},
0, FREG, 7, "f7", {0, FREG, 7, "f7"},
/* CPU dedicated registers */ /* CPU dedicated registers */
0, AREG, 0x0, "us", {0, AREG, 0x0, "us"},
0, AREG, 0x8, "fp", {0, AREG, 0x8, "fp"},
0, AREG, 0x9, "sp", {0, AREG, 0x9, "sp"},
0, AREG, 0xA, "sb", {0, AREG, 0xA, "sb"},
0, AREG, 0xD, "psr", {0, AREG, 0xD, "psr"},
0, AREG, 0xE, "intbase", {0, AREG, 0xE, "intbase"},
0, AREG, 0xF, "mod", {0, AREG, 0xF, "mod"},
/* Tokens dedicated to addressing modes */ /* Tokens dedicated to addressing modes */
0, TOS, 0x17, "tos", {0, TOS, 0x17, "tos"},
0, EXTERNAL, 0x16, "external", {0, EXTERNAL, 0x16, "external"},
0, PC, 0, "pc", {0, PC, 0, "pc"},
0, INDICATOR, 'b', "b", {0, INDICATOR, 'b', "b"},
0, INDICATOR, 'c', "c", {0, INDICATOR, 'c', "c"},
0, INDICATOR, 'd', "d", {0, INDICATOR, 'd', "d"},
0, INDICATOR, 'f', "f", {0, INDICATOR, 'f', "f"},
0, INDICATOR, 'i', "i", {0, INDICATOR, 'i', "i"},
0, INDICATOR, 'm', "m", {0, INDICATOR, 'm', "m"},
0, INDICATOR, 'q', "q", {0, INDICATOR, 'q', "q"},
0, INDICATOR, 'u', "u", {0, INDICATOR, 'u', "u"},
0, INDICATOR, 'w', "w", {0, INDICATOR, 'w', "w"},
/* Memory management registers */ /* Memory management registers */
0, MREG, 0x0, "bpr0", {0, MREG, 0x0, "bpr0"},
0, MREG, 0x1, "bpr1", {0, MREG, 0x1, "bpr1"},
0, MREG, 0x4, "pf0", {0, MREG, 0x4, "pf0"},
0, MREG, 0x5, "pf1", {0, MREG, 0x5, "pf1"},
0, MREG, 0x8, "sc", {0, MREG, 0x8, "sc"},
0, MREG, 0xA, "msr", {0, MREG, 0xA, "msr"},
0, MREG, 0xB, "bcnt", {0, MREG, 0xB, "bcnt"},
0, MREG, 0xC, "ptb0", {0, MREG, 0xC, "ptb0"},
0, MREG, 0xD, "ptb1", {0, MREG, 0xD, "ptb1"},
0, MREG, 0xF, "eia", {0, MREG, 0xF, "eia"},
/* Instruction types */ /* Instruction types */
/* Integer instructions */ /* Integer instructions */
0, ADD_I, mk_op2(0x5,I_BYTE,I_BYTE), "movb", {0, ADD_I, mk_op2(0x5,I_BYTE,I_BYTE), "movb"},
0, ADD_I, mk_op2(0x5,I_WORD,I_WORD), "movw", {0, ADD_I, mk_op2(0x5,I_WORD,I_WORD), "movw"},
0, ADD_I, mk_op2(0x5,I_DOUBLE,I_DOUBLE), "movd", {0, ADD_I, mk_op2(0x5,I_DOUBLE,I_DOUBLE), "movd"},
0, ADD_I, mk_op2(0x1,I_BYTE,I_BYTE), "cmpb", {0, ADD_I, mk_op2(0x1,I_BYTE,I_BYTE), "cmpb"},
0, ADD_I, mk_op2(0x1,I_WORD,I_WORD), "cmpw", {0, ADD_I, mk_op2(0x1,I_WORD,I_WORD), "cmpw"},
0, ADD_I, mk_op2(0x1,I_DOUBLE,I_DOUBLE), "cmpd", {0, ADD_I, mk_op2(0x1,I_DOUBLE,I_DOUBLE), "cmpd"},
0, ADD_I, mk_op2(0x0,I_BYTE,I_BYTE), "addb", {0, ADD_I, mk_op2(0x0,I_BYTE,I_BYTE), "addb"},
0, ADD_I, mk_op2(0x0,I_WORD,I_WORD), "addw", {0, ADD_I, mk_op2(0x0,I_WORD,I_WORD), "addw"},
0, ADD_I, mk_op2(0x0,I_DOUBLE,I_DOUBLE), "addd", {0, ADD_I, mk_op2(0x0,I_DOUBLE,I_DOUBLE), "addd"},
0, ADD_I, mk_op2(0x4,I_BYTE,I_BYTE), "addcb", {0, ADD_I, mk_op2(0x4,I_BYTE,I_BYTE), "addcb"},
0, ADD_I, mk_op2(0x4,I_WORD,I_WORD), "addcw", {0, ADD_I, mk_op2(0x4,I_WORD,I_WORD), "addcw"},
0, ADD_I, mk_op2(0x4,I_DOUBLE,I_DOUBLE), "addcd", {0, ADD_I, mk_op2(0x4,I_DOUBLE,I_DOUBLE), "addcd"},
0, ADD_I, mk_op2(0x8,I_BYTE,I_BYTE), "subb", {0, ADD_I, mk_op2(0x8,I_BYTE,I_BYTE), "subb"},
0, ADD_I, mk_op2(0x8,I_WORD,I_WORD), "subw", {0, ADD_I, mk_op2(0x8,I_WORD,I_WORD), "subw"},
0, ADD_I, mk_op2(0x8,I_DOUBLE,I_DOUBLE), "subd", {0, ADD_I, mk_op2(0x8,I_DOUBLE,I_DOUBLE), "subd"},
0, ADD_I, mk_op2(0xC,I_BYTE,I_BYTE), "subcb", {0, ADD_I, mk_op2(0xC,I_BYTE,I_BYTE), "subcb"},
0, ADD_I, mk_op2(0xC,I_WORD,I_WORD), "subcw", {0, ADD_I, mk_op2(0xC,I_WORD,I_WORD), "subcw"},
0, ADD_I, mk_op2(0xC,I_DOUBLE,I_DOUBLE), "subcd", {0, ADD_I, mk_op2(0xC,I_DOUBLE,I_DOUBLE), "subcd"},
0, COM, mk_op2(0x8,I_BYTE,I_BYTE), "negb", {0, COM, mk_op2(0x8,I_BYTE,I_BYTE), "negb"},
0, COM, mk_op2(0x8,I_WORD,I_WORD), "negw", {0, COM, mk_op2(0x8,I_WORD,I_WORD), "negw"},
0, COM, mk_op2(0x8,I_DOUBLE,I_DOUBLE), "negd", {0, COM, mk_op2(0x8,I_DOUBLE,I_DOUBLE), "negd"},
0, COM, mk_op2(0xC,I_BYTE,I_BYTE), "absb", {0, COM, mk_op2(0xC,I_BYTE,I_BYTE), "absb"},
0, COM, mk_op2(0xC,I_WORD,I_WORD), "absw", {0, COM, mk_op2(0xC,I_WORD,I_WORD), "absw"},
0, COM, mk_op2(0xC,I_DOUBLE,I_DOUBLE), "absd", {0, COM, mk_op2(0xC,I_DOUBLE,I_DOUBLE), "absd"},
0, MUL_I, mk_op2(0x8,I_BYTE,I_BYTE), "mulb", {0, MUL_I, mk_op2(0x8,I_BYTE,I_BYTE), "mulb"},
0, MUL_I, mk_op2(0x8,I_WORD,I_WORD), "mulw", {0, MUL_I, mk_op2(0x8,I_WORD,I_WORD), "mulw"},
0, MUL_I, mk_op2(0x8,I_DOUBLE,I_DOUBLE), "muld", {0, MUL_I, mk_op2(0x8,I_DOUBLE,I_DOUBLE), "muld"},
0, MUL_I, mk_op2(0xF,I_BYTE,I_BYTE), "divb", {0, MUL_I, mk_op2(0xF,I_BYTE,I_BYTE), "divb"},
0, MUL_I, mk_op2(0xF,I_WORD,I_WORD), "divw", {0, MUL_I, mk_op2(0xF,I_WORD,I_WORD), "divw"},
0, MUL_I, mk_op2(0xF,I_DOUBLE,I_DOUBLE), "divd", {0, MUL_I, mk_op2(0xF,I_DOUBLE,I_DOUBLE), "divd"},
0, MUL_I, mk_op2(0xE,I_BYTE,I_BYTE), "modb", {0, MUL_I, mk_op2(0xE,I_BYTE,I_BYTE), "modb"},
0, MUL_I, mk_op2(0xE,I_WORD,I_WORD), "modw", {0, MUL_I, mk_op2(0xE,I_WORD,I_WORD), "modw"},
0, MUL_I, mk_op2(0xE,I_DOUBLE,I_DOUBLE), "modd", {0, MUL_I, mk_op2(0xE,I_DOUBLE,I_DOUBLE), "modd"},
0, MUL_I, mk_op2(0xC,I_BYTE,I_BYTE), "quob", {0, MUL_I, mk_op2(0xC,I_BYTE,I_BYTE), "quob"},
0, MUL_I, mk_op2(0xC,I_WORD,I_WORD), "quow", {0, MUL_I, mk_op2(0xC,I_WORD,I_WORD), "quow"},
0, MUL_I, mk_op2(0xC,I_DOUBLE,I_DOUBLE), "quod", {0, MUL_I, mk_op2(0xC,I_DOUBLE,I_DOUBLE), "quod"},
0, MUL_I, mk_op2(0xD,I_BYTE,I_BYTE), "remb", {0, MUL_I, mk_op2(0xD,I_BYTE,I_BYTE), "remb"},
0, MUL_I, mk_op2(0xD,I_WORD,I_WORD), "remw", {0, MUL_I, mk_op2(0xD,I_WORD,I_WORD), "remw"},
0, MUL_I, mk_op2(0xD,I_DOUBLE,I_DOUBLE), "remd", {0, MUL_I, mk_op2(0xD,I_DOUBLE,I_DOUBLE), "remd"},
0, ADD_I, mk_op2(0xA,I_BYTE,I_BYTE), "andb", {0, ADD_I, mk_op2(0xA,I_BYTE,I_BYTE), "andb"},
0, ADD_I, mk_op2(0xA,I_WORD,I_WORD), "andw", {0, ADD_I, mk_op2(0xA,I_WORD,I_WORD), "andw"},
0, ADD_I, mk_op2(0xA,I_DOUBLE,I_DOUBLE), "andd", {0, ADD_I, mk_op2(0xA,I_DOUBLE,I_DOUBLE), "andd"},
0, ADD_I, mk_op2(0x6,I_BYTE,I_BYTE), "orb", {0, ADD_I, mk_op2(0x6,I_BYTE,I_BYTE), "orb"},
0, ADD_I, mk_op2(0x6,I_WORD,I_WORD), "orw", {0, ADD_I, mk_op2(0x6,I_WORD,I_WORD), "orw"},
0, ADD_I, mk_op2(0x6,I_DOUBLE,I_DOUBLE), "ord", {0, ADD_I, mk_op2(0x6,I_DOUBLE,I_DOUBLE), "ord"},
0, ADD_I, mk_op2(0x2,I_BYTE,I_BYTE), "bicb", {0, ADD_I, mk_op2(0x2,I_BYTE,I_BYTE), "bicb"},
0, ADD_I, mk_op2(0x2,I_WORD,I_WORD), "bicw", {0, ADD_I, mk_op2(0x2,I_WORD,I_WORD), "bicw"},
0, ADD_I, mk_op2(0x2,I_DOUBLE,I_DOUBLE), "bicd", {0, ADD_I, mk_op2(0x2,I_DOUBLE,I_DOUBLE), "bicd"},
0, ADD_I, mk_op2(0xE,I_BYTE,I_BYTE), "xorb", {0, ADD_I, mk_op2(0xE,I_BYTE,I_BYTE), "xorb"},
0, ADD_I, mk_op2(0xE,I_WORD,I_WORD), "xorw", {0, ADD_I, mk_op2(0xE,I_WORD,I_WORD), "xorw"},
0, ADD_I, mk_op2(0xE,I_DOUBLE,I_DOUBLE), "xord", {0, ADD_I, mk_op2(0xE,I_DOUBLE,I_DOUBLE), "xord"},
0, COM, mk_op2(0xD,I_BYTE,I_BYTE), "comb", {0, COM, mk_op2(0xD,I_BYTE,I_BYTE), "comb"},
0, COM, mk_op2(0xD,I_WORD,I_WORD), "comw", {0, COM, mk_op2(0xD,I_WORD,I_WORD), "comw"},
0, COM, mk_op2(0xD,I_DOUBLE,I_DOUBLE), "comd", {0, COM, mk_op2(0xD,I_DOUBLE,I_DOUBLE), "comd"},
0, COM, mk_op2(0x1,I_BYTE,I_BYTE), "ashb", {0, COM, mk_op2(0x1,I_BYTE,I_BYTE), "ashb"},
0, COM, mk_op2(0x1,I_BYTE,I_WORD), "ashw", {0, COM, mk_op2(0x1,I_BYTE,I_WORD), "ashw"},
0, COM, mk_op2(0x1,I_BYTE,I_DOUBLE), "ashd", {0, COM, mk_op2(0x1,I_BYTE,I_DOUBLE), "ashd"},
0, COM, mk_op2(0x5,I_BYTE,I_BYTE), "lshb", {0, COM, mk_op2(0x5,I_BYTE,I_BYTE), "lshb"},
0, COM, mk_op2(0x5,I_BYTE,I_WORD), "lshw", {0, COM, mk_op2(0x5,I_BYTE,I_WORD), "lshw"},
0, COM, mk_op2(0x5,I_BYTE,I_DOUBLE), "lshd", {0, COM, mk_op2(0x5,I_BYTE,I_DOUBLE), "lshd"},
0, COM, mk_op2(0x0,I_BYTE,I_BYTE), "rotb", {0, COM, mk_op2(0x0,I_BYTE,I_BYTE), "rotb"},
0, COM, mk_op2(0x0,I_BYTE,I_WORD), "rotw", {0, COM, mk_op2(0x0,I_BYTE,I_WORD), "rotw"},
0, COM, mk_op2(0x0,I_BYTE,I_DOUBLE), "rotd", {0, COM, mk_op2(0x0,I_BYTE,I_DOUBLE), "rotd"},
0, MOVID, mk_op2(0x4,I_BYTE,I_WORD), "movxbw", {0, MOVID, mk_op2(0x4,I_BYTE,I_WORD), "movxbw"},
0, MOVID, mk_op2(0x7,I_BYTE,I_DOUBLE), "movxbd", {0, MOVID, mk_op2(0x7,I_BYTE,I_DOUBLE), "movxbd"},
0, MOVID, mk_op2(0x7,I_WORD,I_DOUBLE), "movxwd", {0, MOVID, mk_op2(0x7,I_WORD,I_DOUBLE), "movxwd"},
0, MOVID, mk_op2(0x5,I_BYTE,I_WORD), "movzbw", {0, MOVID, mk_op2(0x5,I_BYTE,I_WORD), "movzbw"},
0, MOVID, mk_op2(0x6,I_BYTE,I_DOUBLE), "movzbd", {0, MOVID, mk_op2(0x6,I_BYTE,I_DOUBLE), "movzbd"},
0, MOVID, mk_op2(0x6,I_WORD,I_DOUBLE), "movzwd", {0, MOVID, mk_op2(0x6,I_WORD,I_DOUBLE), "movzwd"},
#ifdef UNUSED #ifdef UNUSED
0, MOVID, mk_op2(0x7,I_DOUBLE,I_DOUBLE), "movxdd", {0, MOVID, mk_op2(0x7,I_DOUBLE,I_DOUBLE), "movxdd"},
0, MOVID, mk_op2(0x6,I_DOUBLE,I_DOUBLE), "movzdd", {0, MOVID, mk_op2(0x6,I_DOUBLE,I_DOUBLE), "movzdd"},
#endif #endif
0, ADD_I, mk_op2(0x9,I_DOUBLE,I_DOUBLE), "addr", {0, ADD_I, mk_op2(0x9,I_DOUBLE,I_DOUBLE), "addr"},
/* Quick integer instructions */ /* Quick integer instructions */
0, MOVQ, mk_op1(0x5,I_BYTE), "movqb", {0, MOVQ, mk_op1(0x5,I_BYTE), "movqb"},
0, MOVQ, mk_op1(0x5,I_WORD), "movqw", {0, MOVQ, mk_op1(0x5,I_WORD), "movqw"},
0, MOVQ, mk_op1(0x5,I_DOUBLE), "movqd", {0, MOVQ, mk_op1(0x5,I_DOUBLE), "movqd"},
0, MOVQ, mk_op1(0x1,I_BYTE), "cmpqb", {0, MOVQ, mk_op1(0x1,I_BYTE), "cmpqb"},
0, MOVQ, mk_op1(0x1,I_WORD), "cmpqw", {0, MOVQ, mk_op1(0x1,I_WORD), "cmpqw"},
0, MOVQ, mk_op1(0x1,I_DOUBLE), "cmpqd", {0, MOVQ, mk_op1(0x1,I_DOUBLE), "cmpqd"},
0, MOVQ, mk_op1(0x0,I_BYTE), "addqb", {0, MOVQ, mk_op1(0x0,I_BYTE), "addqb"},
0, MOVQ, mk_op1(0x0,I_WORD), "addqw", {0, MOVQ, mk_op1(0x0,I_WORD), "addqw"},
0, MOVQ, mk_op1(0x0,I_DOUBLE), "addqd", {0, MOVQ, mk_op1(0x0,I_DOUBLE), "addqd"},
/* Extended integer instructions */ /* Extended integer instructions */
0, MUL_I, mk_op2(0x9,I_BYTE,I_BYTE), "meib", {0, MUL_I, mk_op2(0x9,I_BYTE,I_BYTE), "meib"},
0, MUL_I, mk_op2(0x9,I_WORD,I_WORD), "meiw", {0, MUL_I, mk_op2(0x9,I_WORD,I_WORD), "meiw"},
0, MUL_I, mk_op2(0x9,I_DOUBLE,I_DOUBLE), "meid", {0, MUL_I, mk_op2(0x9,I_DOUBLE,I_DOUBLE), "meid"},
0, MUL_I, mk_op2(0xB,I_BYTE,I_BYTE), "deib", {0, MUL_I, mk_op2(0xB,I_BYTE,I_BYTE), "deib"},
0, MUL_I, mk_op2(0xB,I_WORD,I_WORD), "deiw", {0, MUL_I, mk_op2(0xB,I_WORD,I_WORD), "deiw"},
0, MUL_I, mk_op2(0xB,I_DOUBLE,I_DOUBLE), "deid", {0, MUL_I, mk_op2(0xB,I_DOUBLE,I_DOUBLE), "deid"},
/* Boolean instructions */ /* Boolean instructions */
0, COM, mk_op2(0x9,I_BYTE,I_BYTE), "notb", {0, COM, mk_op2(0x9,I_BYTE,I_BYTE), "notb"},
0, COM, mk_op2(0x9,I_WORD,I_WORD), "notw", {0, COM, mk_op2(0x9,I_WORD,I_WORD), "notw"},
0, COM, mk_op2(0x9,I_DOUBLE,I_DOUBLE), "notd", {0, COM, mk_op2(0x9,I_DOUBLE,I_DOUBLE), "notd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_EQ), "seqb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_EQ), "seqb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_EQ), "seqw", {0, SEQ, mk_op1c(0x3,I_WORD,B_EQ), "seqw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_EQ), "seqd", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_EQ), "seqd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_NE), "sneb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_NE), "sneb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_NE), "snew", {0, SEQ, mk_op1c(0x3,I_WORD,B_NE), "snew"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_NE), "sned", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_NE), "sned"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_CS), "scsb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_CS), "scsb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_CS), "scsw", {0, SEQ, mk_op1c(0x3,I_WORD,B_CS), "scsw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_CS), "scsd", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_CS), "scsd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_CC), "sccb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_CC), "sccb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_CC), "sccw", {0, SEQ, mk_op1c(0x3,I_WORD,B_CC), "sccw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_CC), "sccd", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_CC), "sccd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_HI), "shib", {0, SEQ, mk_op1c(0x3,I_BYTE,B_HI), "shib"},
0, SEQ, mk_op1c(0x3,I_WORD,B_HI), "shiw", {0, SEQ, mk_op1c(0x3,I_WORD,B_HI), "shiw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_HI), "shid", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_HI), "shid"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_LS), "slsb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_LS), "slsb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_LS), "slsw", {0, SEQ, mk_op1c(0x3,I_WORD,B_LS), "slsw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_LS), "slsd", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_LS), "slsd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_GT), "sgtb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_GT), "sgtb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_GT), "sgtw", {0, SEQ, mk_op1c(0x3,I_WORD,B_GT), "sgtw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_GT), "sgtd", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_GT), "sgtd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_LE), "sleb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_LE), "sleb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_LE), "slew", {0, SEQ, mk_op1c(0x3,I_WORD,B_LE), "slew"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_LE), "sled", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_LE), "sled"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_FS), "sfsb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_FS), "sfsb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_FS), "sfsw", {0, SEQ, mk_op1c(0x3,I_WORD,B_FS), "sfsw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_FS), "sfsd", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_FS), "sfsd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_FC), "sfcb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_FC), "sfcb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_FC), "sfcw", {0, SEQ, mk_op1c(0x3,I_WORD,B_FC), "sfcw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_FC), "sfcd", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_FC), "sfcd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_LO), "slob", {0, SEQ, mk_op1c(0x3,I_BYTE,B_LO), "slob"},
0, SEQ, mk_op1c(0x3,I_WORD,B_LO), "slow", {0, SEQ, mk_op1c(0x3,I_WORD,B_LO), "slow"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_LO), "slod", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_LO), "slod"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_HS), "shsb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_HS), "shsb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_HS), "shsw", {0, SEQ, mk_op1c(0x3,I_WORD,B_HS), "shsw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_HS), "shsd", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_HS), "shsd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_LT), "sltb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_LT), "sltb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_LT), "sltw", {0, SEQ, mk_op1c(0x3,I_WORD,B_LT), "sltw"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_LT), "sltd", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_LT), "sltd"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_GE), "sgeb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_GE), "sgeb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_GE), "sgew", {0, SEQ, mk_op1c(0x3,I_WORD,B_GE), "sgew"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_GE), "sged", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_GE), "sged"},
#ifdef UNUSED #ifdef UNUSED
0, SEQ, mk_op1c(0x3,I_BYTE,B_TRUE), "strueb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_TRUE), "strueb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_TRUE), "struew", {0, SEQ, mk_op1c(0x3,I_WORD,B_TRUE), "struew"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_TRUE), "strued", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_TRUE), "strued"},
0, SEQ, mk_op1c(0x3,I_BYTE,B_FALSE), "sfalseb", {0, SEQ, mk_op1c(0x3,I_BYTE,B_FALSE), "sfalseb"},
0, SEQ, mk_op1c(0x3,I_WORD,B_FALSE), "sfalsew", {0, SEQ, mk_op1c(0x3,I_WORD,B_FALSE), "sfalsew"},
0, SEQ, mk_op1c(0x3,I_DOUBLE,B_FALSE), "sfalsed", {0, SEQ, mk_op1c(0x3,I_DOUBLE,B_FALSE), "sfalsed"},
#endif #endif
/* Bit instructions */ /* Bit instructions */
0, ADD_I, mk_op2(0xD,I_BYTE,I_BYTE), "tbitb", {0, ADD_I, mk_op2(0xD,I_BYTE,I_BYTE), "tbitb"},
0, ADD_I, mk_op2(0xD,I_WORD,I_WORD), "tbitw", {0, ADD_I, mk_op2(0xD,I_WORD,I_WORD), "tbitw"},
0, ADD_I, mk_op2(0xD,I_DOUBLE,I_DOUBLE), "tbitd", {0, ADD_I, mk_op2(0xD,I_DOUBLE,I_DOUBLE), "tbitd"},
0, COM, mk_op2(0x6,I_BYTE,I_BYTE), "sbitb", {0, COM, mk_op2(0x6,I_BYTE,I_BYTE), "sbitb"},
0, COM, mk_op2(0x6,I_WORD,I_WORD), "sbitw", {0, COM, mk_op2(0x6,I_WORD,I_WORD), "sbitw"},
0, COM, mk_op2(0x6,I_DOUBLE,I_DOUBLE), "sbitd", {0, COM, mk_op2(0x6,I_DOUBLE,I_DOUBLE), "sbitd"},
0, COM, mk_op2(0x7,I_BYTE,I_BYTE), "sbitib", {0, COM, mk_op2(0x7,I_BYTE,I_BYTE), "sbitib"},
0, COM, mk_op2(0x7,I_WORD,I_WORD), "sbitiw", {0, COM, mk_op2(0x7,I_WORD,I_WORD), "sbitiw"},
0, COM, mk_op2(0x7,I_DOUBLE,I_DOUBLE), "sbitid", {0, COM, mk_op2(0x7,I_DOUBLE,I_DOUBLE), "sbitid"},
0, COM, mk_op2(0x2,I_BYTE,I_BYTE), "cbitb", {0, COM, mk_op2(0x2,I_BYTE,I_BYTE), "cbitb"},
0, COM, mk_op2(0x2,I_WORD,I_WORD), "cbitw", {0, COM, mk_op2(0x2,I_WORD,I_WORD), "cbitw"},
0, COM, mk_op2(0x2,I_DOUBLE,I_DOUBLE), "cbitd", {0, COM, mk_op2(0x2,I_DOUBLE,I_DOUBLE), "cbitd"},
0, COM, mk_op2(0x3,I_BYTE,I_BYTE), "cbitib", {0, COM, mk_op2(0x3,I_BYTE,I_BYTE), "cbitib"},
0, COM, mk_op2(0x3,I_WORD,I_WORD), "cbitiw", {0, COM, mk_op2(0x3,I_WORD,I_WORD), "cbitiw"},
0, COM, mk_op2(0x3,I_DOUBLE,I_DOUBLE), "cbitid", {0, COM, mk_op2(0x3,I_DOUBLE,I_DOUBLE), "cbitid"},
0, COM, mk_op2(0xE,I_BYTE,I_BYTE), "ibitb", {0, COM, mk_op2(0xE,I_BYTE,I_BYTE), "ibitb"},
0, COM, mk_op2(0xE,I_WORD,I_WORD), "ibitw", {0, COM, mk_op2(0xE,I_WORD,I_WORD), "ibitw"},
0, COM, mk_op2(0xE,I_DOUBLE,I_DOUBLE), "ibitd", {0, COM, mk_op2(0xE,I_DOUBLE,I_DOUBLE), "ibitd"},
0, CHECK, mk_op1(0x1,I_DOUBLE), "cvtp", {0, CHECK, mk_op1(0x1,I_DOUBLE), "cvtp"},
0, FFS, mk_op2c(0x5,I_BYTE,I_BYTE,0), "ffsb", {0, FFS, mk_op2c(0x5,I_BYTE,I_BYTE,0), "ffsb"},
0, FFS, mk_op2c(0x5,I_WORD,I_BYTE,0), "ffsw", {0, FFS, mk_op2c(0x5,I_WORD,I_BYTE,0), "ffsw"},
0, FFS, mk_op2c(0x5,I_DOUBLE,I_BYTE,0), "ffsd", {0, FFS, mk_op2c(0x5,I_DOUBLE,I_BYTE,0), "ffsd"},
/* Field instructions */ /* Field instructions */
0, INS, mk_op2(0x0,I_BYTE,I_BYTE), "extb", {0, INS, mk_op2(0x0,I_BYTE,I_BYTE), "extb"},
0, INS, mk_op2(0x0,I_WORD,I_WORD), "extw", {0, INS, mk_op2(0x0,I_WORD,I_WORD), "extw"},
0, INS, mk_op2(0x0,I_DOUBLE,I_DOUBLE), "extd", {0, INS, mk_op2(0x0,I_DOUBLE,I_DOUBLE), "extd"},
0, INSS, mk_op2(0x3,I_BYTE,I_BYTE), "extsb", {0, INSS, mk_op2(0x3,I_BYTE,I_BYTE), "extsb"},
0, INSS, mk_op2(0x3,I_WORD,I_WORD), "extsw", {0, INSS, mk_op2(0x3,I_WORD,I_WORD), "extsw"},
0, INSS, mk_op2(0x3,I_DOUBLE,I_DOUBLE), "extsd", {0, INSS, mk_op2(0x3,I_DOUBLE,I_DOUBLE), "extsd"},
0, INS, mk_op2(0x2,I_BYTE,I_BYTE), "insb", {0, INS, mk_op2(0x2,I_BYTE,I_BYTE), "insb"},
0, INS, mk_op2(0x2,I_WORD,I_WORD), "insw", {0, INS, mk_op2(0x2,I_WORD,I_WORD), "insw"},
0, INS, mk_op2(0x2,I_DOUBLE,I_DOUBLE), "insd", {0, INS, mk_op2(0x2,I_DOUBLE,I_DOUBLE), "insd"},
0, INSS, mk_op2(0x2,I_BYTE,I_BYTE), "inssb", {0, INSS, mk_op2(0x2,I_BYTE,I_BYTE), "inssb"},
0, INSS, mk_op2(0x2,I_WORD,I_WORD), "inssw", {0, INSS, mk_op2(0x2,I_WORD,I_WORD), "inssw"},
0, INSS, mk_op2(0x2,I_DOUBLE,I_DOUBLE), "inssd", {0, INSS, mk_op2(0x2,I_DOUBLE,I_DOUBLE), "inssd"},
/* String instructions */ /* String instructions */
0, MOVS, mk_op1c(0x0,I_BYTE,0), "movsb", {0, MOVS, mk_op1c(0x0,I_BYTE,0), "movsb"},
0, MOVS, mk_op1c(0x0,I_WORD,0), "movsw", {0, MOVS, mk_op1c(0x0,I_WORD,0), "movsw"},
0, MOVS, mk_op1c(0x0,I_DOUBLE,0), "movsd", {0, MOVS, mk_op1c(0x0,I_DOUBLE,0), "movsd"},
0, MOVS, mk_op1c(0x0,I_BYTE,SO_TRANS), "movst", {0, MOVS, mk_op1c(0x0,I_BYTE,SO_TRANS), "movst"},
0, MOVS, mk_op1c(0x1,I_BYTE,0), "cmpsb", {0, MOVS, mk_op1c(0x1,I_BYTE,0), "cmpsb"},
0, MOVS, mk_op1c(0x1,I_WORD,0), "cmpsw", {0, MOVS, mk_op1c(0x1,I_WORD,0), "cmpsw"},
0, MOVS, mk_op1c(0x1,I_DOUBLE,0), "cmpsd", {0, MOVS, mk_op1c(0x1,I_DOUBLE,0), "cmpsd"},
0, MOVS, mk_op1c(0x1,I_BYTE,SO_TRANS), "cmpst", {0, MOVS, mk_op1c(0x1,I_BYTE,SO_TRANS), "cmpst"},
0, MOVS, mk_op1c(0x3,I_BYTE,0), "skpsb", {0, MOVS, mk_op1c(0x3,I_BYTE,0), "skpsb"},
0, MOVS, mk_op1c(0x3,I_WORD,0), "skpsw", {0, MOVS, mk_op1c(0x3,I_WORD,0), "skpsw"},
0, MOVS, mk_op1c(0x3,I_DOUBLE,0), "skpsd", {0, MOVS, mk_op1c(0x3,I_DOUBLE,0), "skpsd"},
0, MOVS, mk_op1c(0x3,I_BYTE,SO_TRANS), "skpst", {0, MOVS, mk_op1c(0x3,I_BYTE,SO_TRANS), "skpst"},
/* Block instructions */ /* Block instructions */
0, MOVM, mk_op2(0x0,I_BYTE,I_BYTE), "movmb", {0, MOVM, mk_op2(0x0,I_BYTE,I_BYTE), "movmb"},
0, MOVM, mk_op2(0x0,I_WORD,I_WORD), "movmw", {0, MOVM, mk_op2(0x0,I_WORD,I_WORD), "movmw"},
0, MOVM, mk_op2(0x0,I_DOUBLE,I_DOUBLE), "movmd", {0, MOVM, mk_op2(0x0,I_DOUBLE,I_DOUBLE), "movmd"},
0, MOVM, mk_op2(0x1,I_BYTE,I_BYTE), "cmpmb", {0, MOVM, mk_op2(0x1,I_BYTE,I_BYTE), "cmpmb"},
0, MOVM, mk_op2(0x1,I_WORD,I_WORD), "cmpmw", {0, MOVM, mk_op2(0x1,I_WORD,I_WORD), "cmpmw"},
0, MOVM, mk_op2(0x1,I_DOUBLE,I_DOUBLE), "cmpmd", {0, MOVM, mk_op2(0x1,I_DOUBLE,I_DOUBLE), "cmpmd"},
/* Packed decimal instructions */ /* Packed decimal instructions */
0, COM, mk_op2(0xF,I_BYTE,I_BYTE), "addpb", {0, COM, mk_op2(0xF,I_BYTE,I_BYTE), "addpb"},
0, COM, mk_op2(0xF,I_WORD,I_WORD), "addpw", {0, COM, mk_op2(0xF,I_WORD,I_WORD), "addpw"},
0, COM, mk_op2(0xF,I_DOUBLE,I_DOUBLE), "addpd", {0, COM, mk_op2(0xF,I_DOUBLE,I_DOUBLE), "addpd"},
0, COM, mk_op2(0xB,I_BYTE,I_BYTE), "subpb", {0, COM, mk_op2(0xB,I_BYTE,I_BYTE), "subpb"},
0, COM, mk_op2(0xB,I_WORD,I_WORD), "subpw", {0, COM, mk_op2(0xB,I_WORD,I_WORD), "subpw"},
0, COM, mk_op2(0xB,I_DOUBLE,I_DOUBLE), "subpd", {0, COM, mk_op2(0xB,I_DOUBLE,I_DOUBLE), "subpd"},
/* Array instructions */ /* Array instructions */
0, CHECK, mk_op2(0x4,I_BYTE,I_BYTE), "indexb", {0, CHECK, mk_op2(0x4,I_BYTE,I_BYTE), "indexb"},
0, CHECK, mk_op2(0x4,I_WORD,I_WORD), "indexw", {0, CHECK, mk_op2(0x4,I_WORD,I_WORD), "indexw"},
0, CHECK, mk_op2(0x4,I_DOUBLE,I_DOUBLE), "indexd", {0, CHECK, mk_op2(0x4,I_DOUBLE,I_DOUBLE), "indexd"},
0, CHECK, mk_op2(0x3,I_BYTE,I_BYTE), "checkb", {0, CHECK, mk_op2(0x3,I_BYTE,I_BYTE), "checkb"},
0, CHECK, mk_op2(0x3,I_WORD,I_WORD), "checkw", {0, CHECK, mk_op2(0x3,I_WORD,I_WORD), "checkw"},
0, CHECK, mk_op2(0x3,I_DOUBLE,I_DOUBLE), "checkd", {0, CHECK, mk_op2(0x3,I_DOUBLE,I_DOUBLE), "checkd"},
/* Processor control instructions */ /* Processor control instructions */
0, JUMP, mk_op1(0x4,I_DOUBLE), "jump", {0, JUMP, mk_op1(0x4,I_DOUBLE), "jump"},
0, BR, mk_c(B_EQ), "beq", {0, BR, mk_c(B_EQ), "beq"},
0, BR, mk_c(B_NE), "bne", {0, BR, mk_c(B_NE), "bne"},
0, BR, mk_c(B_CS), "bcs", {0, BR, mk_c(B_CS), "bcs"},
0, BR, mk_c(B_CC), "bcc", {0, BR, mk_c(B_CC), "bcc"},
0, BR, mk_c(B_HI), "bhi", {0, BR, mk_c(B_HI), "bhi"},
0, BR, mk_c(B_LS), "bls", {0, BR, mk_c(B_LS), "bls"},
0, BR, mk_c(B_GT), "bgt", {0, BR, mk_c(B_GT), "bgt"},
0, BR, mk_c(B_LE), "ble", {0, BR, mk_c(B_LE), "ble"},
0, BR, mk_c(B_FS), "bfs", {0, BR, mk_c(B_FS), "bfs"},
0, BR, mk_c(B_FC), "bfc", {0, BR, mk_c(B_FC), "bfc"},
0, BR, mk_c(B_LO), "blo", {0, BR, mk_c(B_LO), "blo"},
0, BR, mk_c(B_HS), "bhs", {0, BR, mk_c(B_HS), "bhs"},
0, BR, mk_c(B_LT), "blt", {0, BR, mk_c(B_LT), "blt"},
0, BR, mk_c(B_GE), "bge", {0, BR, mk_c(B_GE), "bge"},
0, BR, mk_c(B_TRUE), "br", {0, BR, mk_c(B_TRUE), "br"},
#ifdef UNUSED #ifdef UNUSED
0, BR, mk_c(B_FALSE), "bfalse", {0, BR, mk_c(B_FALSE), "bfalse"},
#endif #endif
0, ADJSP, mk_op1(0xE,I_BYTE), "caseb", {0, ADJSP, mk_op1(0xE,I_BYTE), "caseb"},
0, ADJSP, mk_op1(0xE,I_WORD), "casew", {0, ADJSP, mk_op1(0xE,I_WORD), "casew"},
0, ADJSP, mk_op1(0xE,I_DOUBLE), "cased", {0, ADJSP, mk_op1(0xE,I_DOUBLE), "cased"},
0, ACB, mk_op1(0x4,I_BYTE), "acbb", {0, ACB, mk_op1(0x4,I_BYTE), "acbb"},
0, ACB, mk_op1(0x4,I_WORD), "acbw", {0, ACB, mk_op1(0x4,I_WORD), "acbw"},
0, ACB, mk_op1(0x4,I_DOUBLE), "acbd", {0, ACB, mk_op1(0x4,I_DOUBLE), "acbd"},
0, JSR, mk_op1(0xC,I_DOUBLE), "jsr", {0, JSR, mk_op1(0xC,I_DOUBLE), "jsr"},
0, BSR, mk_op(0x0), "bsr", {0, BSR, mk_op(0x0), "bsr"},
0, RET, mk_op(0x1), "ret", {0, RET, mk_op(0x1), "ret"},
0, RET, mk_op(0x2), "cxp", {0, RET, mk_op(0x2), "cxp"},
0, ADJSP, mk_op1(0x0,I_DOUBLE), "cxpd", {0, ADJSP, mk_op1(0x0,I_DOUBLE), "cxpd"},
0, RET, mk_op(0x3), "rxp", {0, RET, mk_op(0x3), "rxp"},
0, RET, mk_op(0x4), "rett", {0, RET, mk_op(0x4), "rett"},
0, WAIT, mk_op(0x5), "reti", {0, WAIT, mk_op(0x5), "reti"},
0, WAIT, mk_op(0xC), "dia", {0, WAIT, mk_op(0xC), "dia"},
/* Processor service instructions */ /* Processor service instructions */
0, ADJSP, mk_op1(0xA,I_BYTE), "adjspb", {0, ADJSP, mk_op1(0xA,I_BYTE), "adjspb"},
0, ADJSP, mk_op1(0xA,I_WORD), "adjspw", {0, ADJSP, mk_op1(0xA,I_WORD), "adjspw"},
0, ADJSP, mk_op1(0xA,I_DOUBLE), "adjspd", {0, ADJSP, mk_op1(0xA,I_DOUBLE), "adjspd"},
0, ADJSP, mk_op1(0x2,I_BYTE), "bicpsrb", {0, ADJSP, mk_op1(0x2,I_BYTE), "bicpsrb"},
0, ADJSP, mk_op1(0x2,I_WORD), "bicpsrw", {0, ADJSP, mk_op1(0x2,I_WORD), "bicpsrw"},
0, ADJSP, mk_op1(0x6,I_BYTE), "bispsrb", {0, ADJSP, mk_op1(0x6,I_BYTE), "bispsrb"},
0, ADJSP, mk_op1(0x6,I_WORD), "bispsrw", {0, ADJSP, mk_op1(0x6,I_WORD), "bispsrw"},
#ifdef UNUSED #ifdef UNUSED
0, ADJSP, mk_op1(0x2,I_DOUBLE), "bicpsrd", {0, ADJSP, mk_op1(0x2,I_DOUBLE), "bicpsrd"},
0, ADJSP, mk_op1(0x6,I_DOUBLE), "bispsrd", {0, ADJSP, mk_op1(0x6,I_DOUBLE), "bispsrd"},
#endif #endif
0, SAVE, mk_op(0x6), "save", {0, SAVE, mk_op(0x6), "save"},
0, SAVE, mk_op(0x7), "restore", {0, SAVE, mk_op(0x7), "restore"},
0, ENTER, mk_op(0x8), "enter", {0, ENTER, mk_op(0x8), "enter"},
0, SAVE, mk_op(0x9), "exit", {0, SAVE, mk_op(0x9), "exit"},
0, LPR, mk_op1(0x6,I_BYTE), "lprb", {0, LPR, mk_op1(0x6,I_BYTE), "lprb"},
0, LPR, mk_op1(0x6,I_WORD), "lprw", {0, LPR, mk_op1(0x6,I_WORD), "lprw"},
0, LPR, mk_op1(0x6,I_DOUBLE), "lprd", {0, LPR, mk_op1(0x6,I_DOUBLE), "lprd"},
0, LPR, mk_op1(0x2,I_BYTE), "sprb", {0, LPR, mk_op1(0x2,I_BYTE), "sprb"},
0, LPR, mk_op1(0x2,I_WORD), "sprw", {0, LPR, mk_op1(0x2,I_WORD), "sprw"},
0, LPR, mk_op1(0x2,I_DOUBLE), "sprd", {0, LPR, mk_op1(0x2,I_DOUBLE), "sprd"},
0, SETCFG, mk_op1(0x2,I_DOUBLE), "setcfg", {0, SETCFG, mk_op1(0x2,I_DOUBLE), "setcfg"},
0, WAIT, mk_op(0xF), "bpt", {0, WAIT, mk_op(0xF), "bpt"},
0, WAIT, mk_op(0xD), "flag", {0, WAIT, mk_op(0xD), "flag"},
0, WAIT, mk_op(0xE), "svc", {0, WAIT, mk_op(0xE), "svc"},
0, WAIT, mk_op(0xA), "nop", {0, WAIT, mk_op(0xA), "nop"},
0, WAIT, mk_op(0xB), "wait", {0, WAIT, mk_op(0xB), "wait"},
/* Memory management instructions */ /* Memory management instructions */
0, LMR, mk_op1(0x2,I_DOUBLE), "lmr", {0, LMR, mk_op1(0x2,I_DOUBLE), "lmr"},
0, LMR, mk_op1(0x3,I_DOUBLE), "smr", {0, LMR, mk_op1(0x3,I_DOUBLE), "smr"},
0, RDVAL, mk_op1(0x0,I_DOUBLE), "rdval", {0, RDVAL, mk_op1(0x0,I_DOUBLE), "rdval"},
0, RDVAL, mk_op1(0x1,I_DOUBLE), "wrval", {0, RDVAL, mk_op1(0x1,I_DOUBLE), "wrval"},
#ifdef SU_ASSEM #ifdef SU_ASSEM
/* The assembler ref. man and the CPU description booklet differ /* The assembler ref. man and the CPU description booklet differ
in the encoding of these instructions in the encoding of these instructions
*/ */
0, FFS, mk_op2c(0x6,I_BYTE,I_BYTE,1), "movsub", {0, FFS, mk_op2c(0x6,I_BYTE,I_BYTE,1), "movsub"},
0, FFS, mk_op2c(0x6,I_WORD,I_WORD,1), "movsuw", {0, FFS, mk_op2c(0x6,I_WORD,I_WORD,1), "movsuw"},
0, FFS, mk_op2c(0x6,I_DOUBLE,I_DOUBLE,1),"movsud", {0, FFS, mk_op2c(0x6,I_DOUBLE,I_DOUBLE,1),"movsud"},
0, FFS, mk_op2c(0x6,I_BYTE,I_BYTE,3), "movusb", {0, FFS, mk_op2c(0x6,I_BYTE,I_BYTE,3), "movusb"},
0, FFS, mk_op2c(0x6,I_WORD,I_WORD,3), "movusw", {0, FFS, mk_op2c(0x6,I_WORD,I_WORD,3), "movusw"},
0, FFS, mk_op2c(0x6,I_DOUBLE,I_DOUBLE,3),"movusd", {0, FFS, mk_op2c(0x6,I_DOUBLE,I_DOUBLE,3),"movusd"},
#else #else
/* assembler reference manual version */ /* assembler reference manual version */
0, FFS, mk_op2c(0x7,I_BYTE,I_BYTE,0), "movsub", {0, FFS, mk_op2c(0x7,I_BYTE,I_BYTE,0), "movsub"},
0, FFS, mk_op2c(0x7,I_WORD,I_WORD,0), "movsuw", {0, FFS, mk_op2c(0x7,I_WORD,I_WORD,0), "movsuw"},
0, FFS, mk_op2c(0x7,I_DOUBLE,I_DOUBLE,0),"movsud", {0, FFS, mk_op2c(0x7,I_DOUBLE,I_DOUBLE,0),"movsud"},
0, FFS, mk_op2c(0x6,I_BYTE,I_BYTE,0), "movusb", {0, FFS, mk_op2c(0x6,I_BYTE,I_BYTE,0), "movusb"},
0, FFS, mk_op2c(0x6,I_WORD,I_WORD,0), "movusw", {0, FFS, mk_op2c(0x6,I_WORD,I_WORD,0), "movusw"},
0, FFS, mk_op2c(0x6,I_DOUBLE,I_DOUBLE,0),"movusd", {0, FFS, mk_op2c(0x6,I_DOUBLE,I_DOUBLE,0),"movusd"},
#endif #endif
/* Floating point instructions */ /* Floating point instructions */
0, ADD_F, mk_op2(0xD,F_FLOAT,F_FLOAT), "absf", {0, ADD_F, mk_op2(0xD,F_FLOAT,F_FLOAT), "absf"},
0, ADD_F, mk_op2(0xD,F_LONG,F_LONG), "absl", {0, ADD_F, mk_op2(0xD,F_LONG,F_LONG), "absl"},
0, ADD_F, mk_op2(0x0,F_FLOAT,F_FLOAT), "addf", {0, ADD_F, mk_op2(0x0,F_FLOAT,F_FLOAT), "addf"},
0, ADD_F, mk_op2(0x0,F_LONG,F_LONG), "addl", {0, ADD_F, mk_op2(0x0,F_LONG,F_LONG), "addl"},
0, ADD_F, mk_op2(0x2,F_FLOAT,F_FLOAT), "cmpf", {0, ADD_F, mk_op2(0x2,F_FLOAT,F_FLOAT), "cmpf"},
0, ADD_F, mk_op2(0x2,F_LONG,F_LONG), "cmpl", {0, ADD_F, mk_op2(0x2,F_LONG,F_LONG), "cmpl"},
0, ADD_F, mk_op2(0x8,F_FLOAT,F_FLOAT), "divf", {0, ADD_F, mk_op2(0x8,F_FLOAT,F_FLOAT), "divf"},
0, ADD_F, mk_op2(0x8,F_LONG,F_LONG), "divl", {0, ADD_F, mk_op2(0x8,F_LONG,F_LONG), "divl"},
0, ADD_F, mk_op2(0xC,F_FLOAT,F_FLOAT), "mulf", {0, ADD_F, mk_op2(0xC,F_FLOAT,F_FLOAT), "mulf"},
0, ADD_F, mk_op2(0xC,F_LONG,F_LONG), "mull", {0, ADD_F, mk_op2(0xC,F_LONG,F_LONG), "mull"},
0, ADD_F, mk_op2(0x4,F_FLOAT,F_FLOAT), "subf", {0, ADD_F, mk_op2(0x4,F_FLOAT,F_FLOAT), "subf"},
0, ADD_F, mk_op2(0x4,F_LONG,F_LONG), "subl", {0, ADD_F, mk_op2(0x4,F_LONG,F_LONG), "subl"},
0, ADD_F, mk_op2(0x5,F_FLOAT,F_FLOAT), "negf", {0, ADD_F, mk_op2(0x5,F_FLOAT,F_FLOAT), "negf"},
0, ADD_F, mk_op2(0x5,F_LONG,F_LONG), "negl", {0, ADD_F, mk_op2(0x5,F_LONG,F_LONG), "negl"},
0, ADD_F, mk_op2(0x1,F_FLOAT,F_FLOAT), "movf", {0, ADD_F, mk_op2(0x1,F_FLOAT,F_FLOAT), "movf"},
0, ADD_F, mk_op2(0x1,F_LONG,F_LONG), "movl", {0, ADD_F, mk_op2(0x1,F_LONG,F_LONG), "movl"},
0, MOVIF, mk_op2(0x0,I_BYTE,F_FLOAT), "movbf", {0, MOVIF, mk_op2(0x0,I_BYTE,F_FLOAT), "movbf"},
0, MOVIF, mk_op2(0x0,I_WORD,F_FLOAT), "movwf", {0, MOVIF, mk_op2(0x0,I_WORD,F_FLOAT), "movwf"},
0, MOVIF, mk_op2(0x0,I_DOUBLE,F_FLOAT), "movdf", {0, MOVIF, mk_op2(0x0,I_DOUBLE,F_FLOAT), "movdf"},
0, MOVIF, mk_op2(0x0,I_BYTE,F_LONG), "movbl", {0, MOVIF, mk_op2(0x0,I_BYTE,F_LONG), "movbl"},
0, MOVIF, mk_op2(0x0,I_WORD,F_LONG), "movwl", {0, MOVIF, mk_op2(0x0,I_WORD,F_LONG), "movwl"},
0, MOVIF, mk_op2(0x0,I_DOUBLE,F_LONG), "movdl", {0, MOVIF, mk_op2(0x0,I_DOUBLE,F_LONG), "movdl"},
0, MOVFL, mk_op2(0x3,F_FLOAT,F_LONG), "movfl", {0, MOVFL, mk_op2(0x3,F_FLOAT,F_LONG), "movfl"},
0, MOVFL, mk_op2(0x2,F_LONG,F_FLOAT), "movlf", {0, MOVFL, mk_op2(0x2,F_LONG,F_FLOAT), "movlf"},
0, TRUNC, mk_op2(0x7,F_FLOAT,I_BYTE), "floorfb", {0, TRUNC, mk_op2(0x7,F_FLOAT,I_BYTE), "floorfb"},
0, TRUNC, mk_op2(0x7,F_FLOAT,I_WORD), "floorfw", {0, TRUNC, mk_op2(0x7,F_FLOAT,I_WORD), "floorfw"},
0, TRUNC, mk_op2(0x7,F_FLOAT,I_DOUBLE), "floorfd", {0, TRUNC, mk_op2(0x7,F_FLOAT,I_DOUBLE), "floorfd"},
0, TRUNC, mk_op2(0x7,F_LONG,I_BYTE), "floorlb", {0, TRUNC, mk_op2(0x7,F_LONG,I_BYTE), "floorlb"},
0, TRUNC, mk_op2(0x7,F_LONG,I_WORD), "floorlw", {0, TRUNC, mk_op2(0x7,F_LONG,I_WORD), "floorlw"},
0, TRUNC, mk_op2(0x7,F_LONG,I_DOUBLE), "floorld", {0, TRUNC, mk_op2(0x7,F_LONG,I_DOUBLE), "floorld"},
0, TRUNC, mk_op2(0x4,F_FLOAT,I_BYTE), "roundfb", {0, TRUNC, mk_op2(0x4,F_FLOAT,I_BYTE), "roundfb"},
0, TRUNC, mk_op2(0x4,F_FLOAT,I_WORD), "roundfw", {0, TRUNC, mk_op2(0x4,F_FLOAT,I_WORD), "roundfw"},
0, TRUNC, mk_op2(0x4,F_FLOAT,I_DOUBLE), "roundfd", {0, TRUNC, mk_op2(0x4,F_FLOAT,I_DOUBLE), "roundfd"},
0, TRUNC, mk_op2(0x4,F_LONG,I_BYTE), "roundlb", {0, TRUNC, mk_op2(0x4,F_LONG,I_BYTE), "roundlb"},
0, TRUNC, mk_op2(0x4,F_LONG,I_WORD), "roundlw", {0, TRUNC, mk_op2(0x4,F_LONG,I_WORD), "roundlw"},
0, TRUNC, mk_op2(0x4,F_LONG,I_DOUBLE), "roundld", {0, TRUNC, mk_op2(0x4,F_LONG,I_DOUBLE), "roundld"},
0, TRUNC, mk_op2(0x5,F_FLOAT,I_BYTE), "truncfb", {0, TRUNC, mk_op2(0x5,F_FLOAT,I_BYTE), "truncfb"},
0, TRUNC, mk_op2(0x5,F_FLOAT,I_WORD), "truncfw", {0, TRUNC, mk_op2(0x5,F_FLOAT,I_WORD), "truncfw"},
0, TRUNC, mk_op2(0x5,F_FLOAT,I_DOUBLE), "truncfd", {0, TRUNC, mk_op2(0x5,F_FLOAT,I_DOUBLE), "truncfd"},
0, TRUNC, mk_op2(0x5,F_LONG,I_BYTE), "trunclb", {0, TRUNC, mk_op2(0x5,F_LONG,I_BYTE), "trunclb"},
0, TRUNC, mk_op2(0x5,F_LONG,I_WORD), "trunclw", {0, TRUNC, mk_op2(0x5,F_LONG,I_WORD), "trunclw"},
0, TRUNC, mk_op2(0x5,F_LONG,I_DOUBLE), "truncld", {0, TRUNC, mk_op2(0x5,F_LONG,I_DOUBLE), "truncld"},
0, LFSR, mk_op(0x1), "lfsr", {0, LFSR, mk_op(0x1), "lfsr"},
0, LFSR, mk_op(0x6), "sfsr", {0, LFSR, mk_op(0x6), "sfsr"},
/* Slave processor instructions */ /* Slave processor instructions */
0, LCR, mk_op1(0x2,I_DOUBLE), "lcr", /* Sure ? */ {0, LCR, mk_op1(0x2,I_DOUBLE), "lcr"}, /* Sure ? */
0, LCR, mk_op1(0x3,I_DOUBLE), "scr", /* Sure ? */ {0, LCR, mk_op1(0x3,I_DOUBLE), "scr"}, /* Sure ? */
0, CATST, mk_op1(0x0,I_DOUBLE), "catst0",/* Sure ? */ {0, CATST, mk_op1(0x0,I_DOUBLE), "catst0"},/* Sure ? */
0, CATST, mk_op1(0x1,I_DOUBLE), "catst1",/* Sure ? */ {0, CATST, mk_op1(0x1,I_DOUBLE), "catst1"},/* Sure ? */
0, LCSR, mk_op1(0x1,S_DOUBLE), "lcsr", /* Sure ? */ {0, LCSR, mk_op1(0x1,S_DOUBLE), "lcsr"}, /* Sure ? */
0, LCSR, mk_op1(0x6,S_DOUBLE), "scsr", /* Sure ? */ {0, LCSR, mk_op1(0x6,S_DOUBLE), "scsr"}, /* Sure ? */
0, CCVSI, mk_op2(0x7,S_DOUBLE,I_BYTE), "ccv0db", {0, CCVSI, mk_op2(0x7,S_DOUBLE,I_BYTE), "ccv0db"},
0, CCVSI, mk_op2(0x7,S_DOUBLE,I_WORD), "ccv0dw", {0, CCVSI, mk_op2(0x7,S_DOUBLE,I_WORD), "ccv0dw"},
0, CCVSI, mk_op2(0x7,S_DOUBLE,I_DOUBLE), "ccv0dd", {0, CCVSI, mk_op2(0x7,S_DOUBLE,I_DOUBLE), "ccv0dd"},
0, CCVSI, mk_op2(0x7,S_QUAD,I_BYTE), "ccv0qb", {0, CCVSI, mk_op2(0x7,S_QUAD,I_BYTE), "ccv0qb"},
0, CCVSI, mk_op2(0x7,S_QUAD,I_WORD), "ccv0qw", {0, CCVSI, mk_op2(0x7,S_QUAD,I_WORD), "ccv0qw"},
0, CCVSI, mk_op2(0x7,S_QUAD,I_DOUBLE), "ccv0qd", {0, CCVSI, mk_op2(0x7,S_QUAD,I_DOUBLE), "ccv0qd"},
0, CCVSI, mk_op2(0x5,S_DOUBLE,I_BYTE), "ccv1db", {0, CCVSI, mk_op2(0x5,S_DOUBLE,I_BYTE), "ccv1db"},
0, CCVSI, mk_op2(0x5,S_DOUBLE,I_WORD), "ccv1dw", {0, CCVSI, mk_op2(0x5,S_DOUBLE,I_WORD), "ccv1dw"},
0, CCVSI, mk_op2(0x5,S_DOUBLE,I_DOUBLE), "ccv1dd", {0, CCVSI, mk_op2(0x5,S_DOUBLE,I_DOUBLE), "ccv1dd"},
0, CCVSI, mk_op2(0x5,S_QUAD,I_BYTE), "ccv1qb", {0, CCVSI, mk_op2(0x5,S_QUAD,I_BYTE), "ccv1qb"},
0, CCVSI, mk_op2(0x5,S_QUAD,I_WORD), "ccv1qw", {0, CCVSI, mk_op2(0x5,S_QUAD,I_WORD), "ccv1qw"},
0, CCVSI, mk_op2(0x5,S_QUAD,I_DOUBLE), "ccv1qd", {0, CCVSI, mk_op2(0x5,S_QUAD,I_DOUBLE), "ccv1qd"},
0, CCVSI, mk_op2(0x4,S_DOUBLE,I_BYTE), "ccv2db", {0, CCVSI, mk_op2(0x4,S_DOUBLE,I_BYTE), "ccv2db"},
0, CCVSI, mk_op2(0x4,S_DOUBLE,I_WORD), "ccv2dw", {0, CCVSI, mk_op2(0x4,S_DOUBLE,I_WORD), "ccv2dw"},
0, CCVSI, mk_op2(0x4,S_DOUBLE,I_DOUBLE), "ccv2dd", {0, CCVSI, mk_op2(0x4,S_DOUBLE,I_DOUBLE), "ccv2dd"},
0, CCVSI, mk_op2(0x4,S_QUAD,I_BYTE), "ccv2qb", {0, CCVSI, mk_op2(0x4,S_QUAD,I_BYTE), "ccv2qb"},
0, CCVSI, mk_op2(0x4,S_QUAD,I_WORD), "ccv2qw", {0, CCVSI, mk_op2(0x4,S_QUAD,I_WORD), "ccv2qw"},
0, CCVSI, mk_op2(0x4,S_QUAD,I_DOUBLE), "ccv2qd", {0, CCVSI, mk_op2(0x4,S_QUAD,I_DOUBLE), "ccv2qd"},
0, CCVIS, mk_op2(0x0,I_BYTE,S_DOUBLE), "ccv3bd", {0, CCVIS, mk_op2(0x0,I_BYTE,S_DOUBLE), "ccv3bd"},
0, CCVIS, mk_op2(0x0,I_WORD,S_DOUBLE), "ccv3wd", {0, CCVIS, mk_op2(0x0,I_WORD,S_DOUBLE), "ccv3wd"},
0, CCVIS, mk_op2(0x0,I_DOUBLE,S_DOUBLE), "ccv3dd", {0, CCVIS, mk_op2(0x0,I_DOUBLE,S_DOUBLE), "ccv3dd"},
0, CCVIS, mk_op2(0x0,I_BYTE,S_QUAD), "ccv3bq", {0, CCVIS, mk_op2(0x0,I_BYTE,S_QUAD), "ccv3bq"},
0, CCVIS, mk_op2(0x0,I_WORD,S_QUAD), "ccv3wq", {0, CCVIS, mk_op2(0x0,I_WORD,S_QUAD), "ccv3wq"},
0, CCVIS, mk_op2(0x0,I_DOUBLE,S_QUAD), "ccv3dq", {0, CCVIS, mk_op2(0x0,I_DOUBLE,S_QUAD), "ccv3dq"},
0, CCVSS, mk_op2(0x3,S_DOUBLE,S_QUAD), "ccv4dq", {0, CCVSS, mk_op2(0x3,S_DOUBLE,S_QUAD), "ccv4dq"},
0, CCVSS, mk_op2(0x2,S_QUAD,S_DOUBLE), "ccv5qd", {0, CCVSS, mk_op2(0x2,S_QUAD,S_DOUBLE), "ccv5qd"},
0, CMOV, mk_op2(0x0,S_DOUBLE,S_DOUBLE), "ccal0d", {0, CMOV, mk_op2(0x0,S_DOUBLE,S_DOUBLE), "ccal0d"},
0, CMOV, mk_op2(0x0,S_QUAD,S_QUAD), "ccal0q", {0, CMOV, mk_op2(0x0,S_QUAD,S_QUAD), "ccal0q"},
0, CMOV, mk_op2(0x4,S_DOUBLE,S_DOUBLE), "ccal1d", {0, CMOV, mk_op2(0x4,S_DOUBLE,S_DOUBLE), "ccal1d"},
0, CMOV, mk_op2(0x4,S_QUAD,S_QUAD), "ccal1q", {0, CMOV, mk_op2(0x4,S_QUAD,S_QUAD), "ccal1q"},
0, CMOV, mk_op2(0xC,S_DOUBLE,S_DOUBLE), "ccal2d", {0, CMOV, mk_op2(0xC,S_DOUBLE,S_DOUBLE), "ccal2d"},
0, CMOV, mk_op2(0xC,S_QUAD,S_QUAD), "ccal2q", {0, CMOV, mk_op2(0xC,S_QUAD,S_QUAD), "ccal2q"},
0, CMOV, mk_op2(0x8,S_DOUBLE,S_DOUBLE), "ccal3d", {0, CMOV, mk_op2(0x8,S_DOUBLE,S_DOUBLE), "ccal3d"},
0, CMOV, mk_op2(0x8,S_QUAD,S_QUAD), "ccal3q", {0, CMOV, mk_op2(0x8,S_QUAD,S_QUAD), "ccal3q"},
0, CMOV, mk_op2(0x2,S_DOUBLE,S_DOUBLE), "ccmpd", {0, CMOV, mk_op2(0x2,S_DOUBLE,S_DOUBLE), "ccmpd"},
0, CMOV, mk_op2(0x2,S_QUAD,S_QUAD), "ccmpq", {0, CMOV, mk_op2(0x2,S_QUAD,S_QUAD), "ccmpq"},
0, CMOV, mk_op2(0x1,S_DOUBLE,S_DOUBLE), "cmov0d", {0, CMOV, mk_op2(0x1,S_DOUBLE,S_DOUBLE), "cmov0d"},
0, CMOV, mk_op2(0x1,S_QUAD,S_QUAD), "cmov0q", {0, CMOV, mk_op2(0x1,S_QUAD,S_QUAD), "cmov0q"},
0, CMOV, mk_op2(0xD,S_DOUBLE,S_DOUBLE), "cmov1d", {0, CMOV, mk_op2(0xD,S_DOUBLE,S_DOUBLE), "cmov1d"},
0, CMOV, mk_op2(0xD,S_QUAD,S_QUAD), "cmov1q", {0, CMOV, mk_op2(0xD,S_QUAD,S_QUAD), "cmov1q"},
0, CMOV, mk_op2(0x5,S_DOUBLE,S_DOUBLE), "cmov2d", {0, CMOV, mk_op2(0x5,S_DOUBLE,S_DOUBLE), "cmov2d"},
0, CMOV, mk_op2(0x5,S_QUAD,S_QUAD), "cmov2q", {0, CMOV, mk_op2(0x5,S_QUAD,S_QUAD), "cmov2q"},

View file

@ -7,149 +7,149 @@
/*, /*,
* PDP 11 keywords, * PDP 11 keywords,
*/ */
0, REG, 00, "r0", {0, REG, 00, "r0"},
0, REG, 01, "r1", {0, REG, 01, "r1"},
0, REG, 02, "r2", {0, REG, 02, "r2"},
0, REG, 03, "r3", {0, REG, 03, "r3"},
0, REG, 04, "r4", {0, REG, 04, "r4"},
0, REG, 05, "r5", {0, REG, 05, "r5"},
0, REG, 06, "r6", {0, REG, 06, "r6"},
0, REG, 06, "sp", {0, REG, 06, "sp"},
0, REG, 07, "r7", {0, REG, 07, "r7"},
0, REG, 07, "pc", {0, REG, 07, "pc"},
0, FREG, 00, "fr0", {0, FREG, 00, "fr0"},
0, FREG, 01, "fr1", {0, FREG, 01, "fr1"},
0, FREG, 02, "fr2", {0, FREG, 02, "fr2"},
0, FREG, 03, "fr3", {0, FREG, 03, "fr3"},
0, FRSP, 04, "fr4", {0, FRSP, 04, "fr4"},
0, FRSP, 05, "fr5", {0, FRSP, 05, "fr5"},
0, OP_SO, 05000, "clr", {0, OP_SO, 05000, "clr"},
0, OP_SO, 0105000, "clrb", {0, OP_SO, 0105000, "clrb"},
0, OP_SO, 05100, "com", {0, OP_SO, 05100, "com"},
0, OP_SO, 0105100, "comb", {0, OP_SO, 0105100, "comb"},
0, OP_SO, 005200, "inc", {0, OP_SO, 005200, "inc"},
0, OP_SO, 0105200, "incb", {0, OP_SO, 0105200, "incb"},
0, OP_SO, 005300, "dec", {0, OP_SO, 005300, "dec"},
0, OP_SO, 0105300, "decb", {0, OP_SO, 0105300, "decb"},
0, OP_SO, 005400, "neg", {0, OP_SO, 005400, "neg"},
0, OP_SO, 0105400, "negb", {0, OP_SO, 0105400, "negb"},
0, OP_SO, 005700, "tst", {0, OP_SO, 005700, "tst"},
0, OP_SO, 0105700, "tstb", {0, OP_SO, 0105700, "tstb"},
0, OP_SO, 006200, "asr", {0, OP_SO, 006200, "asr"},
0, OP_SO, 0106200, "asrb", {0, OP_SO, 0106200, "asrb"},
0, OP_SO, 006300, "asl", {0, OP_SO, 006300, "asl"},
0, OP_SO, 0106300, "aslb", {0, OP_SO, 0106300, "aslb"},
0, OP_SO, 006000, "ror", {0, OP_SO, 006000, "ror"},
0, OP_SO, 0106000, "rorb", {0, OP_SO, 0106000, "rorb"},
0, OP_SO, 006100, "rol", {0, OP_SO, 006100, "rol"},
0, OP_SO, 0106100, "rolb", {0, OP_SO, 0106100, "rolb"},
0, OP_SO, 000300, "swab", {0, OP_SO, 000300, "swab"},
0, OP_SO, 005500, "adc", {0, OP_SO, 005500, "adc"},
0, OP_SO, 0105500, "adcb", {0, OP_SO, 0105500, "adcb"},
0, OP_SO, 005600, "sbc", {0, OP_SO, 005600, "sbc"},
0, OP_SO, 0105600, "sbcb", {0, OP_SO, 0105600, "sbcb"},
0, OP_SO, 006700, "sxt", {0, OP_SO, 006700, "sxt"},
0, OP_DO, 010000, "mov", {0, OP_DO, 010000, "mov"},
0, OP_DO, 0110000, "movb", {0, OP_DO, 0110000, "movb"},
0, OP_DO, 020000, "cmp", {0, OP_DO, 020000, "cmp"},
0, OP_DO, 0120000, "cmpb", {0, OP_DO, 0120000, "cmpb"},
0, OP_DO, 060000, "add", {0, OP_DO, 060000, "add"},
0, OP_DO, 0160000, "sub", {0, OP_DO, 0160000, "sub"},
0, OP_DO, 030000, "bit", {0, OP_DO, 030000, "bit"},
0, OP_DO, 0130000, "bitb", {0, OP_DO, 0130000, "bitb"},
0, OP_DO, 040000, "bic", {0, OP_DO, 040000, "bic"},
0, OP_DO, 0140000, "bicb", {0, OP_DO, 0140000, "bicb"},
0, OP_DO, 050000, "bis", {0, OP_DO, 050000, "bis"},
0, OP_DO, 0150000, "bisb", {0, OP_DO, 0150000, "bisb"},
0, OP_R_SO, 074000, "xor", {0, OP_R_SO, 074000, "xor"},
0, JMP, 0100, "jmp", {0, JMP, 0100, "jmp"},
0, BR, 0400, "br", {0, BR, 0400, "br"},
0, BR, 01000, "bne", {0, BR, 01000, "bne"},
0, BR, 01400, "beq", {0, BR, 01400, "beq"},
0, BR, 0100000, "bpl", {0, BR, 0100000, "bpl"},
0, BR, 0100400, "bmi", {0, BR, 0100400, "bmi"},
0, BR, 0102000, "bvc", {0, BR, 0102000, "bvc"},
0, BR, 0102400, "bvs", {0, BR, 0102400, "bvs"},
0, BR, 0103000, "bcc", {0, BR, 0103000, "bcc"},
0, BR, 0103400, "bcs", {0, BR, 0103400, "bcs"},
0, BR, 002000, "bge", {0, BR, 002000, "bge"},
0, BR, 002400, "blt", {0, BR, 002400, "blt"},
0, BR, 003000, "bgt", {0, BR, 003000, "bgt"},
0, BR, 003400, "ble", {0, BR, 003400, "ble"},
0, BR, 0101000, "bhi", {0, BR, 0101000, "bhi"},
0, BR, 0101400, "blos", {0, BR, 0101400, "blos"},
0, BR, 0103000, "bhis", {0, BR, 0103000, "bhis"},
0, BR, 0103400, "blo", {0, BR, 0103400, "blo"},
0, EJMP, 0400, "jbr", {0, EJMP, 0400, "jbr"},
0, EJMP, 01000, "jne", {0, EJMP, 01000, "jne"},
0, EJMP, 01400, "jeq", {0, EJMP, 01400, "jeq"},
0, EJMP, 0100000, "jpl", {0, EJMP, 0100000, "jpl"},
0, EJMP, 0100400, "jmi", {0, EJMP, 0100400, "jmi"},
0, EJMP, 0102000, "jvc", {0, EJMP, 0102000, "jvc"},
0, EJMP, 0102400, "jvs", {0, EJMP, 0102400, "jvs"},
0, EJMP, 0103000, "jcc", {0, EJMP, 0103000, "jcc"},
0, EJMP, 0103400, "jcs", {0, EJMP, 0103400, "jcs"},
0, EJMP, 02000, "jge", {0, EJMP, 02000, "jge"},
0, EJMP, 02400, "jlt", {0, EJMP, 02400, "jlt"},
0, EJMP, 03000, "jgt", {0, EJMP, 03000, "jgt"},
0, EJMP, 03400, "jle", {0, EJMP, 03400, "jle"},
0, EJMP, 0101000, "jhi", {0, EJMP, 0101000, "jhi"},
0, EJMP, 0101400, "jlos", {0, EJMP, 0101400, "jlos"},
0, EJMP, 0103000, "jhis", {0, EJMP, 0103000, "jhis"},
0, EJMP, 0103400, "jlo", {0, EJMP, 0103400, "jlo"},
0, JSR, 004000, "jsr", {0, JSR, 004000, "jsr"},
0, RTS, 000200, "rts", {0, RTS, 000200, "rts"},
0, MARK, 006400, "mark", {0, MARK, 006400, "mark"},
0, SOB, 077000, "sob", {0, SOB, 077000, "sob"},
0, SPL, 0230, "spl", {0, SPL, 0230, "spl"},
0, TRAP, 0104000, "emt", {0, TRAP, 0104000, "emt"},
0, TRAP, 0104400, "trap", {0, TRAP, 0104400, "trap"},
0, TRAP, 0104400, "sys", {0, TRAP, 0104400, "sys"},
0, OP_NO, 03, "bpt", {0, OP_NO, 03, "bpt"},
0, OP_NO, 04, "iot", {0, OP_NO, 04, "iot"},
0, OP_NO, 02, "rti", {0, OP_NO, 02, "rti"},
0, OP_NO, 06, "rtt", {0, OP_NO, 06, "rtt"},
0, OP_NO, 0, "halt", {0, OP_NO, 0, "halt"},
0, OP_NO, 01, "wait", {0, OP_NO, 01, "wait"},
0, OP_NO, 05, "reset", {0, OP_NO, 05, "reset"},
0, OP_NO, 0170000, "cfcc", {0, OP_NO, 0170000, "cfcc"},
0, OP_NO, 0170002, "seti", {0, OP_NO, 0170002, "seti"},
0, OP_NO, 0170012, "setl", {0, OP_NO, 0170012, "setl"},
0, OP_NO, 0170001, "setf", {0, OP_NO, 0170001, "setf"},
0, OP_NO, 0170011, "setd", {0, OP_NO, 0170011, "setd"},
0, CLEARCC, 0241, "clc", {0, CLEARCC, 0241, "clc"},
0, CLEARCC, 0242, "clv", {0, CLEARCC, 0242, "clv"},
0, CLEARCC, 0244, "clz", {0, CLEARCC, 0244, "clz"},
0, CLEARCC, 0250, "cln", {0, CLEARCC, 0250, "cln"},
0, SETCC, 0261, "sec", {0, SETCC, 0261, "sec"},
0, SETCC, 0262, "sev", {0, SETCC, 0262, "sev"},
0, SETCC, 0264, "sez", {0, SETCC, 0264, "sez"},
0, SETCC, 0270, "sen", {0, SETCC, 0270, "sen"},
0, OP_SO_R, 070000, "mul", {0, OP_SO_R, 070000, "mul"},
0, OP_SO_R, 071000, "div", {0, OP_SO_R, 071000, "div"},
0, OP_SO_R, 072000, "ash", {0, OP_SO_R, 072000, "ash"},
0, OP_SO_R, 073000, "ashc", {0, OP_SO_R, 073000, "ashc"},
0, MFP, 006500, "mfpi", {0, MFP, 006500, "mfpi"},
0, MFP, 0106500, "mfpd", {0, MFP, 0106500, "mfpd"},
0, MFP, 006600, "mtpi", {0, MFP, 006600, "mtpi"},
0, MFP, 0106600, "mtpd", {0, MFP, 0106600, "mtpd"},
0, FOP_FSO_FR, 0172000, "addf", {0, FOP_FSO_FR, 0172000, "addf"},
0, FOP_FSO_FR, 0173000, "subf", {0, FOP_FSO_FR, 0173000, "subf"},
0, FOP_FSO_FR, 0171000, "mulf", {0, FOP_FSO_FR, 0171000, "mulf"},
0, FOP_FSO_FR, 0174400, "divf", {0, FOP_FSO_FR, 0174400, "divf"},
0, FOP_FSO_FR, 0173400, "cmpf", {0, FOP_FSO_FR, 0173400, "cmpf"},
0, FOP_FSO_FR, 0171400, "modf", {0, FOP_FSO_FR, 0171400, "modf"},
0, FOP_FSO, 0170400, "clrf", {0, FOP_FSO, 0170400, "clrf"},
0, FOP_FSO, 0170700, "negf", {0, FOP_FSO, 0170700, "negf"},
0, FOP_FSO, 0170600, "absf", {0, FOP_FSO, 0170600, "absf"},
0, FOP_FSO, 0170500, "tstf", {0, FOP_FSO, 0170500, "tstf"},
0, FOP_SO, 0170100, "ldfps", {0, FOP_SO, 0170100, "ldfps"},
0, FOP_SO, 0170200, "stfps", {0, FOP_SO, 0170200, "stfps"},
0, FOP_SO, 0170300, "stst", {0, FOP_SO, 0170300, "stst"},
0, MOVF, 0, "movf", {0, MOVF, 0, "movf"},
0, FOP_SO_FR, 0177000, "movif", {0, FOP_SO_FR, 0177000, "movif"},
0, FOP_SO_FR, 0176400, "movie", {0, FOP_SO_FR, 0176400, "movie"},
0, FOP_FR_SO, 0175400, "movfi", {0, FOP_FR_SO, 0175400, "movfi"},
0, FOP_FR_SO, 0175000, "movei", {0, FOP_FR_SO, 0175000, "movei"},
0, FOP_FSO_FR, 0177400, "movof", {0, FOP_FSO_FR, 0177400, "movof"},
0, FOP_FR_FSO, 0176000, "movfo", {0, FOP_FR_FSO, 0176000, "movfo"},

File diff suppressed because it is too large Load diff

View file

@ -23,30 +23,30 @@ struct outhead outhead = {
#include "y.tab.h" #include "y.tab.h"
item_t keytab[] = { item_t keytab[] = {
0, EXTERN, 0, ".define", {0, EXTERN, 0, ".define"},
0, EXTERN, 0, ".extern", {0, EXTERN, 0, ".extern"},
0, DOT, 0, ".", {0, DOT, 0, "."},
0, DATA, RELO1, ".data1", {0, DATA, RELO1, ".data1"},
0, DATA, RELO2, ".data2", {0, DATA, RELO2, ".data2"},
0, DATA, RELO4, ".data4", {0, DATA, RELO4, ".data4"},
0, DATAF, 4, ".dataf4", {0, DATAF, 4, ".dataf4"},
0, DATAF, 8, ".dataf8", {0, DATAF, 8, ".dataf8"},
0, ASCII, 0, ".ascii", {0, ASCII, 0, ".ascii"},
0, ASCII, 1, ".asciz", {0, ASCII, 1, ".asciz"},
0, ALIGN, 0, ".align", {0, ALIGN, 0, ".align"},
0, ASSERT, 0, ".assert", {0, ASSERT, 0, ".assert"},
0, SPACE, 0, ".space", {0, SPACE, 0, ".space"},
0, COMMON, 0, ".comm", {0, COMMON, 0, ".comm"},
0, SECTION, 0, ".sect", {0, SECTION, 0, ".sect"},
0, BASE, 0, ".base", {0, BASE, 0, ".base"},
0, SYMB, 0, ".symb", {0, SYMB, 0, ".symb"},
0, SYMD, 0, ".symd", {0, SYMD, 0, ".symd"},
0, LINE, 0, ".line", {0, LINE, 0, ".line"},
0, FILe, 0, ".file", {0, FILe, 0, ".file"},
#ifdef LISTING #ifdef LISTING
0, LIST, 0, ".nolist", {0, LIST, 0, ".nolist"},
0, LIST, 1, ".list", {0, LIST, 1, ".list"},
#endif #endif
#include "mach3.c" #include "mach3.c"
0, 0, 0, 0 {0, 0, 0, 0}
}; };

View file

@ -7,88 +7,88 @@
/* /*
* Signetics 2650 keywords * Signetics 2650 keywords
*/ */
0, REG, R0, "r0", {0, REG, R0, "r0"},
0, REG, R1, "r1", {0, REG, R1, "r1"},
0, REG, R2, "r2", {0, REG, R2, "r2"},
0, REG, R3, "r3", {0, REG, R3, "r3"},
0, CC, 0, "eq", {0, CC, 0, "eq"},
0, CC, 0, "z", {0, CC, 0, "z"},
0, CC, 1, "gt", {0, CC, 1, "gt"},
0, CC, 2, "lt", {0, CC, 2, "lt"},
0, CC, 3, "un", {0, CC, 3, "un"},
0, INDE, 0x6000, "i", {0, INDE, 0x6000, "i"},
0, ZERO, 0x0, "lodz", {0, ZERO, 0x0, "lodz"},
0, ZERO, 0x80, "addz", {0, ZERO, 0x80, "addz"},
0, ZERO, 0xA0, "subz", {0, ZERO, 0xA0, "subz"},
0, ZERO, 0x94, "dar", {0, ZERO, 0x94, "dar"},
0, ZEROX, 0x40, "andz", {0, ZEROX, 0x40, "andz"},
0, ZERO, 0x60, "iorz", {0, ZERO, 0x60, "iorz"},
0, ZERO, 0x20, "eorz", {0, ZERO, 0x20, "eorz"},
0, ZERO, 0xE0, "comz", {0, ZERO, 0xE0, "comz"},
0, ZERO, 0xF0, "wrtd", {0, ZERO, 0xF0, "wrtd"},
0, ZERO, 0x70, "redd", {0, ZERO, 0x70, "redd"},
0, ZERO, 0xB0, "wrtc", {0, ZERO, 0xB0, "wrtc"},
0, ZERO, 0x30, "redc", {0, ZERO, 0x30, "redc"},
0, ZERO, 0x50, "rrr", {0, ZERO, 0x50, "rrr"},
0, ZERO, 0xD0, "rrl", {0, ZERO, 0xD0, "rrl"},
0, ZEROX, 0xC0, "strz", {0, ZEROX, 0xC0, "strz"},
0, IMMED, 0x04, "lodi", {0, IMMED, 0x04, "lodi"},
0, IMMED, 0x84, "addi", {0, IMMED, 0x84, "addi"},
0, IMMED, 0xA4, "subi", {0, IMMED, 0xA4, "subi"},
0, IMMED, 0x44, "andi", {0, IMMED, 0x44, "andi"},
0, IMMED, 0x64, "iori", {0, IMMED, 0x64, "iori"},
0, IMMED, 0x24, "eori", {0, IMMED, 0x24, "eori"},
0, IMMED, 0xE4, "comi", {0, IMMED, 0xE4, "comi"},
0, IMMED, 0xD4, "wrte", {0, IMMED, 0xD4, "wrte"},
0, IMMED, 0x54, "rede", {0, IMMED, 0x54, "rede"},
0, IMMED, 0xF4, "tmi", {0, IMMED, 0xF4, "tmi"},
0, NOOP, 0x1E, "halt", {0, NOOP, 0x1E, "halt"},
0, NOOP, 0xC0, "nop", {0, NOOP, 0xC0, "nop"},
0, NOOP, 0x92, "lpsu", {0, NOOP, 0x92, "lpsu"},
0, NOOP, 0x93, "lpsl", {0, NOOP, 0x93, "lpsl"},
0, NOOP, 0x12, "spsu", {0, NOOP, 0x12, "spsu"},
0, NOOP, 0x13, "spsl", {0, NOOP, 0x13, "spsl"},
0, REL, 0x08, "lodr", {0, REL, 0x08, "lodr"},
0, REL, 0xC8, "strr", {0, REL, 0xC8, "strr"},
0, REL, 0x98, "addr", {0, REL, 0x98, "addr"},
0, REL, 0xA8, "subr", {0, REL, 0xA8, "subr"},
0, REL, 0x48, "andr", {0, REL, 0x48, "andr"},
0, REL, 0x68, "iorr", {0, REL, 0x68, "iorr"},
0, REL, 0x28, "eorr", {0, REL, 0x28, "eorr"},
0, REL, 0xE8, "comr", {0, REL, 0xE8, "comr"},
0, ABSO, 0x0C, "loda", {0, ABSO, 0x0C, "loda"},
0, ABSO, 0xCC, "stra", {0, ABSO, 0xCC, "stra"},
0, ABSO, 0x8C, "adda", {0, ABSO, 0x8C, "adda"},
0, ABSO, 0xAC, "suba", {0, ABSO, 0xAC, "suba"},
0, ABSO, 0x4C, "anda", {0, ABSO, 0x4C, "anda"},
0, ABSO, 0x6C, "iora", {0, ABSO, 0x6C, "iora"},
0, ABSO, 0x2C, "eora", {0, ABSO, 0x2C, "eora"},
0, ABSO, 0xEC, "coma", {0, ABSO, 0xEC, "coma"},
0, PSWM, 0x74, "cpsu", {0, PSWM, 0x74, "cpsu"},
0, PSWM, 0x75, "cpsl", {0, PSWM, 0x75, "cpsl"},
0, PSWM, 0x76, "ppsu", {0, PSWM, 0x76, "ppsu"},
0, PSWM, 0x77, "ppsl", {0, PSWM, 0x77, "ppsl"},
0, PSWM, 0xB4, "tpsu", {0, PSWM, 0xB4, "tpsu"},
0, PSWM, 0xB5, "tpsl", {0, PSWM, 0xB5, "tpsl"},
0, RET, 0x14, "retc", {0, RET, 0x14, "retc"},
0, RET, 0x34, "rete", {0, RET, 0x34, "rete"},
0, BRANCR, 0x18, "bctr", {0, BRANCR, 0x18, "bctr"},
0, BRANCRX, 0x98, "bcfr", {0, BRANCRX, 0x98, "bcfr"},
0, REL, 0x58, "brnr", {0, REL, 0x58, "brnr"},
0, REL, 0xD8, "birr", {0, REL, 0xD8, "birr"},
0, REL, 0xF8, "bdrr", {0, REL, 0xF8, "bdrr"},
0, BRANCR, 0x38, "bstr", {0, BRANCR, 0x38, "bstr"},
0, BRANCRX, 0xB8, "bsfr", {0, BRANCRX, 0xB8, "bsfr"},
0, REL, 0x78, "bsnr", {0, REL, 0x78, "bsnr"},
0, BRANCA, 0x1E, "bcta", {0, BRANCA, 0x1E, "bcta"},
0, BRANCAX, 0x9E, "bcfa", {0, BRANCAX, 0x9E, "bcfa"},
0, BRANRA, 0x5E, "brna", {0, BRANRA, 0x5E, "brna"},
0, BRANRA, 0xDE, "bira", {0, BRANRA, 0xDE, "bira"},
0, BRANRA, 0xFE, "bdra", {0, BRANRA, 0xFE, "bdra"},
0, BRANCA, 0x3E, "bsta", {0, BRANCA, 0x3E, "bsta"},
0, BRANCAX, 0xBE, "bsfa", {0, BRANCAX, 0xBE, "bsfa"},
0, BRANRA, 0x7E, "bsna", {0, BRANRA, 0x7E, "bsna"},
0, ZBRR, 0x9B, "zbrr", {0, ZBRR, 0x9B, "zbrr"},
0, ZBRR, 0xBB, "zbsr", {0, ZBRR, 0xBB, "zbsr"},
0, BXSA, 0x9F, "bxa", {0, BXSA, 0x9F, "bxa"},
0, BXSA, 0xBF, "bsxa", {0, BXSA, 0xBF, "bsxa"},

View file

@ -8,26 +8,26 @@
* VAX-11 keywords * VAX-11 keywords
*/ */
0, REG, 0, "r0", {0, REG, 0, "r0"},
0, REG, 1, "r1", {0, REG, 1, "r1"},
0, REG, 2, "r2", {0, REG, 2, "r2"},
0, REG, 3, "r3", {0, REG, 3, "r3"},
0, REG, 4, "r4", {0, REG, 4, "r4"},
0, REG, 5, "r5", {0, REG, 5, "r5"},
0, REG, 6, "r6", {0, REG, 6, "r6"},
0, REG, 7, "r7", {0, REG, 7, "r7"},
0, REG, 8, "r8", {0, REG, 8, "r8"},
0, REG, 9, "r9", {0, REG, 9, "r9"},
0, REG, 10, "r10", {0, REG, 10, "r10"},
0, REG, 11, "r11", {0, REG, 11, "r11"},
0, REG, 12, "r12", {0, REG, 12, "r12"},
0, REG, 12, "ap", {0, REG, 12, "ap"},
0, REG, 13, "r13", {0, REG, 13, "r13"},
0, REG, 13, "fp", {0, REG, 13, "fp"},
0, REG, 14, "r14", {0, REG, 14, "r14"},
0, REG, 14, "sp", {0, REG, 14, "sp"},
0, REG, 15, "r15", {0, REG, 15, "r15"},
0, REG, 15, "pc", {0, REG, 15, "pc"},
/* For immediate mode, we need the size as specified by the instruction. /* For immediate mode, we need the size as specified by the instruction.
Ordinary operands are therefore encoded as _w, _b, and _l to indicate Ordinary operands are therefore encoded as _w, _b, and _l to indicate
@ -40,377 +40,377 @@
/* integer arithmetic and logical instructions */ /* integer arithmetic and logical instructions */
0, OP2_w_w, 0x58, "adawi", {0, OP2_w_w, 0x58, "adawi"},
0, OP2_b_b, 0x80, "addb2", {0, OP2_b_b, 0x80, "addb2"},
0, OP3_b_b_b, 0x81, "addb3", {0, OP3_b_b_b, 0x81, "addb3"},
0, OP2_w_w, 0xa0, "addw2", {0, OP2_w_w, 0xa0, "addw2"},
0, OP3_w_w_w, 0xa1, "addw3", {0, OP3_w_w_w, 0xa1, "addw3"},
0, OP2_l_l, 0xc0, "addl2", {0, OP2_l_l, 0xc0, "addl2"},
0, OP3_l_l_l, 0xc1, "addl3", {0, OP3_l_l_l, 0xc1, "addl3"},
0, OP2_l_l, 0xd8, "adwc", {0, OP2_l_l, 0xd8, "adwc"},
0, OP3_b_l_l, 0x78, "ashl", {0, OP3_b_l_l, 0x78, "ashl"},
0, OP3_b_u_u, 0x79, "ashq", {0, OP3_b_u_u, 0x79, "ashq"},
0, OP2_b_b, 0x8a, "bicb2", {0, OP2_b_b, 0x8a, "bicb2"},
0, OP3_b_b_b, 0x8b, "bicb3", {0, OP3_b_b_b, 0x8b, "bicb3"},
0, OP2_w_w, 0xaa, "bicw2", {0, OP2_w_w, 0xaa, "bicw2"},
0, OP3_w_w_w, 0xab, "bicw3", {0, OP3_w_w_w, 0xab, "bicw3"},
0, OP2_l_l, 0xca, "bicl2", {0, OP2_l_l, 0xca, "bicl2"},
0, OP3_l_l_l, 0xcb, "bicl3", {0, OP3_l_l_l, 0xcb, "bicl3"},
0, OP2_b_b, 0x88, "bisb2", {0, OP2_b_b, 0x88, "bisb2"},
0, OP3_b_b_b, 0x89, "bisb3", {0, OP3_b_b_b, 0x89, "bisb3"},
0, OP2_w_w, 0xa8, "bisw2", {0, OP2_w_w, 0xa8, "bisw2"},
0, OP3_w_w_w, 0xa9, "bisw3", {0, OP3_w_w_w, 0xa9, "bisw3"},
0, OP2_l_l, 0xc8, "bisl2", {0, OP2_l_l, 0xc8, "bisl2"},
0, OP3_l_l_l, 0xc9, "bisl3", {0, OP3_l_l_l, 0xc9, "bisl3"},
0, OP2_b_b, 0x93, "bitb", {0, OP2_b_b, 0x93, "bitb"},
0, OP2_w_w, 0xb3, "bitw", {0, OP2_w_w, 0xb3, "bitw"},
0, OP2_l_l, 0xd3, "bitl", {0, OP2_l_l, 0xd3, "bitl"},
0, OP1_X, 0x94|(1L<<16), "clrb", {0, OP1_X, 0x94|(1L<<16), "clrb"},
0, OP1_X, 0xb4|(2L<<16), "clrw", {0, OP1_X, 0xb4|(2L<<16), "clrw"},
0, OP1_X, 0xd4|(4L<<16), "clrl", {0, OP1_X, 0xd4|(4L<<16), "clrl"},
0, OP1_u, 0x7c, "clrq", {0, OP1_u, 0x7c, "clrq"},
0, OP1_u, 0x7cfd, "clro", {0, OP1_u, 0x7cfd, "clro"},
0, OP2_b_b, 0x91, "cmpb", {0, OP2_b_b, 0x91, "cmpb"},
0, OP2_w_w, 0xb1, "cmpw", {0, OP2_w_w, 0xb1, "cmpw"},
0, OP2_l_l, 0xd1, "cmpl", {0, OP2_l_l, 0xd1, "cmpl"},
0, OP2_b_w, 0x99, "cvtbw", {0, OP2_b_w, 0x99, "cvtbw"},
0, OP2_b_l, 0x98, "cvtbl", {0, OP2_b_l, 0x98, "cvtbl"},
0, OP2_w_b, 0x33, "cvtwb", {0, OP2_w_b, 0x33, "cvtwb"},
0, OP2_w_l, 0x32, "cvtwl", {0, OP2_w_l, 0x32, "cvtwl"},
0, OP2_l_b, 0xf6, "cvtlb", {0, OP2_l_b, 0xf6, "cvtlb"},
0, OP2_l_w, 0xf7, "cvtlw", {0, OP2_l_w, 0xf7, "cvtlw"},
0, OP1_X, 0x97|(1L<<16), "decb", {0, OP1_X, 0x97|(1L<<16), "decb"},
0, OP1_X, 0xb7|(2L<<16), "decw", {0, OP1_X, 0xb7|(2L<<16), "decw"},
0, OP1_X, 0xd7|(4L<<16), "decl", {0, OP1_X, 0xd7|(4L<<16), "decl"},
0, OP2_b_b, 0x86, "divb2", {0, OP2_b_b, 0x86, "divb2"},
0, OP3_b_b_b, 0x87, "divb3", {0, OP3_b_b_b, 0x87, "divb3"},
0, OP2_w_w, 0xa6, "divw2", {0, OP2_w_w, 0xa6, "divw2"},
0, OP3_w_w_w, 0xa7, "divw3", {0, OP3_w_w_w, 0xa7, "divw3"},
0, OP2_l_l, 0xc6, "divl2", {0, OP2_l_l, 0xc6, "divl2"},
0, OP3_l_l_l, 0xc7, "divl3", {0, OP3_l_l_l, 0xc7, "divl3"},
0, OP4_l_u_l_l, 0x7b, "ediv", {0, OP4_l_u_l_l, 0x7b, "ediv"},
0, OP4_l_l_l_u, 0x7a, "emul", {0, OP4_l_l_l_u, 0x7a, "emul"},
0, OP1_X, 0x96|(1L<<16), "incb", {0, OP1_X, 0x96|(1L<<16), "incb"},
0, OP1_X, 0xb6|(2L<<16), "incw", {0, OP1_X, 0xb6|(2L<<16), "incw"},
0, OP1_X, 0xd6|(4L<<16), "incl", {0, OP1_X, 0xd6|(4L<<16), "incl"},
0, OP2_b_b, 0x92, "mcomb", {0, OP2_b_b, 0x92, "mcomb"},
0, OP2_w_w, 0xb2, "mcomw", {0, OP2_w_w, 0xb2, "mcomw"},
0, OP2_l_l, 0xd2, "mcoml", {0, OP2_l_l, 0xd2, "mcoml"},
0, OP2_b_b, 0x8e, "mnegb", {0, OP2_b_b, 0x8e, "mnegb"},
0, OP2_w_w, 0xae, "mnegw", {0, OP2_w_w, 0xae, "mnegw"},
0, OP2_l_l, 0xce, "mnegl", {0, OP2_l_l, 0xce, "mnegl"},
0, OP2_b_b, 0x90, "movb", {0, OP2_b_b, 0x90, "movb"},
0, OP2_w_w, 0xb0, "movw", {0, OP2_w_w, 0xb0, "movw"},
0, OP2_l_l, 0xd0, "movl", {0, OP2_l_l, 0xd0, "movl"},
0, OP2_u_u, 0x7d, "movq", {0, OP2_u_u, 0x7d, "movq"},
0, OP2_u_u, 0x7dfd, "movo", {0, OP2_u_u, 0x7dfd, "movo"},
0, OP2_b_w, 0x9b, "movzbw", {0, OP2_b_w, 0x9b, "movzbw"},
0, OP2_b_l, 0x9a, "movzbl", {0, OP2_b_l, 0x9a, "movzbl"},
0, OP2_w_l, 0x3c, "movzwl", {0, OP2_w_l, 0x3c, "movzwl"},
0, OP2_b_b, 0x84, "mulb2", {0, OP2_b_b, 0x84, "mulb2"},
0, OP3_b_b_b, 0x85, "mulb3", {0, OP3_b_b_b, 0x85, "mulb3"},
0, OP2_w_w, 0xa4, "mulw2", {0, OP2_w_w, 0xa4, "mulw2"},
0, OP3_w_w_w, 0xa5, "mulw3", {0, OP3_w_w_w, 0xa5, "mulw3"},
0, OP2_l_l, 0xc4, "mull2", {0, OP2_l_l, 0xc4, "mull2"},
0, OP3_l_l_l, 0xc5, "mull3", {0, OP3_l_l_l, 0xc5, "mull3"},
0, OP1_X, 0xdd|(4L<<16), "pushl", {0, OP1_X, 0xdd|(4L<<16), "pushl"},
0, OP3_b_l_l, 0x9c, "rotl", {0, OP3_b_l_l, 0x9c, "rotl"},
0, OP2_l_l, 0xd9, "sbwc", {0, OP2_l_l, 0xd9, "sbwc"},
0, OP2_b_b, 0x82, "subb2", {0, OP2_b_b, 0x82, "subb2"},
0, OP3_b_b_b, 0x83, "subb3", {0, OP3_b_b_b, 0x83, "subb3"},
0, OP2_w_w, 0xa2, "subw2", {0, OP2_w_w, 0xa2, "subw2"},
0, OP3_w_w_w, 0xa3, "subw3", {0, OP3_w_w_w, 0xa3, "subw3"},
0, OP2_l_l, 0xc2, "subl2", {0, OP2_l_l, 0xc2, "subl2"},
0, OP3_l_l_l, 0xc3, "subl3", {0, OP3_l_l_l, 0xc3, "subl3"},
0, OP1_X, 0x95|(1L<<16), "tstb", {0, OP1_X, 0x95|(1L<<16), "tstb"},
0, OP1_X, 0xb5|(2L<<16), "tstw", {0, OP1_X, 0xb5|(2L<<16), "tstw"},
0, OP1_X, 0xd5|(4L<<16), "tstl", {0, OP1_X, 0xd5|(4L<<16), "tstl"},
0, OP2_b_b, 0x8c, "xorb2", {0, OP2_b_b, 0x8c, "xorb2"},
0, OP3_b_b_b, 0x8d, "xorb3", {0, OP3_b_b_b, 0x8d, "xorb3"},
0, OP2_w_w, 0xac, "xorw2", {0, OP2_w_w, 0xac, "xorw2"},
0, OP3_w_w_w, 0xad, "xorw3", {0, OP3_w_w_w, 0xad, "xorw3"},
0, OP2_l_l, 0xcc, "xorl2", {0, OP2_l_l, 0xcc, "xorl2"},
0, OP3_l_l_l, 0xcd, "xorl3", {0, OP3_l_l_l, 0xcd, "xorl3"},
/* Address instructions */ /* Address instructions */
0, OP2_A_l, 0x9e, "movab", {0, OP2_A_l, 0x9e, "movab"},
0, OP2_A_l, 0x3e, "movaw", {0, OP2_A_l, 0x3e, "movaw"},
0, OP2_A_l, 0xde, "moval", {0, OP2_A_l, 0xde, "moval"},
0, OP2_A_l, 0xde, "movaf", {0, OP2_A_l, 0xde, "movaf"},
0, OP2_A_l, 0x7e, "movaq", {0, OP2_A_l, 0x7e, "movaq"},
0, OP2_A_l, 0x7e, "movad", {0, OP2_A_l, 0x7e, "movad"},
0, OP2_A_l, 0x7e, "movag", {0, OP2_A_l, 0x7e, "movag"},
0, OP2_A_l, 0x7efd, "movah", {0, OP2_A_l, 0x7efd, "movah"},
0, OP2_A_l, 0x7efd, "movao", {0, OP2_A_l, 0x7efd, "movao"},
0, OP1_A, 0x9f, "pushab", {0, OP1_A, 0x9f, "pushab"},
0, OP1_A, 0x3f, "pushaw", {0, OP1_A, 0x3f, "pushaw"},
0, OP1_A, 0xdf, "pushal", {0, OP1_A, 0xdf, "pushal"},
0, OP1_A, 0xdf, "pushaf", {0, OP1_A, 0xdf, "pushaf"},
0, OP1_A, 0x7f, "pushaq", {0, OP1_A, 0x7f, "pushaq"},
0, OP1_A, 0x7f, "pushad", {0, OP1_A, 0x7f, "pushad"},
0, OP1_A, 0x7f, "pushag", {0, OP1_A, 0x7f, "pushag"},
0, OP1_A, 0x7ffd, "pushah", {0, OP1_A, 0x7ffd, "pushah"},
0, OP1_A, 0x7ffd, "pushao", {0, OP1_A, 0x7ffd, "pushao"},
/* Variable length bit-field instructions */ /* Variable length bit-field instructions */
0, OP4_l_b_V_l, 0xec, "cmpv", {0, OP4_l_b_V_l, 0xec, "cmpv"},
0, OP4_l_b_V_l, 0xed, "cmpzv", {0, OP4_l_b_V_l, 0xed, "cmpzv"},
0, OP4_l_b_V_l, 0xee, "extv", {0, OP4_l_b_V_l, 0xee, "extv"},
0, OP4_l_b_V_l, 0xef, "extzv", {0, OP4_l_b_V_l, 0xef, "extzv"},
0, OP4_l_b_V_l, 0xeb, "ffc", {0, OP4_l_b_V_l, 0xeb, "ffc"},
0, OP4_l_b_V_l, 0xea, "ffs", {0, OP4_l_b_V_l, 0xea, "ffs"},
0, OP4_l_l_b_V, 0xf0, "insv", {0, OP4_l_l_b_V, 0xf0, "insv"},
/* Control instructions */ /* Control instructions */
0, OP4_b_b_b_Bw, 0x9d, "acbb", {0, OP4_b_b_b_Bw, 0x9d, "acbb"},
0, OP4_w_w_w_Bw, 0x3d, "acbw", {0, OP4_w_w_w_Bw, 0x3d, "acbw"},
0, OP4_l_l_l_Bw, 0xf1, "acbl", {0, OP4_l_l_l_Bw, 0xf1, "acbl"},
0, OP4_u_u_u_Bw, 0x4f, "acbf", {0, OP4_u_u_u_Bw, 0x4f, "acbf"},
0, OP4_u_u_u_Bw, 0x6f, "acbd", {0, OP4_u_u_u_Bw, 0x6f, "acbd"},
0, OP4_u_u_u_Bw, 0x4ffd, "acbg", {0, OP4_u_u_u_Bw, 0x4ffd, "acbg"},
0, OP4_u_u_u_Bw, 0x6ffd, "acbh", {0, OP4_u_u_u_Bw, 0x6ffd, "acbh"},
0, OP3_l_l_Bb, 0xf3, "aobleq", {0, OP3_l_l_Bb, 0xf3, "aobleq"},
0, OP3_l_l_Bb, 0xf2, "aoblss", {0, OP3_l_l_Bb, 0xf2, "aoblss"},
0, OP1_BX, 0x14|(1L<<16), "bgtr", {0, OP1_BX, 0x14|(1L<<16), "bgtr"},
0, OP1_BX, 0x15|(1L<<16), "bleq", {0, OP1_BX, 0x15|(1L<<16), "bleq"},
0, OP1_BX, 0x12|(1L<<16), "bneq", {0, OP1_BX, 0x12|(1L<<16), "bneq"},
0, OP1_BX, 0x12|(1L<<16), "bnequ", {0, OP1_BX, 0x12|(1L<<16), "bnequ"},
0, OP1_BX, 0x13|(1L<<16), "beql", {0, OP1_BX, 0x13|(1L<<16), "beql"},
0, OP1_BX, 0x13|(1L<<16), "beqlu", {0, OP1_BX, 0x13|(1L<<16), "beqlu"},
0, OP1_BX, 0x18|(1L<<16), "bgeq", {0, OP1_BX, 0x18|(1L<<16), "bgeq"},
0, OP1_BX, 0x19|(1L<<16), "blss", {0, OP1_BX, 0x19|(1L<<16), "blss"},
0, OP1_BX, 0x1a|(1L<<16), "bgtru", {0, OP1_BX, 0x1a|(1L<<16), "bgtru"},
0, OP1_BX, 0x1b|(1L<<16), "blequ", {0, OP1_BX, 0x1b|(1L<<16), "blequ"},
0, OP1_BX, 0x1c|(1L<<16), "bvc", {0, OP1_BX, 0x1c|(1L<<16), "bvc"},
0, OP1_BX, 0x1d|(1L<<16), "bvs", {0, OP1_BX, 0x1d|(1L<<16), "bvs"},
0, OP1_BX, 0x1e|(1L<<16), "bgequ", {0, OP1_BX, 0x1e|(1L<<16), "bgequ"},
0, OP1_BX, 0x1e|(1L<<16), "bcc", {0, OP1_BX, 0x1e|(1L<<16), "bcc"},
0, OP1_BX, 0x1f|(1L<<16), "blssu", {0, OP1_BX, 0x1f|(1L<<16), "blssu"},
0, OP1_BX, 0x1f|(1L<<16), "bcs", {0, OP1_BX, 0x1f|(1L<<16), "bcs"},
0, OP3_l_V_Bb, 0xe0, "bbs", {0, OP3_l_V_Bb, 0xe0, "bbs"},
0, OP3_l_V_Bb, 0xe1, "bbc", {0, OP3_l_V_Bb, 0xe1, "bbc"},
0, OP3_l_V_Bb, 0xe2, "bbss", {0, OP3_l_V_Bb, 0xe2, "bbss"},
0, OP3_l_V_Bb, 0xe3, "bbcs", {0, OP3_l_V_Bb, 0xe3, "bbcs"},
0, OP3_l_V_Bb, 0xe4, "bbsc", {0, OP3_l_V_Bb, 0xe4, "bbsc"},
0, OP3_l_V_Bb, 0xe5, "bbcc", {0, OP3_l_V_Bb, 0xe5, "bbcc"},
0, OP3_l_V_Bb, 0xe6, "bbssi", {0, OP3_l_V_Bb, 0xe6, "bbssi"},
0, OP3_l_V_Bb, 0xe7, "bbcci", {0, OP3_l_V_Bb, 0xe7, "bbcci"},
0, OP2_l_Bb, 0xe8, "blbs", {0, OP2_l_Bb, 0xe8, "blbs"},
0, OP2_l_Bb, 0xe9, "blbc", {0, OP2_l_Bb, 0xe9, "blbc"},
0, OP1_Be, 0x14, "jgtr", {0, OP1_Be, 0x14, "jgtr"},
0, OP1_Be, 0x15, "jleq", {0, OP1_Be, 0x15, "jleq"},
0, OP1_Be, 0x12, "jneq", {0, OP1_Be, 0x12, "jneq"},
0, OP1_Be, 0x12, "jnequ", {0, OP1_Be, 0x12, "jnequ"},
0, OP1_Be, 0x13, "jeql", {0, OP1_Be, 0x13, "jeql"},
0, OP1_Be, 0x13, "jeqlu", {0, OP1_Be, 0x13, "jeqlu"},
0, OP1_Be, 0x18, "jgeq", {0, OP1_Be, 0x18, "jgeq"},
0, OP1_Be, 0x19, "jlss", {0, OP1_Be, 0x19, "jlss"},
0, OP1_Be, 0x1a, "jgtru", {0, OP1_Be, 0x1a, "jgtru"},
0, OP1_Be, 0x1b, "jlequ", {0, OP1_Be, 0x1b, "jlequ"},
0, OP1_Be, 0x1c, "jvc", {0, OP1_Be, 0x1c, "jvc"},
0, OP1_Be, 0x1d, "jvs", {0, OP1_Be, 0x1d, "jvs"},
0, OP1_Be, 0x1e, "jgequ", {0, OP1_Be, 0x1e, "jgequ"},
0, OP1_Be, 0x1e, "jcc", {0, OP1_Be, 0x1e, "jcc"},
0, OP1_Be, 0x1f, "jlssu", {0, OP1_Be, 0x1f, "jlssu"},
0, OP1_Be, 0x1f, "jcs", {0, OP1_Be, 0x1f, "jcs"},
0, OP2_l_Be, 0xe8, "jlbs", {0, OP2_l_Be, 0xe8, "jlbs"},
0, OP2_l_Be, 0xe9, "jlbc", {0, OP2_l_Be, 0xe9, "jlbc"},
0, OP3_l_V_Be, 0xe0, "jbs", {0, OP3_l_V_Be, 0xe0, "jbs"},
0, OP3_l_V_Be, 0xe1, "jbc", {0, OP3_l_V_Be, 0xe1, "jbc"},
0, OP3_l_V_Be, 0xe2, "jbss", {0, OP3_l_V_Be, 0xe2, "jbss"},
0, OP3_l_V_Be, 0xe3, "jbcs", {0, OP3_l_V_Be, 0xe3, "jbcs"},
0, OP3_l_V_Be, 0xe4, "jbsc", {0, OP3_l_V_Be, 0xe4, "jbsc"},
0, OP3_l_V_Be, 0xe5, "jbcc", {0, OP3_l_V_Be, 0xe5, "jbcc"},
0, OP3_l_V_Be, 0xe6, "jbssi", {0, OP3_l_V_Be, 0xe6, "jbssi"},
0, OP3_l_V_Be, 0xe7, "jbcci", {0, OP3_l_V_Be, 0xe7, "jbcci"},
0, OP1_Bx, 0x11, "br", {0, OP1_Bx, 0x11, "br"},
0, OP1_BX, 0x11|(1L<<16), "brb", {0, OP1_BX, 0x11|(1L<<16), "brb"},
0, OP1_BX, 0x31|(2L<<16), "brw", {0, OP1_BX, 0x31|(2L<<16), "brw"},
0, OP1_Be, 0x11, "jbr", {0, OP1_Be, 0x11, "jbr"},
0, OP1_Bx, 0x10, "bsb", {0, OP1_Bx, 0x10, "bsb"},
0, OP1_BX, 0x10|(1L<<16), "bsbb", {0, OP1_BX, 0x10|(1L<<16), "bsbb"},
0, OP1_BX, 0x30|(2L<<16), "bsbw", {0, OP1_BX, 0x30|(2L<<16), "bsbw"},
0, CASE_X_X_X, 0x8f|(1L<<16), "caseb", {0, CASE_X_X_X, 0x8f|(1L<<16), "caseb"},
0, CASE_X_X_X, 0xaf|(2L<<16), "casew", {0, CASE_X_X_X, 0xaf|(2L<<16), "casew"},
0, CASE_X_X_X, 0xcf|(4L<<16), "casel", {0, CASE_X_X_X, 0xcf|(4L<<16), "casel"},
0, OP1_A, 0x17, "jmp", {0, OP1_A, 0x17, "jmp"},
0, OP1_A, 0x16, "jsb", {0, OP1_A, 0x16, "jsb"},
0, OP0, 0x05, "rsb", {0, OP0, 0x05, "rsb"},
0, OP2_l_Bb, 0xf4, "sobgeq", {0, OP2_l_Bb, 0xf4, "sobgeq"},
0, OP2_l_Bb, 0xf5, "sobgtr", {0, OP2_l_Bb, 0xf5, "sobgtr"},
/* Procedure call instructions */ /* Procedure call instructions */
0, OP2_A_A, 0xfa, "callg", {0, OP2_A_A, 0xfa, "callg"},
0, OP2_l_A, 0xfb, "calls", {0, OP2_l_A, 0xfb, "calls"},
0, OP0, 0x04, "ret", {0, OP0, 0x04, "ret"},
/* Miscellaneous instructions */ /* Miscellaneous instructions */
0, OP1_X, 0xb9|(2L<<16), "bicpsw", {0, OP1_X, 0xb9|(2L<<16), "bicpsw"},
0, OP1_X, 0xb8|(2L<<16), "bispsw", {0, OP1_X, 0xb8|(2L<<16), "bispsw"},
0, OP0, 0x03, "bpt", {0, OP0, 0x03, "bpt"},
0, OP0, 0x00, "halt", {0, OP0, 0x00, "halt"},
0, OP6_l_l_l_l_l_l,0x0a, "index", {0, OP6_l_l_l_l_l_l,0x0a, "index"},
0, OP1_X, 0xdc|(4L<<16), "movpsl", {0, OP1_X, 0xdc|(4L<<16), "movpsl"},
0, OP0, 0x01, "nop", {0, OP0, 0x01, "nop"},
0, OP1_X, 0xba|(2L<<16), "popr", {0, OP1_X, 0xba|(2L<<16), "popr"},
0, OP1_X, 0xbb|(2L<<16), "pushr", {0, OP1_X, 0xbb|(2L<<16), "pushr"},
0, OP0, 0xfc, "xfc", {0, OP0, 0xfc, "xfc"},
/* Queue instructions */ /* Queue instructions */
0, OP2_A_A, 0x5c, "insqhi", {0, OP2_A_A, 0x5c, "insqhi"},
0, OP2_A_A, 0x5d, "insqti", {0, OP2_A_A, 0x5d, "insqti"},
0, OP2_A_A, 0x0e, "insque", {0, OP2_A_A, 0x0e, "insque"},
0, OP2_A_l, 0x5e, "remqhi", {0, OP2_A_l, 0x5e, "remqhi"},
0, OP2_A_l, 0x5f, "remqti", {0, OP2_A_l, 0x5f, "remqti"},
0, OP2_A_l, 0x0f, "remque", {0, OP2_A_l, 0x0f, "remque"},
/* Floating point instructions */ /* Floating point instructions */
0, OP2_u_u, 0x40, "addf2", {0, OP2_u_u, 0x40, "addf2"},
0, OP3_u_u_u, 0x41, "addf3", {0, OP3_u_u_u, 0x41, "addf3"},
0, OP2_u_u, 0x60, "addd2", {0, OP2_u_u, 0x60, "addd2"},
0, OP3_u_u_u, 0x61, "addd3", {0, OP3_u_u_u, 0x61, "addd3"},
0, OP2_u_u, 0x40fd, "addg2", {0, OP2_u_u, 0x40fd, "addg2"},
0, OP3_u_u_u, 0x41fd, "addg3", {0, OP3_u_u_u, 0x41fd, "addg3"},
0, OP2_u_u, 0x60fd, "addh2", {0, OP2_u_u, 0x60fd, "addh2"},
0, OP3_u_u_u, 0x61fd, "addh3", {0, OP3_u_u_u, 0x61fd, "addh3"},
0, OP1_u, 0xd4, "clrf", {0, OP1_u, 0xd4, "clrf"},
0, OP1_u, 0x7c, "clrd", {0, OP1_u, 0x7c, "clrd"},
0, OP1_u, 0x7c, "clrg", {0, OP1_u, 0x7c, "clrg"},
0, OP1_u, 0x7cfd, "clrh", {0, OP1_u, 0x7cfd, "clrh"},
0, OP2_u_u, 0x51, "cmpf", {0, OP2_u_u, 0x51, "cmpf"},
0, OP2_u_u, 0x71, "cmpd", {0, OP2_u_u, 0x71, "cmpd"},
0, OP2_u_u, 0x51fd, "cmpg", {0, OP2_u_u, 0x51fd, "cmpg"},
0, OP2_u_u, 0x71fd, "cmph", {0, OP2_u_u, 0x71fd, "cmph"},
0, OP2_b_u, 0x4c, "cvtbf", {0, OP2_b_u, 0x4c, "cvtbf"},
0, OP2_b_u, 0x6c, "cvtbd", {0, OP2_b_u, 0x6c, "cvtbd"},
0, OP2_b_u, 0x4cfd, "cvtbg", {0, OP2_b_u, 0x4cfd, "cvtbg"},
0, OP2_b_u, 0x6cfd, "cvtbh", {0, OP2_b_u, 0x6cfd, "cvtbh"},
0, OP2_w_u, 0x4d, "cvtwf", {0, OP2_w_u, 0x4d, "cvtwf"},
0, OP2_w_u, 0x6d, "cvtwd", {0, OP2_w_u, 0x6d, "cvtwd"},
0, OP2_w_u, 0x4dfd, "cvtwg", {0, OP2_w_u, 0x4dfd, "cvtwg"},
0, OP2_w_u, 0x6dfd, "cvtwh", {0, OP2_w_u, 0x6dfd, "cvtwh"},
0, OP2_l_u, 0x4e, "cvtlf", {0, OP2_l_u, 0x4e, "cvtlf"},
0, OP2_l_u, 0x6e, "cvtld", {0, OP2_l_u, 0x6e, "cvtld"},
0, OP2_l_u, 0x4efd, "cvtlg", {0, OP2_l_u, 0x4efd, "cvtlg"},
0, OP2_l_u, 0x6efd, "cvtlh", {0, OP2_l_u, 0x6efd, "cvtlh"},
0, OP2_u_b, 0x48, "cvtfb", {0, OP2_u_b, 0x48, "cvtfb"},
0, OP2_u_b, 0x68, "cvtdb", {0, OP2_u_b, 0x68, "cvtdb"},
0, OP2_u_b, 0x48fd, "cvtgb", {0, OP2_u_b, 0x48fd, "cvtgb"},
0, OP2_u_b, 0x68fd, "cvthb", {0, OP2_u_b, 0x68fd, "cvthb"},
0, OP2_u_w, 0x49, "cvtfw", {0, OP2_u_w, 0x49, "cvtfw"},
0, OP2_u_w, 0x69, "cvtdw", {0, OP2_u_w, 0x69, "cvtdw"},
0, OP2_u_w, 0x49fd, "cvtgw", {0, OP2_u_w, 0x49fd, "cvtgw"},
0, OP2_u_w, 0x69fd, "cvthw", {0, OP2_u_w, 0x69fd, "cvthw"},
0, OP2_u_l, 0x4a, "cvtfl", {0, OP2_u_l, 0x4a, "cvtfl"},
0, OP2_u_l, 0x6a, "cvtdl", {0, OP2_u_l, 0x6a, "cvtdl"},
0, OP2_u_l, 0x4afd, "cvtgl", {0, OP2_u_l, 0x4afd, "cvtgl"},
0, OP2_u_l, 0x6afd, "cvthl", {0, OP2_u_l, 0x6afd, "cvthl"},
0, OP2_u_l, 0x4b, "cvtrfl", {0, OP2_u_l, 0x4b, "cvtrfl"},
0, OP2_u_l, 0x6b, "cvtrdl", {0, OP2_u_l, 0x6b, "cvtrdl"},
0, OP2_u_l, 0x4bfd, "cvtrgl", {0, OP2_u_l, 0x4bfd, "cvtrgl"},
0, OP2_u_l, 0x6bfd, "cvtrhl", {0, OP2_u_l, 0x6bfd, "cvtrhl"},
0, OP2_u_u, 0x56, "cvtfd", {0, OP2_u_u, 0x56, "cvtfd"},
0, OP2_u_u, 0x99fd, "cvtfg", {0, OP2_u_u, 0x99fd, "cvtfg"},
0, OP2_u_u, 0x98fd, "cvtfh", {0, OP2_u_u, 0x98fd, "cvtfh"},
0, OP2_u_u, 0x76, "cvtdf", {0, OP2_u_u, 0x76, "cvtdf"},
0, OP2_u_u, 0x32fd, "cvtdh", {0, OP2_u_u, 0x32fd, "cvtdh"},
0, OP2_u_u, 0x33fd, "cvtgf", {0, OP2_u_u, 0x33fd, "cvtgf"},
0, OP2_u_u, 0x56fd, "cvtgh", {0, OP2_u_u, 0x56fd, "cvtgh"},
0, OP2_u_u, 0xf6fd, "cvthf", {0, OP2_u_u, 0xf6fd, "cvthf"},
0, OP2_u_u, 0xf7fd, "cvthd", {0, OP2_u_u, 0xf7fd, "cvthd"},
0, OP2_u_u, 0x76fd, "cvthg", {0, OP2_u_u, 0x76fd, "cvthg"},
0, OP2_u_u, 0x46, "divf2", {0, OP2_u_u, 0x46, "divf2"},
0, OP3_u_u_u, 0x47, "divf3", {0, OP3_u_u_u, 0x47, "divf3"},
0, OP2_u_u, 0x66, "divd2", {0, OP2_u_u, 0x66, "divd2"},
0, OP3_u_u_u, 0x67, "divd3", {0, OP3_u_u_u, 0x67, "divd3"},
0, OP2_u_u, 0x46fd, "divg2", {0, OP2_u_u, 0x46fd, "divg2"},
0, OP3_u_u_u, 0x47fd, "divg3", {0, OP3_u_u_u, 0x47fd, "divg3"},
0, OP2_u_u, 0x66fd, "divh2", {0, OP2_u_u, 0x66fd, "divh2"},
0, OP3_u_u_u, 0x67fd, "divh3", {0, OP3_u_u_u, 0x67fd, "divh3"},
0, OP5_u_b_u_l_u, 0x54, "emodf", {0, OP5_u_b_u_l_u, 0x54, "emodf"},
0, OP5_u_b_u_l_u, 0x74, "emodd", {0, OP5_u_b_u_l_u, 0x74, "emodd"},
0, OP5_u_w_u_l_u, 0x54fd, "emodg", {0, OP5_u_w_u_l_u, 0x54fd, "emodg"},
0, OP5_u_w_u_l_u, 0x74fd, "emodh", {0, OP5_u_w_u_l_u, 0x74fd, "emodh"},
0, OP2_u_u, 0x52, "mnegf", {0, OP2_u_u, 0x52, "mnegf"},
0, OP2_u_u, 0x72, "mnegd", {0, OP2_u_u, 0x72, "mnegd"},
0, OP2_u_u, 0x52fd, "mnegg", {0, OP2_u_u, 0x52fd, "mnegg"},
0, OP2_u_u, 0x72fd, "mnegh", {0, OP2_u_u, 0x72fd, "mnegh"},
0, OP2_u_u, 0x50, "movf", {0, OP2_u_u, 0x50, "movf"},
0, OP2_u_u, 0x70, "movd", {0, OP2_u_u, 0x70, "movd"},
0, OP2_u_u, 0x50fd, "movg", {0, OP2_u_u, 0x50fd, "movg"},
0, OP2_u_u, 0x70fd, "movh", {0, OP2_u_u, 0x70fd, "movh"},
0, OP2_u_u, 0x44, "mulf2", {0, OP2_u_u, 0x44, "mulf2"},
0, OP3_u_u_u, 0x45, "mulf3", {0, OP3_u_u_u, 0x45, "mulf3"},
0, OP2_u_u, 0x64, "muld2", {0, OP2_u_u, 0x64, "muld2"},
0, OP3_u_u_u, 0x65, "muld3", {0, OP3_u_u_u, 0x65, "muld3"},
0, OP2_u_u, 0x44fd, "mulg2", {0, OP2_u_u, 0x44fd, "mulg2"},
0, OP3_u_u_u, 0x45fd, "mulg3", {0, OP3_u_u_u, 0x45fd, "mulg3"},
0, OP2_u_u, 0x64fd, "mulh2", {0, OP2_u_u, 0x64fd, "mulh2"},
0, OP3_u_u_u, 0x65fd, "mulh3", {0, OP3_u_u_u, 0x65fd, "mulh3"},
0, OP3_u_w_A, 0x55, "polyf", {0, OP3_u_w_A, 0x55, "polyf"},
0, OP3_u_w_A, 0x75, "polyd", {0, OP3_u_w_A, 0x75, "polyd"},
0, OP3_u_w_A, 0x55fd, "polyg", {0, OP3_u_w_A, 0x55fd, "polyg"},
0, OP3_u_w_A, 0x75fd, "polyh", {0, OP3_u_w_A, 0x75fd, "polyh"},
0, OP2_u_u, 0x42, "subf2", {0, OP2_u_u, 0x42, "subf2"},
0, OP3_u_u_u, 0x43, "subf3", {0, OP3_u_u_u, 0x43, "subf3"},
0, OP2_u_u, 0x62, "subd2", {0, OP2_u_u, 0x62, "subd2"},
0, OP3_u_u_u, 0x63, "subd3", {0, OP3_u_u_u, 0x63, "subd3"},
0, OP2_u_u, 0x42fd, "subg2", {0, OP2_u_u, 0x42fd, "subg2"},
0, OP3_u_u_u, 0x43fd, "subg3", {0, OP3_u_u_u, 0x43fd, "subg3"},
0, OP2_u_u, 0x62fd, "subh2", {0, OP2_u_u, 0x62fd, "subh2"},
0, OP3_u_u_u, 0x63fd, "subh3", {0, OP3_u_u_u, 0x63fd, "subh3"},
0, OP1_u, 0x53, "tstf", {0, OP1_u, 0x53, "tstf"},
0, OP1_u, 0x73, "tstd", {0, OP1_u, 0x73, "tstd"},
0, OP1_u, 0x53fd, "tstg", {0, OP1_u, 0x53fd, "tstg"},
0, OP1_u, 0x73fd, "tsth", {0, OP1_u, 0x73fd, "tsth"},
/* Character string instructions */ /* Character string instructions */
0, OP3_w_A_A, 0x29, "cmpc3", {0, OP3_w_A_A, 0x29, "cmpc3"},
0, OP5_w_A_b_w_A, 0x2d, "cmpc5", {0, OP5_w_A_b_w_A, 0x2d, "cmpc5"},
0, OP3_b_w_A, 0x3a, "locc", {0, OP3_b_w_A, 0x3a, "locc"},
0, OP4_w_A_w_A, 0x39, "matchc", {0, OP4_w_A_w_A, 0x39, "matchc"},
0, OP3_w_A_A, 0x28, "movc3", {0, OP3_w_A_A, 0x28, "movc3"},
0, OP5_w_A_b_w_A, 0x2c, "movc5", {0, OP5_w_A_b_w_A, 0x2c, "movc5"},
0, OP6_w_A_b_A_w_A,0x2e, "movtc", {0, OP6_w_A_b_A_w_A,0x2e, "movtc"},
0, OP6_w_A_b_A_w_A,0x2f, "movtuc", {0, OP6_w_A_b_A_w_A,0x2f, "movtuc"},
0, OP4_w_A_A_b, 0x2a, "scanc", {0, OP4_w_A_A_b, 0x2a, "scanc"},
0, OP3_b_w_A, 0x3b, "skpc", {0, OP3_b_w_A, 0x3b, "skpc"},
0, OP4_w_A_A_b, 0x2b, "spanc", {0, OP4_w_A_A_b, 0x2b, "spanc"},
/* Cyclic redundancy check instructions */ /* Cyclic redundancy check instructions */
0, OP4_A_l_w_A, 0x0b, "crc", {0, OP4_A_l_w_A, 0x0b, "crc"},
/* Decimal string instructions */ /* Decimal string instructions */
0, OP4_w_A_w_A, 0x20, "addp4", {0, OP4_w_A_w_A, 0x20, "addp4"},
0, OP6_w_A_w_A_w_A,0x21, "addp6", {0, OP6_w_A_w_A_w_A,0x21, "addp6"},
0, OP6_b_w_A_b_w_A,0xf8, "ashp", {0, OP6_b_w_A_b_w_A,0xf8, "ashp"},
0, OP3_w_A_A, 0x35, "cmpp3", {0, OP3_w_A_A, 0x35, "cmpp3"},
0, OP4_w_A_w_A, 0x37, "cmpp4", {0, OP4_w_A_w_A, 0x37, "cmpp4"},
0, OP3_l_w_A, 0xf9, "cvtlp", {0, OP3_l_w_A, 0xf9, "cvtlp"},
0, OP3_w_A_l, 0x36, "cvtpl", {0, OP3_w_A_l, 0x36, "cvtpl"},
0, OP4_w_A_w_A, 0x08, "cvtps", {0, OP4_w_A_w_A, 0x08, "cvtps"},
0, OP5_w_A_A_w_A, 0x24, "cvtpt", {0, OP5_w_A_A_w_A, 0x24, "cvtpt"},
0, OP4_w_A_w_A, 0x09, "cvtsp", {0, OP4_w_A_w_A, 0x09, "cvtsp"},
0, OP5_w_A_A_w_A, 0x26, "cvttp", {0, OP5_w_A_A_w_A, 0x26, "cvttp"},
0, OP6_w_A_w_A_w_A,0x27, "divp", {0, OP6_w_A_w_A_w_A,0x27, "divp"},
0, OP3_w_A_A, 0x34, "movp", {0, OP3_w_A_A, 0x34, "movp"},
0, OP6_w_A_w_A_w_A,0x25, "mulp", {0, OP6_w_A_w_A_w_A,0x25, "mulp"},
0, OP4_w_A_w_A, 0x22, "subp4", {0, OP4_w_A_w_A, 0x22, "subp4"},
0, OP6_w_A_w_A_w_A,0x23, "subp6", {0, OP6_w_A_w_A_w_A,0x23, "subp6"},
/* Edit instruction */ /* Edit instruction */
0, OP4_w_A_A_A, 0x38, "editpc", {0, OP4_w_A_A_A, 0x38, "editpc"},
/* Other VAX-11 instructions */ /* Other VAX-11 instructions */
@ -419,19 +419,19 @@
to the VAX-11 Architecture Reference Manual, Revision 6.1, 1982, the to the VAX-11 Architecture Reference Manual, Revision 6.1, 1982, the
access type is b, which means that the operand is a branch displacement. access type is b, which means that the operand is a branch displacement.
*/ */
0, OP1_BX, 0xfeff|(2L<<16),"bugw", {0, OP1_BX, 0xfeff|(2L<<16),"bugw"},
0, OP1_BX, 0xfdff|(4L<<16),"bugl", {0, OP1_BX, 0xfdff|(4L<<16),"bugl"},
0, OP3_b_w_A, 0x0c, "prober", {0, OP3_b_w_A, 0x0c, "prober"},
0, OP3_b_w_A, 0x0d, "probew", {0, OP3_b_w_A, 0x0d, "probew"},
0, OP0, 0x02, "rei", {0, OP0, 0x02, "rei"},
0, OP1_X, 0xbc|(2L<<16), "chmk", {0, OP1_X, 0xbc|(2L<<16), "chmk"},
0, OP1_X, 0xbd|(2L<<16), "chme", {0, OP1_X, 0xbd|(2L<<16), "chme"},
0, OP1_X, 0xbe|(2L<<16), "chms", {0, OP1_X, 0xbe|(2L<<16), "chms"},
0, OP1_X, 0xbf|(2L<<16), "chmu", {0, OP1_X, 0xbf|(2L<<16), "chmu"},
0, OP0, 0x06, "ldpctx", {0, OP0, 0x06, "ldpctx"},
0, OP0, 0x07, "svpctx", {0, OP0, 0x07, "svpctx"},
0, OP2_l_l, 0xda, "mtpr", {0, OP2_l_l, 0xda, "mtpr"},
0, OP2_l_l, 0xdb, "mfpr", {0, OP2_l_l, 0xdb, "mfpr"},

View file

@ -7,147 +7,147 @@
/* Integer registers */ /* Integer registers */
0, GPR, 0, "r0", {0, GPR, 0, "r0"},
0, GPR, 1, "r1", {0, GPR, 1, "r1"},
0, GPR, 2, "r2", {0, GPR, 2, "r2"},
0, GPR, 3, "r3", {0, GPR, 3, "r3"},
0, GPR, 4, "r4", {0, GPR, 4, "r4"},
0, GPR, 5, "r5", {0, GPR, 5, "r5"},
0, GPR, 6, "r6", {0, GPR, 6, "r6"},
0, GPR, 7, "r7", {0, GPR, 7, "r7"},
0, GPR, 8, "r8", {0, GPR, 8, "r8"},
0, GPR, 9, "r9", {0, GPR, 9, "r9"},
0, GPR, 10, "r10", {0, GPR, 10, "r10"},
0, GPR, 11, "r11", {0, GPR, 11, "r11"},
0, GPR, 12, "r12", {0, GPR, 12, "r12"},
0, GPR, 13, "r13", {0, GPR, 13, "r13"},
0, GPR, 14, "r14", {0, GPR, 14, "r14"},
0, GPR, 15, "r15", {0, GPR, 15, "r15"},
0, GPR, 16, "r16", {0, GPR, 16, "r16"},
0, GPR, 17, "r17", {0, GPR, 17, "r17"},
0, GPR, 18, "r18", {0, GPR, 18, "r18"},
0, GPR, 19, "r19", {0, GPR, 19, "r19"},
0, GPR, 20, "r20", {0, GPR, 20, "r20"},
0, GPR, 21, "r21", {0, GPR, 21, "r21"},
0, GPR, 22, "r22", {0, GPR, 22, "r22"},
0, GPR, 23, "r23", {0, GPR, 23, "r23"},
0, GPR, 24, "r24", {0, GPR, 24, "r24"},
0, GPR, 24, "fp", {0, GPR, 24, "fp"},
0, GPR, 25, "r25", {0, GPR, 25, "r25"},
0, GPR, 25, "sp", {0, GPR, 25, "sp"},
0, GPR, 26, "r26", {0, GPR, 26, "r26"},
0, GPR, 26, "lr", {0, GPR, 26, "lr"},
0, GPR, 27, "r27", {0, GPR, 27, "r27"},
0, GPR, 28, "r28", {0, GPR, 28, "r28"},
0, GPR, 29, "r29", {0, GPR, 29, "r29"},
0, GPR, 30, "r30", {0, GPR, 30, "r30"},
0, GPR, 30, "sr", {0, GPR, 30, "sr"},
0, GPR, 31, "r31", {0, GPR, 31, "r31"},
0, GPR, 31, "pc", {0, GPR, 31, "pc"},
/* Condition codes */ /* Condition codes */
0, CC, 0, ".eq", {0, CC, 0, ".eq"},
0, CC, 1, ".ne", {0, CC, 1, ".ne"},
0, CC, 2, ".cs", {0, CC, 2, ".cs"},
0, CC, 2, ".lo", {0, CC, 2, ".lo"},
0, CC, 3, ".cc", {0, CC, 3, ".cc"},
0, CC, 3, ".hs", {0, CC, 3, ".hs"},
0, CC, 4, ".mi", {0, CC, 4, ".mi"},
0, CC, 5, ".pl", {0, CC, 5, ".pl"},
0, CC, 6, ".vs", {0, CC, 6, ".vs"},
0, CC, 7, ".vc", {0, CC, 7, ".vc"},
0, CC, 8, ".hi", {0, CC, 8, ".hi"},
0, CC, 9, ".ls", {0, CC, 9, ".ls"},
0, CC, 10, ".ge", {0, CC, 10, ".ge"},
0, CC, 11, ".lt", {0, CC, 11, ".lt"},
0, CC, 12, ".gt", {0, CC, 12, ".gt"},
0, CC, 13, ".le", {0, CC, 13, ".le"},
0, CC, 15, ".f", {0, CC, 15, ".f"},
/* Special instructions */ /* Special instructions */
0, OP, B16(00000000,00000001), "nop", {0, OP, B16(00000000,00000001), "nop"},
0, OP, B16(00000000,00001010), "rti", {0, OP, B16(00000000,00001010), "rti"},
0, OP_BRANCH, 0, "b", {0, OP_BRANCH, 0, "b"},
0, OP_BRANCHLINK, 0, "bl", {0, OP_BRANCHLINK, 0, "bl"},
0, OP_ADDCMPB, 0, "addcmpb", {0, OP_ADDCMPB, 0, "addcmpb"},
0, OP_ONELREG, B16(00000000,10000000), "tbb", {0, OP_ONELREG, B16(00000000,10000000), "tbb"},
0, OP_ONELREG, B16(00000000,10100000), "tbs", {0, OP_ONELREG, B16(00000000,10100000), "tbs"},
0, OP_ALU, B8(00000000), "mov", {0, OP_ALU, B8(00000000), "mov"},
0, OP_ALU, B8(00000001), "cmn", {0, OP_ALU, B8(00000001), "cmn"},
0, OP_ALU, B8(00000010), "add", {0, OP_ALU, B8(00000010), "add"},
0, OP_ALU, B8(00000011), "bic", {0, OP_ALU, B8(00000011), "bic"},
0, OP_ALU, B8(00000100), "mul", {0, OP_ALU, B8(00000100), "mul"},
0, OP_ALU, B8(00000101), "eor", {0, OP_ALU, B8(00000101), "eor"},
0, OP_ALU, B8(00000110), "sub", {0, OP_ALU, B8(00000110), "sub"},
0, OP_ALU, B8(00000111), "and", {0, OP_ALU, B8(00000111), "and"},
0, OP_ALU, B8(00001000), "mvn", {0, OP_ALU, B8(00001000), "mvn"},
0, OP_ALU, B8(00001001), "ror", {0, OP_ALU, B8(00001001), "ror"},
0, OP_ALU, B8(00001010), "cmp", {0, OP_ALU, B8(00001010), "cmp"},
0, OP_ALU, B8(00001011), "rsb", {0, OP_ALU, B8(00001011), "rsb"},
0, OP_ALU, B8(00001100), "btst", {0, OP_ALU, B8(00001100), "btst"},
0, OP_ALU, B8(00001101), "or", {0, OP_ALU, B8(00001101), "or"},
0, OP_ALU, B8(00001110), "extu", {0, OP_ALU, B8(00001110), "extu"},
0, OP_ALU, B8(00001111), "max", {0, OP_ALU, B8(00001111), "max"},
0, OP_ALU, B8(00010000), "bset", {0, OP_ALU, B8(00010000), "bset"},
0, OP_ALU, B8(00010001), "min", {0, OP_ALU, B8(00010001), "min"},
0, OP_ALU, B8(00010010), "bclr", {0, OP_ALU, B8(00010010), "bclr"},
0, OP_ALU, B8(00010011), "adds2", {0, OP_ALU, B8(00010011), "adds2"},
0, OP_ALU, B8(00010100), "bchg", {0, OP_ALU, B8(00010100), "bchg"},
0, OP_ALU, B8(00010101), "adds4", {0, OP_ALU, B8(00010101), "adds4"},
0, OP_ALU, B8(00010110), "adds8", {0, OP_ALU, B8(00010110), "adds8"},
0, OP_ALU, B8(00010111), "adds16", {0, OP_ALU, B8(00010111), "adds16"},
0, OP_ALU, B8(00011000), "exts", {0, OP_ALU, B8(00011000), "exts"},
0, OP_ALU, B8(00011001), "neg", {0, OP_ALU, B8(00011001), "neg"},
0, OP_ALU, B8(00011010), "lsr", {0, OP_ALU, B8(00011010), "lsr"},
0, OP_ALU, B8(00011011), "log2", {0, OP_ALU, B8(00011011), "log2"},
0, OP_ALU, B8(00011100), "lsl", {0, OP_ALU, B8(00011100), "lsl"},
0, OP_ALU, B8(00011101), "brev", {0, OP_ALU, B8(00011101), "brev"},
0, OP_ALU, B8(00011110), "asr", {0, OP_ALU, B8(00011110), "asr"},
0, OP_ALU, B8(00011111), "abs", {0, OP_ALU, B8(00011111), "abs"},
0, OP_MISC, B16(11001000,00000000), "fadd", {0, OP_MISC, B16(11001000,00000000), "fadd"},
0, OP_MISC, B16(11001000,00100000), "fsub", {0, OP_MISC, B16(11001000,00100000), "fsub"},
0, OP_MISC, B16(11001000,01000000), "fmul", {0, OP_MISC, B16(11001000,01000000), "fmul"},
0, OP_MISC, B16(11001000,01100000), "fdiv", {0, OP_MISC, B16(11001000,01100000), "fdiv"},
0, OP_MISC, B16(11001000,10000000), "fcmp", {0, OP_MISC, B16(11001000,10000000), "fcmp"},
0, OP_MISC, B16(11001000,10100000), "fabs", {0, OP_MISC, B16(11001000,10100000), "fabs"},
0, OP_MISC, B16(11001000,11000000), "frsb", {0, OP_MISC, B16(11001000,11000000), "frsb"},
0, OP_MISC, B16(11001000,11100000), "fmax", {0, OP_MISC, B16(11001000,11100000), "fmax"},
0, OP_MISC, B16(11001001,00000000), "frcp", {0, OP_MISC, B16(11001001,00000000), "frcp"},
0, OP_MISC, B16(11001001,00100000), "frsqrt", {0, OP_MISC, B16(11001001,00100000), "frsqrt"},
0, OP_MISC, B16(11001001,01000000), "fnmul", {0, OP_MISC, B16(11001001,01000000), "fnmul"},
0, OP_MISC, B16(11001001,01100000), "fmin", {0, OP_MISC, B16(11001001,01100000), "fmin"},
0, OP_MISC, B16(11001001,10000000), "fld1", {0, OP_MISC, B16(11001001,10000000), "fld1"},
0, OP_MISC, B16(11001001,10100000), "fld0", {0, OP_MISC, B16(11001001,10100000), "fld0"},
0, OP_MISC, B16(11001001,11000000), "log2", {0, OP_MISC, B16(11001001,11000000), "log2"},
0, OP_MISC, B16(11001001,11100000), "exp2", {0, OP_MISC, B16(11001001,11100000), "exp2"},
0, OP_MISC, B16(11000101,11100000), "adds256", {0, OP_MISC, B16(11000101,11100000), "adds256"},
0, OP_FLTCNV, B16(11001010,00000000), "ftrunc", {0, OP_FLTCNV, B16(11001010,00000000), "ftrunc"},
0, OP_FLTCNV, B16(11001010,00100000), "floor", {0, OP_FLTCNV, B16(11001010,00100000), "floor"},
0, OP_FLTCNV, B16(11001010,01000000), "flts", {0, OP_FLTCNV, B16(11001010,01000000), "flts"},
0, OP_FLTCNV, B16(11001010,01100000), "fltu", {0, OP_FLTCNV, B16(11001010,01100000), "fltu"},
0, OP_MISCL, B16(11000100,10000000), "divs", {0, OP_MISCL, B16(11000100,10000000), "divs"},
0, OP_MISCL, B16(11000100,11100000), "divu", {0, OP_MISCL, B16(11000100,11100000), "divu"},
0, OP_STACK, B16(00000010,10000000), "push", {0, OP_STACK, B16(00000010,10000000), "push"},
0, OP_STACK, B16(00000010,00000000), "pop", {0, OP_STACK, B16(00000010,00000000), "pop"},
0, OP_MEM, B8(00000000), "ld", {0, OP_MEM, B8(00000000), "ld"},
0, OP_MEM, B8(00000001), "st", {0, OP_MEM, B8(00000001), "st"},
0, OP_MEM, B8(00000010), "ldh", {0, OP_MEM, B8(00000010), "ldh"},
0, OP_MEM, B8(00000011), "sth", {0, OP_MEM, B8(00000011), "sth"},
0, OP_MEM, B8(00000100), "ldb", {0, OP_MEM, B8(00000100), "ldb"},
0, OP_MEM, B8(00000101), "stb", {0, OP_MEM, B8(00000101), "stb"},
0, OP_MEM, B8(00000110), "ldhs", {0, OP_MEM, B8(00000110), "ldhs"},
0, OP_MEM, B8(00000111), "sths", {0, OP_MEM, B8(00000111), "sths"},
0, OP_LEA, 0, "lea", {0, OP_LEA, 0, "lea"},

View file

@ -8,95 +8,95 @@
* Zilog Z80 keywords * Zilog Z80 keywords
*/ */
0, R8, B, "b", {0, R8, B, "b"},
0, R8, C, "c", {0, R8, C, "c"},
0, R8, D, "d", {0, R8, D, "d"},
0, R8, E, "e", {0, R8, E, "e"},
0, R8, H, "h", {0, R8, H, "h"},
0, R8, L, "l", {0, R8, L, "l"},
0, R8, F, "f", {0, R8, F, "f"},
0, R8, A, "a", {0, R8, A, "a"},
0, R8, I, "i", {0, R8, I, "i"},
0, R8, R, "r", {0, R8, R, "r"},
0, R16, BC, "bc", {0, R16, BC, "bc"},
0, R16, DE, "de", {0, R16, DE, "de"},
0, R16, HL, "hl", {0, R16, HL, "hl"},
0, R16, SP, "sp", {0, R16, SP, "sp"},
0, R16, AF, "af", {0, R16, AF, "af"},
0, R16, AF2, "af2", {0, R16, AF2, "af2"},
0, R16, IX, "ix", {0, R16, IX, "ix"},
0, R16, IY, "iy", {0, R16, IY, "iy"},
0, CC, 0, "nz", {0, CC, 0, "nz"},
0, CC, 1, "z", {0, CC, 1, "z"},
0, CC, 2, "nc", {0, CC, 2, "nc"},
0, CC, 4, "po", {0, CC, 4, "po"},
0, CC, 5, "pe", {0, CC, 5, "pe"},
0, CC, 6, "p", {0, CC, 6, "p"},
0, CC, 7, "m", {0, CC, 7, "m"},
0, LDOP, 0, "ld", {0, LDOP, 0, "ld"},
0, PSHPOP, 0305, "push", {0, PSHPOP, 0305, "push"},
0, PSHPOP, 0301, "pop", {0, PSHPOP, 0301, "pop"},
0, EXOP, 0343, "ex", {0, EXOP, 0343, "ex"},
0, NOOPOP, 0331, "exx", {0, NOOPOP, 0331, "exx"},
0, E_ED, 0240, "ldi", {0, E_ED, 0240, "ldi"},
0, E_ED, 0260, "ldir", {0, E_ED, 0260, "ldir"},
0, E_ED, 0250, "ldd", {0, E_ED, 0250, "ldd"},
0, E_ED, 0270, "lddr", {0, E_ED, 0270, "lddr"},
0, E_ED, 0241, "cpi", {0, E_ED, 0241, "cpi"},
0, E_ED, 0261, "cpir", {0, E_ED, 0261, "cpir"},
0, E_ED, 0251, "cpd", {0, E_ED, 0251, "cpd"},
0, E_ED, 0271, "cpdr", {0, E_ED, 0271, "cpdr"},
0, ADDOP, 0200, "add", {0, ADDOP, 0200, "add"},
0, ADCSBC, 0210, "adc", {0, ADCSBC, 0210, "adc"},
0, ADCSBC, 0230, "sbc", {0, ADCSBC, 0230, "sbc"},
0, ARI8, 0220, "sub", {0, ARI8, 0220, "sub"},
0, ARI8, 0240, "and", {0, ARI8, 0240, "and"},
0, ARI8, 0260, "or", {0, ARI8, 0260, "or"},
0, ARI8, 0250, "xor", {0, ARI8, 0250, "xor"},
0, ARI8, 0270, "cp", {0, ARI8, 0270, "cp"},
0, INCDEC, 04, "inc", {0, INCDEC, 04, "inc"},
0, INCDEC, 05, "dec", {0, INCDEC, 05, "dec"},
0, NOOPOP, 047, "daa", {0, NOOPOP, 047, "daa"},
0, NOOPOP, 057, "cpl", {0, NOOPOP, 057, "cpl"},
0, E_ED, 0104, "neg", {0, E_ED, 0104, "neg"},
0, NOOPOP, 077, "ccf", {0, NOOPOP, 077, "ccf"},
0, NOOPOP, 067, "scf", {0, NOOPOP, 067, "scf"},
0, NOOPOP, 0, "nop", {0, NOOPOP, 0, "nop"},
0, NOOPOP, 0166, "halt", {0, NOOPOP, 0166, "halt"},
0, NOOPOP, 0363, "di", {0, NOOPOP, 0363, "di"},
0, NOOPOP, 0373, "ei", {0, NOOPOP, 0373, "ei"},
0, IMOP, 0106, "im", {0, IMOP, 0106, "im"},
0, NOOPOP, 07, "rlca", {0, NOOPOP, 07, "rlca"},
0, NOOPOP, 027, "rla", {0, NOOPOP, 027, "rla"},
0, NOOPOP, 017, "rrca", {0, NOOPOP, 017, "rrca"},
0, NOOPOP, 037, "rra", {0, NOOPOP, 037, "rra"},
0, ROTATE, 0, "rlc", {0, ROTATE, 0, "rlc"},
0, ROTATE, 020, "rl", {0, ROTATE, 020, "rl"},
0, ROTATE, 010, "rrc", {0, ROTATE, 010, "rrc"},
0, ROTATE, 030, "rr", {0, ROTATE, 030, "rr"},
0, ROTATE, 040, "sla", {0, ROTATE, 040, "sla"},
0, ROTATE, 050, "sra", {0, ROTATE, 050, "sra"},
0, ROTATE, 070, "srl", {0, ROTATE, 070, "srl"},
0, E_ED, 0157, "rld", {0, E_ED, 0157, "rld"},
0, E_ED, 0147, "rrd", {0, E_ED, 0147, "rrd"},
0, BITS, 0100, "bit", {0, BITS, 0100, "bit"},
0, BITS, 0200, "res", {0, BITS, 0200, "res"},
0, BITS, 0300, "set", {0, BITS, 0300, "set"},
0, JP, 0303, "jp", {0, JP, 0303, "jp"},
0, JR, 030, "jr", {0, JR, 030, "jr"},
0, DJNZ, 020, "djnz", {0, DJNZ, 020, "djnz"},
0, CALL, 0315, "call", {0, CALL, 0315, "call"},
0, RET, 0311, "ret", {0, RET, 0311, "ret"},
0, E_ED, 0115, "reti", {0, E_ED, 0115, "reti"},
0, E_ED, 0105, "retn", {0, E_ED, 0105, "retn"},
0, RST, 0307, "rst", {0, RST, 0307, "rst"},
0, IN, 0333, "in", {0, IN, 0333, "in"},
0, E_ED, 0242, "ini", {0, E_ED, 0242, "ini"},
0, E_ED, 0262, "inir", {0, E_ED, 0262, "inir"},
0, E_ED, 0252, "ind", {0, E_ED, 0252, "ind"},
0, E_ED, 0272, "indr", {0, E_ED, 0272, "indr"},
0, OUT, 0323, "out", {0, OUT, 0323, "out"},
0, E_ED, 0243, "outi", {0, E_ED, 0243, "outi"},
0, E_ED, 0263, "otir", {0, E_ED, 0263, "otir"},
0, E_ED, 0253, "outd", {0, E_ED, 0253, "outd"},
0, E_ED, 0273, "otdr", {0, E_ED, 0273, "otdr"},

View file

@ -7,157 +7,157 @@
/* /*
** Zilog z8000 keywords ** Zilog z8000 keywords
*/ */
0, R8, 8, "RL0", {0, R8, 8, "RL0"},
0, R8, 0, "RH0", {0, R8, 0, "RH0"},
0, R8, 9, "RL1", {0, R8, 9, "RL1"},
0, R8, 1, "RH1", {0, R8, 1, "RH1"},
0, R8, 10, "RL2", {0, R8, 10, "RL2"},
0, R8, 2, "RH2", {0, R8, 2, "RH2"},
0, R8, 11, "RL3", {0, R8, 11, "RL3"},
0, R8, 3, "RH3", {0, R8, 3, "RH3"},
0, R8, 12, "RL4", {0, R8, 12, "RL4"},
0, R8, 4, "RH4", {0, R8, 4, "RH4"},
0, R8, 13, "RL5", {0, R8, 13, "RL5"},
0, R8, 5, "RH5", {0, R8, 5, "RH5"},
0, R8, 14, "RL6", {0, R8, 14, "RL6"},
0, R8, 6, "RH6", {0, R8, 6, "RH6"},
0, R8, 15, "RL7", {0, R8, 15, "RL7"},
0, R8, 7, "RH7", {0, R8, 7, "RH7"},
/* Special format for some byte-registers. Not really available on /* Special format for some byte-registers. Not really available on
** the z8000 but designed to ease writing a z8000-backend-table. ** the z8000 but designed to ease writing a z8000-backend-table.
** LR[0..7] are equivalent with RL[0..7]. ** LR[0..7] are equivalent with RL[0..7].
*/ */
0, R8, 8, "LR0", {0, R8, 8, "LR0"},
0, R8, 9, "LR1", {0, R8, 9, "LR1"},
0, R8, 10, "LR2", {0, R8, 10, "LR2"},
0, R8, 11, "LR3", {0, R8, 11, "LR3"},
0, R8, 12, "LR4", {0, R8, 12, "LR4"},
0, R8, 13, "LR5", {0, R8, 13, "LR5"},
0, R8, 14, "LR6", {0, R8, 14, "LR6"},
0, R8, 15, "LR7", {0, R8, 15, "LR7"},
0, R16, 0, "R0", {0, R16, 0, "R0"},
0, R16, 1, "R1", {0, R16, 1, "R1"},
0, R16, 2, "R2", {0, R16, 2, "R2"},
0, R16, 3, "R3", {0, R16, 3, "R3"},
0, R16, 4, "R4", {0, R16, 4, "R4"},
0, R16, 5, "R5", {0, R16, 5, "R5"},
0, R16, 6, "R6", {0, R16, 6, "R6"},
0, R16, 7, "R7", {0, R16, 7, "R7"},
0, R16, 8, "R8", {0, R16, 8, "R8"},
0, R16, 9, "R9", {0, R16, 9, "R9"},
0, R16, 10, "R10", {0, R16, 10, "R10"},
0, R16, 11, "R11", {0, R16, 11, "R11"},
0, R16, 12, "R12", {0, R16, 12, "R12"},
0, R16, 13, "R13", {0, R16, 13, "R13"},
0, R16, 14, "R14", {0, R16, 14, "R14"},
0, R16, 15, "R15", {0, R16, 15, "R15"},
0, R32, 0, "RR0", {0, R32, 0, "RR0"},
0, R32, 2, "RR2", {0, R32, 2, "RR2"},
0, R32, 4, "RR4", {0, R32, 4, "RR4"},
0, R32, 6, "RR6", {0, R32, 6, "RR6"},
0, R32, 8, "RR8", {0, R32, 8, "RR8"},
0, R32, 10, "RR10", {0, R32, 10, "RR10"},
0, R32, 12, "RR12", {0, R32, 12, "RR12"},
0, R32, 14, "RR14", {0, R32, 14, "RR14"},
0, R64, 0, "RQ0", {0, R64, 0, "RQ0"},
0, R64, 4, "RQ4", {0, R64, 4, "RQ4"},
0, R64, 8, "RQ8", {0, R64, 8, "RQ8"},
0, R64, 12, "RQ12", {0, R64, 12, "RQ12"},
0, CC, 14, "NZ", {0, CC, 14, "NZ"},
0, CC, 15, "NC", {0, CC, 15, "NC"},
0, CC, 13, "PL", {0, CC, 13, "PL"},
0, CC, 5, "MI", {0, CC, 5, "MI"},
0, CC, 14, "NE", {0, CC, 14, "NE"},
0, CC, 6, "EQ", {0, CC, 6, "EQ"},
0, CC, 4, "OV", {0, CC, 4, "OV"},
0, CC, 12, "NOV", {0, CC, 12, "NOV"},
0, CC, 4, "PE", {0, CC, 4, "PE"},
0, CC, 12, "PO", {0, CC, 12, "PO"},
0, CC, 9, "GE", {0, CC, 9, "GE"},
0, CC, 1, "LT", {0, CC, 1, "LT"},
0, CC, 10, "GT", {0, CC, 10, "GT"},
0, CC, 2, "LE", {0, CC, 2, "LE"},
0, CC, 15, "UGE", {0, CC, 15, "UGE"},
0, CC, 7, "ULT", {0, CC, 7, "ULT"},
0, CC, 11, "UGT", {0, CC, 11, "UGT"},
0, CC, 3, "ULE", {0, CC, 3, "ULE"},
0, FLAG, 0x80, "C", {0, FLAG, 0x80, "C"},
0, FLAG, 0x40, "Z", {0, FLAG, 0x40, "Z"},
0, FLAG, 0x20, "S", {0, FLAG, 0x20, "S"},
0, FLAG, 0x10, "P", {0, FLAG, 0x10, "P"},
0, FLAG, 0x10, "V", {0, FLAG, 0x10, "V"},
0, INTCB, 2, "VI", {0, INTCB, 2, "VI"},
0, INTCB, 1, "NVI", {0, INTCB, 1, "NVI"},
0, CTLRFLAGS, 1, "FLAGS", {0, CTLRFLAGS, 1, "FLAGS"},
0, CTLR, 2, "FCW", {0, CTLR, 2, "FCW"},
0, CTLR, 3, "REFRESH", {0, CTLR, 3, "REFRESH"},
0, CTLR, 4, "PSAPSEG", {0, CTLR, 4, "PSAPSEG"},
0, CTLR, 5, "PSAPOFF", {0, CTLR, 5, "PSAPOFF"},
0, CTLR, 6, "NSPSEG", {0, CTLR, 6, "NSPSEG"},
0, CTLR, 7, "NSPOFF", {0, CTLR, 7, "NSPOFF"},
0, CTLR, 5, "PSAP", {0, CTLR, 5, "PSAP"},
0, CTLR, 7, "NSP", {0, CTLR, 7, "NSP"},
/* TYPE_11a23 */ /* TYPE_11a23 */
0, F1_1F2_3, 0x1F00, "call", {0, F1_1F2_3, 0x1F00, "call"},
0, F1_1F2_3, 0x3900, "ldps", {0, F1_1F2_3, 0x3900, "ldps"},
/* TYPE_11b23 */ /* TYPE_11b23 */
0, F1_1F2_3, 0x0D08, "clr", {0, F1_1F2_3, 0x0D08, "clr"},
0, F1_1F2_3, 0x0C08, "clrb", {0, F1_1F2_3, 0x0C08, "clrb"},
0, F1_1F2_3, 0x0D00, "com", {0, F1_1F2_3, 0x0D00, "com"},
0, F1_1F2_3, 0x0C00, "comb", {0, F1_1F2_3, 0x0C00, "comb"},
0, F1_1F2_3, 0x0D02, "neg", {0, F1_1F2_3, 0x0D02, "neg"},
0, F1_1F2_3, 0x0C02, "negb", {0, F1_1F2_3, 0x0C02, "negb"},
0, F1_1F2_3, 0x0D04, "test", {0, F1_1F2_3, 0x0D04, "test"},
0, F1_1F2_3, 0x0C04, "testb", {0, F1_1F2_3, 0x0C04, "testb"},
0, F1_1F2_3, 0x1C08, "testl", {0, F1_1F2_3, 0x1C08, "testl"},
0, F1_1F2_3, 0x0D06, "tset", {0, F1_1F2_3, 0x0D06, "tset"},
0, F1_1F2_3, 0x0C06, "tsetb", {0, F1_1F2_3, 0x0C06, "tsetb"},
0, F1_1a, 0xB000, "dab", {0, F1_1a, 0xB000, "dab"},
0, F1_1a, 0xB10A, "exts", {0, F1_1a, 0xB10A, "exts"},
0, F1_1a, 0xB100, "extsb", {0, F1_1a, 0xB100, "extsb"},
0, F1_1a, 0xB107, "extsl", {0, F1_1a, 0xB107, "extsl"},
0, F1_1b, 0xB300, "rl", {0, F1_1b, 0xB300, "rl"},
0, F1_1b, 0xB200, "rlb", {0, F1_1b, 0xB200, "rlb"},
0, F1_1b, 0xB308, "rlc", {0, F1_1b, 0xB308, "rlc"},
0, F1_1b, 0xB208, "rlcb", {0, F1_1b, 0xB208, "rlcb"},
0, F1_1b, 0xB304, "rr", {0, F1_1b, 0xB304, "rr"},
0, F1_1b, 0xB204, "rrb", {0, F1_1b, 0xB204, "rrb"},
0, F1_1b, 0xB30C, "rrc", {0, F1_1b, 0xB30C, "rrc"},
0, F1_1b, 0xB20C, "rrcb", {0, F1_1b, 0xB20C, "rrcb"},
/* TYPE_12 */ /* TYPE_12 */
0, F1_2, 0x2B00, "dec", {0, F1_2, 0x2B00, "dec"},
0, F1_2, 0x2A00, "decb", {0, F1_2, 0x2A00, "decb"},
0, F1_2, 0x2900, "inc", {0, F1_2, 0x2900, "inc"},
0, F1_2, 0x2800, "incb", {0, F1_2, 0x2800, "incb"},
0, LDK, 0xBD00, "ldk", {0, LDK, 0xBD00, "ldk"},
/* TYPE_1263 */ /* TYPE_1263 */
0, F1_2F6_3, 0x2700, "bit", {0, F1_2F6_3, 0x2700, "bit"},
0, F1_2F6_3, 0x2600, "bitb", {0, F1_2F6_3, 0x2600, "bitb"},
0, F1_2F6_3, 0x2300, "res", {0, F1_2F6_3, 0x2300, "res"},
0, F1_2F6_3, 0x2200, "resb", {0, F1_2F6_3, 0x2200, "resb"},
0, F1_2F6_3, 0x2500, "set", {0, F1_2F6_3, 0x2500, "set"},
0, F1_2F6_3, 0x2400, "setb", {0, F1_2F6_3, 0x2400, "setb"},
/* TYPE_jp */ /* TYPE_jp */
0, JP, 0x1E00, "jp", {0, JP, 0x1E00, "jp"},
0, TCC, 0xAF00, "tcc", {0, TCC, 0xAF00, "tcc"},
0, TCC, 0xAE00, "tccb", {0, TCC, 0xAE00, "tccb"},
/* TYPE_21a */ /* TYPE_21a */
0, F2_1, 0x2D00, "ex", {0, F2_1, 0x2D00, "ex"},
0, F2_1, 0x2C00, "exb", {0, F2_1, 0x2C00, "exb"},
/* TYPE_21b */ /* TYPE_21b */
0, F2_1, 0x3500, "adc", {0, F2_1, 0x3500, "adc"},
0, F2_1, 0x3400, "adcb", {0, F2_1, 0x3400, "adcb"},
0, F2_1, 0x3E00, "rldb", {0, F2_1, 0x3E00, "rldb"},
0, F2_1, 0x3C00, "rrdb", {0, F2_1, 0x3C00, "rrdb"},
0, F2_1, 0x3700, "sbc", {0, F2_1, 0x3700, "sbc"},
0, F2_1, 0x3600, "sbcb", {0, F2_1, 0x3600, "sbcb"},
/* TYPE_2151. /* TYPE_2151.
** Depending on their operands the cp-instructions might ** Depending on their operands the cp-instructions might
** have an opcode of 0x201 more then listed below. This is ** have an opcode of 0x201 more then listed below. This is
@ -165,160 +165,160 @@
** The difference in opcode between byte-,word- and long- ** The difference in opcode between byte-,word- and long-
** instructions of the F2_1F5_1 group is as follows: ** instructions of the F2_1F5_1 group is as follows:
** If bit 8 is on it is a word instruction; If it is not a ** If bit 8 is on it is a word instruction; If it is not a
** word instruction and bit 12 is on it is a long instruction, ** word instruction and bit 12 is on it is a long instruction},
** else it is a byte instruction. This information is used ** else it is a byte instruction. This information is used
** when one of the operands is of type IM. ** when one of the operands is of type IM.
*/ */
0, F2_1F5_1, 0x0100, "add", {0, F2_1F5_1, 0x0100, "add"},
0, F2_1F5_1, 0x0000, "addb", {0, F2_1F5_1, 0x0000, "addb"},
0, F2_1F5_1, 0x1600, "addl", {0, F2_1F5_1, 0x1600, "addl"},
0, F2_1F5_1, 0x0700, "and", {0, F2_1F5_1, 0x0700, "and"},
0, F2_1F5_1, 0x0600, "andb", {0, F2_1F5_1, 0x0600, "andb"},
0, F2_1F5_1, 0x1B00, "div", {0, F2_1F5_1, 0x1B00, "div"},
0, F2_1F5_1, 0x1A00, "divl", {0, F2_1F5_1, 0x1A00, "divl"},
0, F2_1F5_1, 0x1900, "mult", {0, F2_1F5_1, 0x1900, "mult"},
0, F2_1F5_1, 0x1800, "multl", {0, F2_1F5_1, 0x1800, "multl"},
0, F2_1F5_1, 0x0500, "or", {0, F2_1F5_1, 0x0500, "or"},
0, F2_1F5_1, 0x0400, "orb", {0, F2_1F5_1, 0x0400, "orb"},
0, F2_1F5_1, 0x0300, "sub", {0, F2_1F5_1, 0x0300, "sub"},
0, F2_1F5_1, 0x0200, "subb", {0, F2_1F5_1, 0x0200, "subb"},
0, F2_1F5_1, 0x1200, "subl", {0, F2_1F5_1, 0x1200, "subl"},
0, F2_1F5_1, 0x0900, "xor", {0, F2_1F5_1, 0x0900, "xor"},
0, F2_1F5_1, 0x0800, "xorb", {0, F2_1F5_1, 0x0800, "xorb"},
0, F2_1F5_1, 0x0B00, "cp", {0, F2_1F5_1, 0x0B00, "cp"},
0, F2_1F5_1, 0x0A00, "cpb", {0, F2_1F5_1, 0x0A00, "cpb"},
0, F2_1F5_1, 0x1000, "cpl", {0, F2_1F5_1, 0x1000, "cpl"},
0, LDA, 0, "lda", {0, LDA, 0, "lda"},
/* TYPE_pop */ /* TYPE_pop */
0, POP, 0x1700, "pop", {0, POP, 0x1700, "pop"},
0, POP, 0x1500, "popl", {0, POP, 0x1500, "popl"},
/* TYPE_push */ /* TYPE_push */
0, PUSH, 0x1300, "push", {0, PUSH, 0x1300, "push"},
0, PUSH, 0x1100, "pushl", {0, PUSH, 0x1100, "pushl"},
/* TYPE_ld */ /* TYPE_ld */
0, LD, 0x0100, "ld", {0, LD, 0x0100, "ld"},
0, LD, 0, "ldb", {0, LD, 0, "ldb"},
0, LDL, 0, "ldl", {0, LDL, 0, "ldl"},
0, DJNZ, 0xF080, "djnz", {0, DJNZ, 0xF080, "djnz"},
0, DJNZ, 0xF000, "dbjnz", {0, DJNZ, 0xF000, "dbjnz"},
0, JR, 0xE000, "jr", {0, JR, 0xE000, "jr"},
0, CALR, 0xD000, "calr", {0, CALR, 0xD000, "calr"},
/* Depending on their operands the LDR-instructions might /* Depending on their operands the LDR-instructions might
** have an opcode of 0x200 more then listed below. This is ** have an opcode of 0x200 more then listed below. This is
** or-ed in at the appropriate place. ** or-ed in at the appropriate place.
*/ */
0, LDR, 0x3100, "ldr", {0, LDR, 0x3100, "ldr"},
0, LDR, 0x3000, "ldrb", {0, LDR, 0x3000, "ldrb"},
0, LDR, 0x3500, "ldrl", {0, LDR, 0x3500, "ldrl"},
0, LDAR, 0x3400, "ldar", {0, LDAR, 0x3400, "ldar"},
0, F5_1L, 0xB309, "sla", {0, F5_1L, 0xB309, "sla"},
0, F5_1L, 0xB209, "slab", {0, F5_1L, 0xB209, "slab"},
0, F5_1L, 0xB30D, "slal", {0, F5_1L, 0xB30D, "slal"},
0, F5_1L, 0xB301, "sll", {0, F5_1L, 0xB301, "sll"},
0, F5_1L, 0xB201, "sllb", {0, F5_1L, 0xB201, "sllb"},
0, F5_1L, 0xB305, "slll", {0, F5_1L, 0xB305, "slll"},
0, F5_1R, 0xB309, "sra", {0, F5_1R, 0xB309, "sra"},
0, F5_1R, 0xB209, "srab", {0, F5_1R, 0xB209, "srab"},
0, F5_1R, 0xB30D, "sral", {0, F5_1R, 0xB30D, "sral"},
0, F5_1R, 0xB301, "srl", {0, F5_1R, 0xB301, "srl"},
0, F5_1R, 0xB201, "srlb", {0, F5_1R, 0xB201, "srlb"},
0, F5_1R, 0xB305, "srll", {0, F5_1R, 0xB305, "srll"},
/* Depending on its operands the LDM-instruction might have /* Depending on its operands the LDM-instruction might have
** an opcode of 8 more then listed below. This is added at the ** an opcode of 8 more then listed below. This is added at the
** appropriate place. ** appropriate place.
** TYPE_ldm ** TYPE_ldm
*/ */
0, LDM, 0x1C01, "ldm", {0, LDM, 0x1C01, "ldm"},
/* For the F6.4 instructions below the yylval-column contains /* For the F6.4 instructions below the yylval-column contains
** the opcode for the instruction. However the third hexa-digit ** the opcode for the instruction. However the third hexa-digit
** should be 0; But this is the opcode which must be put into ** should be 0; But this is the opcode which must be put into
** the second word of the instruction! ** the second word of the instruction!
*/ */
0, F6_4, 0x3B88, "ind", {0, F6_4, 0x3B88, "ind"},
0, F6_4, 0x3A88, "indb", {0, F6_4, 0x3A88, "indb"},
0, F6_4, 0x3B08, "indr", {0, F6_4, 0x3B08, "indr"},
0, F6_4, 0x3A08, "indrb", {0, F6_4, 0x3A08, "indrb"},
0, F6_4, 0x3B80, "ini", {0, F6_4, 0x3B80, "ini"},
0, F6_4, 0x3A80, "inib", {0, F6_4, 0x3A80, "inib"},
0, F6_4, 0x3B00, "inir", {0, F6_4, 0x3B00, "inir"},
0, F6_4, 0x3A00, "inirb", {0, F6_4, 0x3A00, "inirb"},
0, F6_4, 0xBB89, "ldd", {0, F6_4, 0xBB89, "ldd"},
0, F6_4, 0xBA89, "lddb", {0, F6_4, 0xBA89, "lddb"},
0, F6_4, 0xBB09, "lddr", {0, F6_4, 0xBB09, "lddr"},
0, F6_4, 0xBA09, "lddrb", {0, F6_4, 0xBA09, "lddrb"},
0, F6_4, 0xBB81, "ldi", {0, F6_4, 0xBB81, "ldi"},
0, F6_4, 0xBA81, "ldib", {0, F6_4, 0xBA81, "ldib"},
0, F6_4, 0xBB01, "ldir", {0, F6_4, 0xBB01, "ldir"},
0, F6_4, 0xBA01, "ldirb", {0, F6_4, 0xBA01, "ldirb"},
0, F6_4, 0x3B0A, "otdr", {0, F6_4, 0x3B0A, "otdr"},
0, F6_4, 0x3A0A, "otdrb", {0, F6_4, 0x3A0A, "otdrb"},
0, F6_4, 0x3B02, "otir", {0, F6_4, 0x3B02, "otir"},
0, F6_4, 0x3A02, "otirb", {0, F6_4, 0x3A02, "otirb"},
0, F6_4, 0x3B8A, "outd", {0, F6_4, 0x3B8A, "outd"},
0, F6_4, 0x3A8A, "outdb", {0, F6_4, 0x3A8A, "outdb"},
0, F6_4, 0x3B82, "outi", {0, F6_4, 0x3B82, "outi"},
0, F6_4, 0x3A82, "outib", {0, F6_4, 0x3A82, "outib"},
0, F6_4, 0x3B89, "sind", {0, F6_4, 0x3B89, "sind"},
0, F6_4, 0x3A89, "sindb", {0, F6_4, 0x3A89, "sindb"},
0, F6_4, 0x3B09, "sindr", {0, F6_4, 0x3B09, "sindr"},
0, F6_4, 0x3A09, "sindrb", {0, F6_4, 0x3A09, "sindrb"},
0, F6_4, 0x3B81, "sini", {0, F6_4, 0x3B81, "sini"},
0, F6_4, 0x3A81, "sinib", {0, F6_4, 0x3A81, "sinib"},
0, F6_4, 0x3B01, "sinir", {0, F6_4, 0x3B01, "sinir"},
0, F6_4, 0x3A01, "sinirb", {0, F6_4, 0x3A01, "sinirb"},
0, F6_4, 0x3B0B, "sotdr", {0, F6_4, 0x3B0B, "sotdr"},
0, F6_4, 0x3A0B, "sotdrb", {0, F6_4, 0x3A0B, "sotdrb"},
0, F6_4, 0x3B03, "sotir", {0, F6_4, 0x3B03, "sotir"},
0, F6_4, 0x3A03, "sotirb", {0, F6_4, 0x3A03, "sotirb"},
0, F6_4, 0x3B8B, "soutd", {0, F6_4, 0x3B8B, "soutd"},
0, F6_4, 0x3A8B, "soutdb", {0, F6_4, 0x3A8B, "soutdb"},
0, F6_4, 0x3B83, "souti", {0, F6_4, 0x3B83, "souti"},
0, F6_4, 0x3A83, "soutib", {0, F6_4, 0x3A83, "soutib"},
0, F6_4, 0xB808, "trdb", {0, F6_4, 0xB808, "trdb"},
0, F6_4, 0xB80C, "trdrb", {0, F6_4, 0xB80C, "trdrb"},
0, F6_4, 0xB800, "trib", {0, F6_4, 0xB800, "trib"},
0, F6_4, 0xB804, "trirb", {0, F6_4, 0xB804, "trirb"},
0, F6_4, 0xB80A, "trtdb", {0, F6_4, 0xB80A, "trtdb"},
0, F6_4, 0xB8EE, "trtdrb", {0, F6_4, 0xB8EE, "trtdrb"},
0, F6_4, 0xB802, "trtib", {0, F6_4, 0xB802, "trtib"},
0, F6_4, 0xB8E6, "trtirb", {0, F6_4, 0xB8E6, "trtirb"},
/* From the F6.5 instructions below the last eight ('string'- /* From the F6.5 instructions below the last eight ('string'-
** instructions) want an 'ir' as operand; The others want a 'r'. ** instructions) want an 'ir' as operand; The others want a 'r'.
** In the opcode for the string-instructions bit 1 is on, which ** In the opcode for the string-instructions bit 1 is on, which
** indicates the difference. ** indicates the difference.
*/ */
0, F6_5, 0xBB08, "cpd", {0, F6_5, 0xBB08, "cpd"},
0, F6_5, 0xBA08, "cpdb", {0, F6_5, 0xBA08, "cpdb"},
0, F6_5, 0xBB0C, "cpdr", {0, F6_5, 0xBB0C, "cpdr"},
0, F6_5, 0xBA0C, "cpdrb", {0, F6_5, 0xBA0C, "cpdrb"},
0, F6_5, 0xBB00, "cpi", {0, F6_5, 0xBB00, "cpi"},
0, F6_5, 0xBA00, "cpib", {0, F6_5, 0xBA00, "cpib"},
0, F6_5, 0xBB04, "cpir", {0, F6_5, 0xBB04, "cpir"},
0, F6_5, 0xBA04, "cpirb", {0, F6_5, 0xBA04, "cpirb"},
0, F6_5, 0xBB0A, "cpsd", {0, F6_5, 0xBB0A, "cpsd"},
0, F6_5, 0xBA0A, "cpsdb", {0, F6_5, 0xBA0A, "cpsdb"},
0, F6_5, 0xBB0E, "cpsdr", {0, F6_5, 0xBB0E, "cpsdr"},
0, F6_5, 0xBA0E, "cpsdrb", {0, F6_5, 0xBA0E, "cpsdrb"},
0, F6_5, 0xBB02, "cpsi", {0, F6_5, 0xBB02, "cpsi"},
0, F6_5, 0xBA02, "cpsib", {0, F6_5, 0xBA02, "cpsib"},
0, F6_5, 0xBB06, "cpsir", {0, F6_5, 0xBB06, "cpsir"},
0, F6_5, 0xBA06, "cpsirb", {0, F6_5, 0xBA06, "cpsirb"},
0, F6_6, 0xB30B, "sda", {0, F6_6, 0xB30B, "sda"},
0, F6_6, 0xB20B, "sdab", {0, F6_6, 0xB20B, "sdab"},
0, F6_6, 0xB30F, "sdal", {0, F6_6, 0xB30F, "sdal"},
0, F6_6, 0xB303, "sdl", {0, F6_6, 0xB303, "sdl"},
0, F6_6, 0xB203, "sdlb", {0, F6_6, 0xB203, "sdlb"},
0, F6_6, 0xB307, "sdll", {0, F6_6, 0xB307, "sdll"},
/* The instructions in\b and out\b have two different opcodes /* The instructions in\b and out\b have two different opcodes
** depending on their operands (...). Therefore the opcodes ** depending on their operands (...). Therefore the opcodes
@ -332,38 +332,38 @@
** as operand. In their opcode bit 0 is on, which indicates ** as operand. In their opcode bit 0 is on, which indicates
** the difference with the other instructions of this group. ** the difference with the other instructions of this group.
*/ */
0, IN, 0x3100, "in", {0, IN, 0x3100, "in"},
0, IN, 0x3000, "inb", {0, IN, 0x3000, "inb"},
0, IN, 0x3B05, "sin", {0, IN, 0x3B05, "sin"},
0, IN, 0x3A05, "sinb", {0, IN, 0x3A05, "sinb"},
0, OUT, 0x3100, "out", {0, OUT, 0x3100, "out"},
0, OUT, 0x3000, "outb", {0, OUT, 0x3000, "outb"},
0, OUT, 0x3B07, "sout", {0, OUT, 0x3B07, "sout"},
0, OUT, 0x3A07, "soutb", {0, OUT, 0x3A07, "soutb"},
/* Depending on their operands the LDCTL-instructions might /* Depending on their operands the LDCTL-instructions might
** have an opcode of 8 more then listed below. This is or-ed ** have an opcode of 8 more then listed below. This is or-ed
** in at the appropriate place. ** in at the appropriate place.
*/ */
0, LDCTL, 0x7D00, "ldctl", {0, LDCTL, 0x7D00, "ldctl"},
0, LDCTLB, 0x8C00, "ldctlb", {0, LDCTLB, 0x8C00, "ldctlb"},
0, MREQ, 0x7B0D, "mreq", {0, MREQ, 0x7B0D, "mreq"},
0, F9_1, 0x8D05, "comflg", {0, F9_1, 0x8D05, "comflg"},
0, F9_1, 0x8D03, "resflg", {0, F9_1, 0x8D03, "resflg"},
0, F9_1, 0x8D01, "setflg", {0, F9_1, 0x8D01, "setflg"},
0, F9_2, 0x7C00, "di", {0, F9_2, 0x7C00, "di"},
0, F9_2, 0x7C04, "ei", {0, F9_2, 0x7C04, "ei"},
0, F9_3, 0x7A00, "halt", {0, F9_3, 0x7A00, "halt"},
0, F9_3, 0x7B00, "iret", {0, F9_3, 0x7B00, "iret"},
0, F9_3, 0x7B0A, "mbit", {0, F9_3, 0x7B0A, "mbit"},
0, F9_3, 0x7B09, "mres", {0, F9_3, 0x7B09, "mres"},
0, F9_3, 0x7B08, "mset", {0, F9_3, 0x7B08, "mset"},
0, F9_3, 0x8D07, "nop", {0, F9_3, 0x8D07, "nop"},
/* Rest of the opcode-0x200 is or-ed in at the appropriate place /* Rest of the opcode-0x200 is or-ed in at the appropriate place
*/ */
0, RET, 0x9E00, "ret", {0, RET, 0x9E00, "ret"},
0, SC, 0x7F00, "sc", {0, SC, 0x7F00, "sc"},