Annotation of 43BSD/ucb/dbx/ops.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1983 Regents of the University of California.
                      3:  * All rights reserved.  The Berkeley software License Agreement
                      4:  * specifies the terms and conditions for redistribution.
                      5:  */
                      6: 
                      7: #ifndef lint
                      8: static char sccsid[] = "@(#)ops.c      5.1 (Berkeley) 5/31/85";
                      9: #endif not lint
                     10: 
                     11: static char rcsid[] = "$Header: ops.c,v 1.5 84/12/26 10:41:07 linton Exp $";
                     12: 
                     13: /*
                     14:  * Machine operators.
                     15:  */
                     16: 
                     17: #include "defs.h"
                     18: #include "ops.h"
                     19: 
                     20: #ifndef public
                     21: typedef unsigned char VaxOpcode;
                     22: 
                     23: #define O_HALT 0x00            /* halt */
                     24: #define O_NOP 0x01             /* no operation */
                     25: #define O_REI 0x02             /* return from exception or interrupt */
                     26: #define O_BPT 0x03             /* break point fault */
                     27: #define O_RET 0x04             /* return from called procedure */
                     28: #define O_RSB 0x05             /* return from subroutine */
                     29: #define O_LDPCTX 0x06          /* load process context */
                     30: #define O_SVPCTX 0x07          /* save process context */
                     31: #define O_CVTPS 0x08           /* convert packed to leading separate numeric */
                     32: #define O_CVTSP 0x09           /* convert leading separate numeric to packed */
                     33: #define O_INDEX 0x0A           /* compute index */
                     34: #define O_CRC 0x0B             /* calculate cyclic redundancy check */
                     35: #define O_PROBER 0x0C          /* probe read access */
                     36: #define O_PROBEW 0x0D          /* probe write access */
                     37: #define O_INSQUE 0x0E          /* insert into queue */
                     38: #define O_REMQUE 0x0F          /* remove from queue */
                     39: #define O_BSBB 0x10            /* branch to subroutine with byte disp */
                     40: #define O_BRB 0x11             /* branch with byte disp */
                     41: #define O_BNEQ 0x12            /* branch on not equal (also BNEQU) */
                     42: #define O_BEQL 0x13            /* branch on equal (also BEQLU */
                     43: #define O_BGTR 0x14            /* branch on greater */
                     44: #define O_BLEQ 0x15            /* branch on less or equal */
                     45: #define O_JSB 0x16             /* jump to subroutine */
                     46: #define O_JMP 0x17             /* jump */
                     47: #define O_BGEQ 0x18            /* branch on greater or equal */
                     48: #define O_BLSS 0x19            /* branch on less */
                     49: #define O_BGTRU 0x1A           /* branch on greater unsigned */
                     50: #define O_BLEQU 0x1B           /* branch on less of equal unsigned */
                     51: #define O_BVC 0x1C             /* branch on overflow clear */
                     52: #define O_BVS 0x1D             /* branch on overflow set */
                     53: #define O_BCC 0x1E             /* branch on carry clear (also BGEQU) */
                     54: #define O_BCS 0x1F             /* branch on carry set (also BLSSU) */
                     55: #define O_ADDP4 0x20           /* add packed 4 operand */
                     56: #define O_ADDP6 0x21           /* add packed 6 operand */
                     57: #define O_SUBP4 0x22           /* subtract packed 4 operand */
                     58: #define O_SUBP6 0x23           /* subtract packed 6 operand */
                     59: #define O_CVTPT 0x24           /* convert packed to trailing numeric */
                     60: #define O_MULP 0x25            /* multiply packed */
                     61: #define O_CVTTP 0x26           /* convert trailing numeric to packed */
                     62: #define O_DIVP 0x27            /* divide packed */
                     63: #define O_MOVC3 0x28           /* move character 3 operand */
                     64: #define O_CMPC3 0x29           /* compare character 3 operand */
                     65: #define O_SCANC 0x2A           /* scan for character */
                     66: #define O_SPANC 0x2B           /* span characters */
                     67: #define O_MOVC5 0x2C           /* move character 5 operand */
                     68: #define O_CMPC5 0x2D           /* compare character 5 operand */
                     69: #define O_MOVTC 0x2E           /* move translated characters */
                     70: #define O_MOVTUC 0x2F          /* move translated until character */
                     71: #define O_BSBW 0x30            /* branch to subroutine with word disp */
                     72: #define O_BRW 0x31             /* branch with word disp */
                     73: #define O_CVTWL 0x32           /* convert word to long */
                     74: #define O_CVTWB 0x33           /* convert word to byte */
                     75: #define O_MOVP 0x34            /* move packed */
                     76: #define O_CMPP3 0x35           /* compare packed 3 operand */
                     77: #define O_CVTPL 0x36           /* convert packed to long */
                     78: #define O_CMPP4 0x37           /* compare packed 4 operand */
                     79: #define O_EDITPC 0x38          /* edit packed to character */
                     80: #define O_MATCHC 0x39          /* match characters */
                     81: #define O_LOCC 0x3A            /* locate characters */
                     82: #define O_SKPC 0x3B            /* skip character */
                     83: #define O_MOVZWL 0x3C          /* move zero-extended word to long */
                     84: #define O_ACBW 0x3D            /* add compare and branch word */
                     85: #define O_MOVAW 0x3E           /* move address of word */
                     86: #define O_PUSHAW 0x3F          /* push address of word */
                     87: #define O_ADDF2 0x40           /* add floating 2 operand */
                     88: #define O_ADDF3 0x41           /* add floating 3 operand */
                     89: #define O_SUBF2 0x42           /* subtract floating 2 operand */
                     90: #define O_SUBF3 0x43           /* subtract floating 3 operand */
                     91: #define O_MULF2 0x44           /* multiply floating 2 operand */
                     92: #define O_MULF3 0x45           /* multiply floating 3 operand */
                     93: #define O_DIVF2 0x46           /* divide floating 2 operand */
                     94: #define O_DIVF3 0x47           /* divide floating 3 operand */
                     95: #define O_CVTFB 0x48           /* convert float to byte */
                     96: #define O_CVTFW 0x49           /* convert float to word */
                     97: #define O_CVTFL 0x4A           /* convert float to long */
                     98: #define O_CVTRFL 0x4B          /* convert rounded float to long */
                     99: #define O_CVTBF 0x4C           /* convert byte to float */
                    100: #define O_CVTWF 0x4D           /* convert word to float */
                    101: #define O_CVTLF 0x4E           /* convert long to float */
                    102: #define O_ACBF 0x4F            /* add compare and branch floating */
                    103: #define O_MOVF 0x50            /* move float */
                    104: #define O_CMPF 0x51            /* compare floating */
                    105: #define O_MNEGF 0x52           /* move negated floating */
                    106: #define O_TSTF 0x53            /* test float */
                    107: #define O_EMODF 0x54           /* extended modulus floating */
                    108: #define O_POLYF 0x55           /* evaluate polynomial floating */
                    109: #define O_CVTFD 0x56           /* convert float to double */
                    110: #define O_DUMMY57 0x57         /* RESERVED to DIGITAL */
                    111: #define O_ADAWI 0x58           /* add aligned word interlocked */
                    112: #define O_DUMMY59 0x59         /* RESERVED to DIGITAL */
                    113: #define O_DUMMY5a 0x5A         /* RESERVED to DIGITAL */
                    114: #define O_DUMMY5b 0x5B         /* RESERVED to DIGITAL */
                    115: #define O_INSQHI 0x5C          /* insert into queue head, interlocked */
                    116: #define O_INSQTI 0x5D          /* insert into queue tail, interlocked */
                    117: #define O_REMQHI 0x5E          /* remove from queue head, interlocked */
                    118: #define O_REMQTI 0x5F          /* remove from queue tail, interlocked */
                    119: #define O_ADDD2 0x60           /* add double 2 operand */
                    120: #define O_ADDD3 0x61           /* add double 3 operand */
                    121: #define O_SUBD2 0x62           /* subtract double 2 operand */
                    122: #define O_SUBD3 0x63           /* subtrace double 3 operand */
                    123: #define O_MULD2 0x64           /* multiply double 2 operand */
                    124: #define O_MULD3 0x65           /* multiply double 3 operand */
                    125: #define O_DIVD2 0x66           /* divide double 2 operand */
                    126: #define O_DIVD3 0x67           /* divide double 3 operand */
                    127: #define O_CVTDB 0x68           /* convert double to byte */
                    128: #define O_CVTDW 0x69           /* convert double to word */
                    129: #define O_CVTDL 0x6A           /* convert double to long */
                    130: #define O_CVTRDL 0x6B          /* convert rounded double to long */
                    131: #define O_CVTBD 0x6C           /* convert byte to double */
                    132: #define O_CVTWD 0x6D           /* convert word to double */
                    133: #define O_CVTLD 0x6E           /* convert long to double */
                    134: #define O_ACBD 0x6F            /* add compare and branch double */
                    135: #define O_MOVD 0x70            /* move double */
                    136: #define O_CMPD 0x71            /* compare double */
                    137: #define O_MNEGD 0x72           /* move negated double */
                    138: #define O_TSTD 0x73            /* test double */
                    139: #define O_EMODD 0x74           /* extended modulus double */
                    140: #define O_POLYD 0x75           /* evaluate polynomial double */
                    141: #define O_CVTDF 0x76           /* convert double to float */
                    142: #define O_DUMMY77 0x77         /* RESERVED to DIGITAL */
                    143: #define O_ASHL 0x78            /* arithmetic shift long */
                    144: #define O_ASHQ 0x79            /* arithmetic shift quad */
                    145: #define O_EMUL 0x7A            /* extended multiply */
                    146: #define O_EDIV 0x7B            /* extended divide */
                    147: #define O_CLRQ 0x7C            /* clear quad (also CLRD) */
                    148: #define O_MOVQ 0x7D            /* move quad */
                    149: #define O_MOVAQ 0x7E           /* move address of quad (also MOVAD) */
                    150: #define O_PUSHAQ 0x7F          /* push address of quad (also PUSHAD) */
                    151: #define O_ADDB2 0x80           /* add byte 2 operand */
                    152: #define O_ADDB3 0x81           /* add byte 3 operand */
                    153: #define O_SUBB2 0x82           /* subtract byte 2 operand */
                    154: #define O_SUBB3 0x83           /* subtract byte 3 operand */
                    155: #define O_MULB2 0x84           /* multiply byte 2 operand */
                    156: #define O_MULB3 0x85           /* multiply byte 3 operand */
                    157: #define O_DIVB2 0x86           /* divide byte 2 operand */
                    158: #define O_DIVB3 0x87           /* divide byte 3 operand */
                    159: #define O_BISB2 0x88           /* bit set byte 2 operand */
                    160: #define O_BISB3 0x89           /* bit set byte 3 operand */
                    161: #define O_BICB2 0x8A           /* bit clear byte 2 operand */
                    162: #define O_BICB3 0x8B           /* bit clear byte 3 operand */
                    163: #define O_XORB2 0x8C           /* exclusive or byte 2 operand */
                    164: #define O_XORB3 0x8D           /* exclusive or byte 3 operand */
                    165: #define O_MNEGB 0x8E           /* move negated byte */
                    166: #define O_CASEB 0x8F           /* case byte */
                    167: #define O_MOVB 0x90            /* move byte */
                    168: #define O_CMPB 0x91            /* compare byte */
                    169: #define O_MCOMB 0x92           /* move complemented byte */
                    170: #define O_BITB 0x93            /* bit test byte */
                    171: #define O_CLRB 0x94            /* clear byte */
                    172: #define O_TSTB 0x95            /* test byte */
                    173: #define O_INCB 0x96            /* increment byte */
                    174: #define O_DECB 0x97            /* decrement byte */
                    175: #define O_CVTBL 0x98           /* convert byte to long */
                    176: #define O_CVTBW 0x99           /* convert byte to word */
                    177: #define O_MOVZBL 0x9A          /* move zero-extended byte to long */
                    178: #define O_MOVZBW 0x9B          /* move zero-extended byte to word */
                    179: #define O_ROTL 0x9C            /* rotate long */
                    180: #define O_ACBB 0x9D            /* add compare and branch byte */
                    181: #define O_MOVAB 0x9E           /* move address of byte */
                    182: #define O_PUSHAB 0x9F          /* push address of byte */
                    183: #define O_ADDW2 0xA0           /* add word 2 operand */
                    184: #define O_ADDW3 0xA1           /* add word 3 operand */
                    185: #define O_SUBW2 0xA2           /* subtract word 2 operand */
                    186: #define O_SUBW3 0xA3           /* subtract word 3 operand */
                    187: #define O_MULW2 0xA4           /* multiply word 2 operand */
                    188: #define O_MULW3 0xA5           /* multiply word 3 operand */
                    189: #define O_DIVW2 0xA6           /* divide word 2 operand */
                    190: #define O_DIVW3 0xA7           /* divide word 3 operand */
                    191: #define O_BISW2 0xA8           /* bit set word 2 operand */
                    192: #define O_BISW3 0xA9           /* bit set word 3 operand */
                    193: #define O_BICW2 0xAA           /* bit clear word 2 operand */
                    194: #define O_BICW3 0xAB           /* bit clear word 3 operand */
                    195: #define O_XORW2 0xAC           /* exclusive or word 2 operand */
                    196: #define O_XORW3 0xAD           /* exclusive or word 3 operand */
                    197: #define O_MNEGW 0xAE           /* move negated word */
                    198: #define O_CASEW 0xAF           /* case word */
                    199: #define O_MOVW 0xB0            /* move word */
                    200: #define O_CMPW 0xB1            /* compare word */
                    201: #define O_MCOMW 0xB2           /* move complemented word */
                    202: #define O_BITW 0xB3            /* bit test word */
                    203: #define O_CLRW 0xB4            /* clear word */
                    204: #define O_TSTW 0xB5            /* test word */
                    205: #define O_INCW 0xB6            /* increment word */
                    206: #define O_DECW 0xB7            /* decrement word */
                    207: #define O_BISPSW 0xB8          /* bit set processor status word */
                    208: #define O_BICPSW 0xB9          /* bit clear processor status word */
                    209: #define O_POPR 0xBA            /* pop register */
                    210: #define O_PUSHR 0xBB           /* push register */
                    211: #define O_CHMK 0xBC            /* change mode to kernel */
                    212: #define O_CHME 0xBD            /* change mode to executive */
                    213: #define O_CHMS 0xBE            /* change mode to supervisor */
                    214: #define O_CHMU 0xBF            /* change mode to user */
                    215: #define O_ADDL2 0xC0           /* add long 2 operand */
                    216: #define O_ADDL3 0xC1           /* add long 3 operand */
                    217: #define O_SUBL2 0xC2           /* subtract long 2 operand */
                    218: #define O_SUBL3 0xC3           /* subtract long 3 operand */
                    219: #define O_MULL2 0xC4           /* multiply long 2 operand */
                    220: #define O_MULL3 0xC5           /* multiply long 3 operand */
                    221: #define O_DIVL2 0xC6           /* divide long 2 operand */
                    222: #define O_DIVL3 0xC7           /* divide long 3 operand */
                    223: #define O_BISL2 0xC8           /* bit set long 2 operand */
                    224: #define O_BISL3 0xC9           /* bit set long 3 operand */
                    225: #define O_BICL2 0xCA           /* bit clear long 2 operand */
                    226: #define O_BICL3 0xCB           /* bit clear long 3 operand */
                    227: #define O_XORL2 0xCC           /* exclusive or long 2 operand */
                    228: #define O_XORL3 0xCD           /* exclusive or long 3 operand */
                    229: #define O_MNEGL 0xCE           /* move negated long */
                    230: #define O_CASEL 0xCF           /* case long */
                    231: #define O_MOVL 0xD0            /* move long */
                    232: #define O_CMPL 0xD1            /* compare long */
                    233: #define O_MCOML 0xD2           /* move complemented long */
                    234: #define O_BITL 0xD3            /* bit test long */
                    235: #define O_CLRL 0xD4            /* clear long (also CLRF) */
                    236: #define O_TSTL 0xD5            /* test long */
                    237: #define O_INCL 0xD6            /* increment long */
                    238: #define O_DECL 0xD7            /* decrement long */
                    239: #define O_ADWC 0xD8            /* add with carry */
                    240: #define O_SBWC 0xD9            /* subtrace with carry */
                    241: #define O_MTPR 0xDA            /* move to processor register */
                    242: #define O_MFPR 0xDB            /* move from processor register */
                    243: #define O_MOVPSL 0xDC          /* move processor status longword */
                    244: #define O_PUSHL 0xDD           /* push long */
                    245: #define O_MOVAL 0xDE           /* move address of long (also MOVAF) */
                    246: #define O_PUSHAL 0xDF          /* push address of long (also PUSHAF) */
                    247: #define O_BBS 0xE0             /* branch on bit set */
                    248: #define O_BBC 0xE1             /* branch on bit clear */
                    249: #define O_BBSS 0xE2            /* branch on bit set and set */
                    250: #define O_BBCS 0xE3            /* branch on bit clear and set */
                    251: #define O_BBSC 0xE4            /* branch on bit set and clear */
                    252: #define O_BBCC 0xE5            /* branch on bit clear and clear */
                    253: #define O_BBSSI 0xE6           /* branch on bit set and set interlocked */
                    254: #define O_BBCCI 0xE7           /* branch on bit clear and clear interlocked */
                    255: #define O_BLBS 0xE8            /* branch on low bit set */
                    256: #define O_BLBC 0xE9            /* branch on low bit clear */
                    257: #define O_FFS 0xEA             /* find first set bit */
                    258: #define O_FFC 0xEB             /* find first clear bit */
                    259: #define O_CMPV 0xEC            /* compare field */
                    260: #define O_CMPZV 0xED           /* compare zero-extended field */
                    261: #define O_EXTV 0xEE            /* extract field */
                    262: #define O_EXTZV 0xEF           /* extract zero-extended field */
                    263: #define O_INSV 0xF0            /* insert field */
                    264: #define O_ACBL 0xF1            /* add compare and branch long */
                    265: #define O_AOBLSS 0xF2          /* add one and branch on less */
                    266: #define O_AOBLEQ 0xF3          /* add one and branch on less or equal */
                    267: #define O_SOBGEQ 0xF4          /* subtract one and branch on gtr or equal */
                    268: #define O_SOBGTR 0xF5          /* subtract one and branch on greater */
                    269: #define O_CVTLB 0xF6           /* convert long to byte */
                    270: #define O_CVTLW 0xF7           /* convert long to word */
                    271: #define O_ASHP 0xF8            /* arithmetic shift and round packed */
                    272: #define O_CVTLP 0xF9           /* convert long to packed */
                    273: #define O_CALLG 0xFA           /* call with general argument list */
                    274: #define O_CALLS 0xFB           /* call with stack */
                    275: #define O_XFC 0xFC             /* extended function call */
                    276: #define O_ESCD 0xFD            /* ESCD to DIGITAL */
                    277: #define O_ESCE 0xFE            /* ESCE to DIGITAL */
                    278: #define O_ESCF 0xFF            /* ESCF to DIGITAL */
                    279: 
                    280: /*
                    281:  * Opcode definitions.
                    282:  *
                    283:  * Much of this was taken from the assembler.
                    284:  */
                    285: 
                    286: /*
                    287:  * Argument access types.
                    288:  */
                    289: 
                    290: #define ACCA    0100    /* address only */
                    291: #define ACCR    010    /* read */
                    292: #define ACCW    020    /* write */
                    293: #define ACCM    030    /* modify */
                    294: #define ACCB    040    /* branch displacement */
                    295: #define ACCI    050    /* variable field */
                    296: 
                    297: /*
                    298:  * Argument lengths.
                    299:  */
                    300: 
                    301: #define TYPB    0      /* byte */
                    302: #define TYPW    01     /* word */
                    303: #define TYPL    02     /* long */
                    304: #define TYPQ    03     /* quad */
                    305: #define TYPF    04     /* floating */
                    306: #define TYPD    05     /* double floating */
                    307: 
                    308: /*
                    309:  * Addressing modes.
                    310:  */
                    311: 
                    312: #define LITSHORT    0x0        /* short literals */
                    313: #define LITUPTO31   0x1
                    314: #define LITUPTO47   0x2
                    315: #define LITUPTO63   0x3
                    316: #define INDEX       0x4 /* i[r] */
                    317: #define REG        0x5 /* r */
                    318: #define REGDEF      0x6 /* (r) */
                    319: #define AUTODEC     0x7 /* -(r) */
                    320: #define AUTOINC     0x8 /* (r)+ */
                    321: #define AUTOINCDEF  0x9 /* *(r)+ */
                    322: #define BYTEDISP    0xA /* BD(r) */
                    323: #define BYTEDISPDEF 0xB /* *BD(r) */
                    324: #define WORDDISP    0xC /* WD(r) */
                    325: #define WORDDISPDEF 0xD /* *WD(r) */
                    326: #define LONGDISP    0xE /* LD(r) */
                    327: #define LONGDISPDEF 0xF /* *LD(r) */
                    328: 
                    329: #define is_branch_disp(arg) ((arg & ACCB) != 0)
                    330: #define typelen(arg)        (arg & 07)
                    331: #define regnm(mode)        (mode & 0xF)
                    332: #define addrmode(mode)      (mode >> 4)
                    333: 
                    334: /*
                    335:  * Operator information structure.
                    336:  */
                    337: 
                    338: typedef struct {
                    339:     char *iname;
                    340:     char val;
                    341:     char numargs;
                    342:     char argtype[6];
                    343: } Optab;
                    344: 
                    345: #endif
                    346: 
                    347: public Optab optab[] = {
                    348:     {"halt", 0x00, 0, 0, 0, 0, 0, 0, 0}, 
                    349:     {"nop", 0x01, 0, 0, 0, 0, 0, 0, 0}, 
                    350:     {"rei", 0x02, 0, 0, 0, 0, 0, 0, 0}, 
                    351:     {"bpt", 0x03, 0, 0, 0, 0, 0, 0, 0}, 
                    352:     {"ret", 0x04, 0, 0, 0, 0, 0, 0, 0}, 
                    353:     {"rsb", 0x05, 0, 0, 0, 0, 0, 0, 0}, 
                    354:     {"ldpctx", 0x06, 0, 0, 0, 0, 0, 0, 0}, 
                    355:     {"svpctx", 0x07, 0, 0, 0, 0, 0, 0, 0}, 
                    356:     {"cvtps", 0x08, 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
                    357:     {"cvtsp", 0x09, 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
                    358:     {"index", 0x0a, 6, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL}, 
                    359:     {"crc", 0x0b, 4, ACCA+TYPB, ACCR+TYPL, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
                    360:     {"prober", 0x0c, 3, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
                    361:     {"probew", 0x0d, 3, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
                    362:     {"insque", 0x0e, 2, ACCA+TYPB, ACCA+TYPB, 0, 0, 0, 0}, 
                    363:     {"remque", 0x0f, 2, ACCA+TYPB, ACCW+TYPL, 0, 0, 0, 0}, 
                    364:     {"bsbb", 0x10, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    365:     {"brb", 0x11, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    366:     {"bneq", 0x12, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    367:     {"beql", 0x13, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    368:     {"bgtr", 0x14, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    369:     {"bleq", 0x15, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    370:     {"jsb", 0x16, 1, ACCA+TYPB, 0, 0, 0, 0, 0}, 
                    371:     {"jmp", 0x17, 1, ACCA+TYPB, 0, 0, 0, 0, 0}, 
                    372:     {"bgeq", 0x18, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    373:     {"blss", 0x19, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    374:     {"bgtru", 0x1a, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    375:     {"blequ", 0x1b, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    376:     {"bvc", 0x1c, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    377:     {"bvs", 0x1d, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    378:     {"bcc", 0x1e, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    379:     {"bcs", 0x1f, 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
                    380:     {"addp4", 0x20, 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
                    381:     {"addp6", 0x21, 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
                    382:     {"subp4", 0x22, 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
                    383:     {"subp6", 0x23, 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
                    384:     {"cvtpt", 0x24, 5, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0}, 
                    385:     {"mulp", 0x25, 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
                    386:     {"cvttp", 0x26, 5, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0}, 
                    387:     {"divp", 0x27, 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
                    388:     {"movc3", 0x28, 3, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, 0, 0, 0}, 
                    389:     {"cmpc3", 0x29, 3, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, 0, 0, 0}, 
                    390:     {"scanc", 0x2a, 4, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCR+TYPB, 0, 0}, 
                    391:     {"spanc", 0x2b, 4, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCR+TYPB, 0, 0}, 
                    392:     {"movc5", 0x2c, 5, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0}, 
                    393:     {"cmpc5", 0x2d, 5, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0}, 
                    394:     {"movtc", 0x2e, 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
                    395:     {"movtuc", 0x2f, 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
                    396:     {"bsbw", 0x30, 1, ACCB+TYPW, 0, 0, 0, 0, 0}, 
                    397:     {"brw", 0x31, 1, ACCB+TYPW, 0, 0, 0, 0, 0}, 
                    398:     {"cvtwl", 0x32, 2, ACCR+TYPW, ACCW+TYPL, 0, 0, 0, 0}, 
                    399:     {"cvtwb", 0x33, 2, ACCR+TYPW, ACCW+TYPB, 0, 0, 0, 0}, 
                    400:     {"movp", 0x34, 3, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, 0, 0, 0}, 
                    401:     {"cmpp3", 0x35, 3, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, 0, 0, 0}, 
                    402:     {"cvtpl", 0x36, 3, ACCR+TYPW, ACCA+TYPB, ACCW+TYPL, 0, 0, 0}, 
                    403:     {"cmpp4", 0x37, 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
                    404:     {"editpc", 0x38, 4, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCA+TYPB, 0, 0}, 
                    405:     {"matchc", 0x39, 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
                    406:     {"locc", 0x3a, 3, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
                    407:     {"skpc", 0x3b, 3, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
                    408:     {"movzwl", 0x3c, 2, ACCR+TYPW, ACCW+TYPL, 0, 0, 0, 0}, 
                    409:     {"acbw", 0x3d, 4, ACCR+TYPW, ACCR+TYPW, ACCM+TYPW, ACCB+TYPW, 0, 0}, 
                    410:     {"movaw", 0x3e, 2, ACCA+TYPW, ACCW+TYPL, 0, 0, 0, 0}, 
                    411:     {"pushaw", 0x3f, 1, ACCA+TYPW, 0, 0, 0, 0, 0}, 
                    412:     {"addf2", 0x40, 2, ACCR+TYPF, ACCM+TYPF, 0, 0, 0, 0}, 
                    413:     {"addf3", 0x41, 3, ACCR+TYPF, ACCR+TYPF, ACCW+TYPF, 0, 0, 0}, 
                    414:     {"subf2", 0x42, 2, ACCR+TYPF, ACCM+TYPF, 0, 0, 0, 0}, 
                    415:     {"subf3", 0x43, 3, ACCR+TYPF, ACCR+TYPF, ACCW+TYPF, 0, 0, 0}, 
                    416:     {"mulf2", 0x44, 2, ACCR+TYPF, ACCM+TYPF, 0, 0, 0, 0}, 
                    417:     {"mulf3", 0x45, 3, ACCR+TYPF, ACCR+TYPF, ACCW+TYPF, 0, 0, 0}, 
                    418:     {"divf2", 0x46, 2, ACCR+TYPF, ACCM+TYPF, 0, 0, 0, 0}, 
                    419:     {"divf3", 0x47, 3, ACCR+TYPF, ACCR+TYPF, ACCW+TYPF, 0, 0, 0}, 
                    420:     {"cvtfb", 0x48, 2, ACCR+TYPF, ACCW+TYPB, 0, 0, 0, 0}, 
                    421:     {"cvtfw", 0x49, 2, ACCR+TYPF, ACCW+TYPW, 0, 0, 0, 0}, 
                    422:     {"cvtfl", 0x4a, 2, ACCR+TYPF, ACCW+TYPL, 0, 0, 0, 0}, 
                    423:     {"cvtrfl", 0x4b, 2, ACCR+TYPF, ACCW+TYPL, 0, 0, 0, 0}, 
                    424:     {"cvtbf", 0x4c, 2, ACCR+TYPB, ACCW+TYPB, 0, 0, 0, 0}, 
                    425:     {"cvtwf", 0x4d, 2, ACCR+TYPW, ACCW+TYPF, 0, 0, 0, 0}, 
                    426:     {"cvtlf", 0x4e, 2, ACCR+TYPL, ACCW+TYPF, 0, 0, 0, 0}, 
                    427:     {"acbf", 0x4f, 4, ACCR+TYPF, ACCR+TYPF, ACCM+TYPF, ACCB+TYPW, 0, 0}, 
                    428:     {"movf", 0x50, 2, ACCR+TYPF, ACCW+TYPF, 0, 0, 0, 0}, 
                    429:     {"cmpf", 0x51, 2, ACCR+TYPF, ACCR+TYPF, 0, 0, 0, 0}, 
                    430:     {"mnegf", 0x52, 2, ACCR+TYPF, ACCW+TYPF, 0, 0, 0, 0}, 
                    431:     {"tstf", 0x53, 1, ACCR+TYPF, 0, 0, 0, 0, 0}, 
                    432:     {"emodf", 0x54, 5, ACCR+TYPF, ACCR+TYPB, ACCR+TYPF, ACCW+TYPL, ACCW+TYPF, 0}, 
                    433:     {"polyf", 0x55, 3, ACCR+TYPF, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
                    434:     {"cvtfd", 0x56, 2, ACCR+TYPF, ACCW+TYPD, 0, 0, 0, 0}, 
                    435:     {"dummy", 0x57, 0, 0, 0, 0, 0, 0, 0},
                    436:     {"adawi", 0x58, 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
                    437:     {"dummy", 0x59, 0, 0, 0, 0, 0, 0, 0},
                    438:     {"dummy", 0x5a, 0, 0, 0, 0, 0, 0, 0},
                    439:     {"dummy", 0x5b, 0, 0, 0, 0, 0, 0, 0},
                    440:     {"dummy", 0x5c, 0, 0, 0, 0, 0, 0, 0},
                    441:     {"dummy", 0x5d, 0, 0, 0, 0, 0, 0, 0},
                    442:     {"dummy", 0x5e, 0, 0, 0, 0, 0, 0, 0},
                    443:     {"dummy", 0x5f, 0, 0, 0, 0, 0, 0, 0},
                    444:     {"addd2", 0x60, 2, ACCR+TYPD, ACCM+TYPD, 0, 0, 0, 0}, 
                    445:     {"addd3", 0x61, 3, ACCR+TYPD, ACCR+TYPD, ACCW+TYPD, 0, 0, 0}, 
                    446:     {"subd2", 0x62, 2, ACCR+TYPD, ACCM+TYPD, 0, 0, 0, 0}, 
                    447:     {"subd3", 0x63, 3, ACCR+TYPD, ACCR+TYPD, ACCW+TYPD, 0, 0, 0}, 
                    448:     {"muld2", 0x64, 2, ACCR+TYPD, ACCM+TYPD, 0, 0, 0, 0}, 
                    449:     {"muld3", 0x65, 3, ACCR+TYPD, ACCR+TYPD, ACCW+TYPD, 0, 0, 0}, 
                    450:     {"divd2", 0x66, 2, ACCR+TYPD, ACCM+TYPD, 0, 0, 0, 0}, 
                    451:     {"divd3", 0x67, 3, ACCR+TYPD, ACCR+TYPD, ACCR+TYPD, 0, 0, 0}, 
                    452:     {"cvtdb", 0x68, 2, ACCR+TYPD, ACCW+TYPB, 0, 0, 0, 0}, 
                    453:     {"cvtdw", 0x69, 2, ACCR+TYPD, ACCW+TYPW, 0, 0, 0, 0}, 
                    454:     {"cvtdl", 0x6a, 2, ACCR+TYPD, ACCW+TYPL, 0, 0, 0, 0}, 
                    455:     {"cvtrdl", 0x6b, 2, ACCR+TYPD, ACCW+TYPL, 0, 0, 0, 0}, 
                    456:     {"cvtbd", 0x6c, 2, ACCR+TYPB, ACCW+TYPD, 0, 0, 0, 0}, 
                    457:     {"cvtwd", 0x6d, 2, ACCR+TYPW, ACCW+TYPD, 0, 0, 0, 0}, 
                    458:     {"cvtld", 0x6e, 2, ACCR+TYPL, ACCW+TYPD, 0, 0, 0, 0}, 
                    459:     {"acbd", 0x6f, 4, ACCR+TYPD, ACCR+TYPD, ACCM+TYPD, ACCB+TYPW, 0, 0}, 
                    460:     {"movd", 0x70, 2, ACCR+TYPD, ACCW+TYPD, 0, 0, 0, 0}, 
                    461:     {"cmpd", 0x71, 2, ACCR+TYPD, ACCR+TYPD, 0, 0, 0, 0}, 
                    462:     {"mnegd", 0x72, 2, ACCR+TYPD, ACCW+TYPD, 0, 0, 0, 0}, 
                    463:     {"tstd", 0x73, 1, ACCR+TYPD, 0, 0, 0, 0, 0}, 
                    464:     {"emodd", 0x74, 5, ACCR+TYPD, ACCR+TYPB, ACCR+TYPD, ACCW+TYPL, ACCW+TYPD, 0}, 
                    465:     {"polyd", 0x75, 3, ACCR+TYPD, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
                    466:     {"cvtdf", 0x76, 2, ACCR+TYPD, ACCW+TYPF, 0, 0, 0, 0}, 
                    467:     {"dummy0x77", 0x77, 0, 0, 0, 0, 0, 0, 0},
                    468:     {"ashl", 0x78, 3, ACCR+TYPB, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
                    469:     {"ashq", 0x79, 3, ACCR+TYPB, ACCR+TYPQ, ACCW+TYPQ, 0, 0, 0}, 
                    470:     {"emul", 0x7a, 4, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, ACCW+TYPQ, 0, 0}, 
                    471:     {"ediv", 0x7b, 4, ACCR+TYPL, ACCR+TYPQ, ACCW+TYPL, ACCW+TYPL, 0, 0}, 
                    472:     {"clrq", 0x7c, 1, ACCW+TYPD, 0, 0, 0, 0, 0}, 
                    473:     {"movq", 0x7d, 2, ACCR+TYPQ, ACCW+TYPQ, 0, 0, 0, 0}, 
                    474:     {"movaq", 0x7e, 2, ACCA+TYPQ, ACCW+TYPL, 0, 0, 0, 0}, 
                    475:     {"pushaq", 0x7f, 1, ACCA+TYPQ, 0, 0, 0, 0, 0}, 
                    476:     {"addb2", 0x80, 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
                    477:     {"addb3", 0x81, 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
                    478:     {"subb2", 0x82, 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
                    479:     {"subb3", 0x83, 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
                    480:     {"mulb2", 0x84, 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
                    481:     {"mulb3", 0x85, 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
                    482:     {"divb2", 0x86, 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
                    483:     {"divb3", 0x87, 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
                    484:     {"bisb2", 0x88, 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
                    485:     {"bisb3", 0x89, 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
                    486:     {"bicb2", 0x8a, 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
                    487:     {"bicb3", 0x8b, 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
                    488:     {"xorb2", 0x8c, 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
                    489:     {"xorb3", 0x8d, 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
                    490:     {"mnegb", 0x8e, 2, ACCR+TYPB, ACCW+TYPB, 0, 0, 0, 0}, 
                    491:     {"caseb", 0x8f, 3, ACCR+TYPB, ACCR+TYPB, ACCR+TYPB, 0, 0, 0}, 
                    492:     {"movb", 0x90, 2, ACCR+TYPB, ACCW+TYPB, 0, 0, 0, 0}, 
                    493:     {"cmpb", 0x91, 2, ACCR+TYPB, ACCR+TYPB, 0, 0, 0, 0}, 
                    494:     {"mcomb", 0x92, 2, ACCR+TYPB, ACCW+TYPB, 0, 0, 0, 0}, 
                    495:     {"bitb", 0x93, 2, ACCR+TYPB, ACCR+TYPB, 0, 0, 0, 0}, 
                    496:     {"clrb", 0x94, 1, ACCW+TYPB, 0, 0, 0, 0, 0}, 
                    497:     {"tstb", 0x95, 1, ACCR+TYPB, 0, 0, 0, 0, 0}, 
                    498:     {"incb", 0x96, 1, ACCM+TYPB, 0, 0, 0, 0, 0}, 
                    499:     {"decb", 0x97, 1, ACCM+TYPB, 0, 0, 0, 0, 0}, 
                    500:     {"cvtbl", 0x98, 2, ACCR+TYPB, ACCW+TYPL, 0, 0, 0, 0}, 
                    501:     {"cvtbw", 0x99, 2, ACCR+TYPB, ACCW+TYPW, 0, 0, 0, 0}, 
                    502:     {"movzbl", 0x9a, 2, ACCR+TYPB, ACCW+TYPL, 0, 0, 0, 0}, 
                    503:     {"movzbw", 0x9b, 2, ACCR+TYPB, ACCW+TYPW, 0, 0, 0, 0}, 
                    504:     {"rotl", 0x9c, 3, ACCR+TYPB, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
                    505:     {"acbb", 0x9d, 4, ACCR+TYPB, ACCR+TYPB, ACCM+TYPB, ACCB+TYPW, 0, 0}, 
                    506:     {"movab", 0x9e, 2, ACCA+TYPB, ACCW+TYPL, 0, 0, 0, 0}, 
                    507:     {"pushab", 0x9f, 1, ACCA+TYPB, 0, 0, 0, 0, 0}, 
                    508:     {"addw2", 0xa0, 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
                    509:     {"addw3", 0xa1, 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
                    510:     {"subw2", 0xa2, 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
                    511:     {"subw3", 0xa3, 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
                    512:     {"mulw2", 0xa4, 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
                    513:     {"mulw3", 0xa5, 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
                    514:     {"divw2", 0xa6, 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
                    515:     {"divw3", 0xa7, 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
                    516:     {"bisw2", 0xa8, 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
                    517:     {"bisw3", 0xa9, 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
                    518:     {"bicw2", 0xaa, 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
                    519:     {"bicw3", 0xab, 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
                    520:     {"xorw2", 0xac, 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
                    521:     {"xorw3", 0xad, 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
                    522:     {"mnegw", 0xae, 2, ACCR+TYPW, ACCW+TYPL, 0, 0, 0, 0}, 
                    523:     {"casew", 0xaf, 3, ACCR+TYPW, ACCR+TYPW, ACCR+TYPW, 0, 0, 0}, 
                    524:     {"movw", 0xb0, 2, ACCR+TYPW, ACCW+TYPW, 0, 0, 0, 0}, 
                    525:     {"cmpw", 0xb1, 2, ACCR+TYPW, ACCR+TYPW, 0, 0, 0, 0}, 
                    526:     {"mcomw", 0xb2, 2, ACCR+TYPW, ACCW+TYPW, 0, 0, 0, 0}, 
                    527:     {"bitw", 0xb3, 2, ACCR+TYPW, ACCR+TYPW, 0, 0, 0, 0}, 
                    528:     {"clrw", 0xb4, 1, ACCW+TYPW, 0, 0, 0, 0, 0}, 
                    529:     {"tstw", 0xb5, 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
                    530:     {"incw", 0xb6, 1, ACCM+TYPW, 0, 0, 0, 0, 0}, 
                    531:     {"decw", 0xb7, 1, ACCM+TYPW, 0, 0, 0, 0, 0}, 
                    532:     {"bispsw", 0xb8, 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
                    533:     {"bicpsw", 0xb9, 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
                    534:     {"popr", 0xba, 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
                    535:     {"pushr", 0xbb, 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
                    536:     {"chmk", 0xbc, 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
                    537:     {"chme", 0xbd, 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
                    538:     {"chms", 0xbe, 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
                    539:     {"chmu", 0xbf, 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
                    540:     {"addl2", 0xc0, 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
                    541:     {"addl3", 0xc1, 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
                    542:     {"subl2", 0xc2, 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
                    543:     {"subl3", 0xc3, 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
                    544:     {"mull2", 0xc4, 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
                    545:     {"mull3", 0xc5, 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
                    546:     {"divl2", 0xc6, 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
                    547:     {"divl3", 0xc7, 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
                    548:     {"bisl2", 0xc8, 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
                    549:     {"bisl3", 0xc9, 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
                    550:     {"bicl2", 0xca, 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
                    551:     {"bicl3", 0xcb, 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
                    552:     {"xorl2", 0xcc, 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
                    553:     {"xorl3", 0xcd, 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
                    554:     {"mnegl", 0xce, 2, ACCR+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
                    555:     {"casel", 0xcf, 3, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, 0, 0, 0}, 
                    556:     {"movl", 0xd0, 2, ACCR+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
                    557:     {"cmpl", 0xd1, 2, ACCR+TYPL, ACCR+TYPL, 0, 0, 0, 0}, 
                    558:     {"mcoml", 0xd2, 2, ACCR+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
                    559:     {"bitl", 0xd3, 2, ACCR+TYPL, ACCR+TYPL, 0, 0, 0, 0}, 
                    560:     {"clrl", 0xd4, 1, ACCW+TYPL, 0, 0, 0, 0, 0}, 
                    561:     {"tstl", 0xd5, 1, ACCR+TYPL, 0, 0, 0, 0, 0}, 
                    562:     {"incl", 0xd6, 1, ACCM+TYPL, 0, 0, 0, 0, 0}, 
                    563:     {"decl", 0xd7, 1, ACCM+TYPL, 0, 0, 0, 0, 0}, 
                    564:     {"adwc", 0xd8, 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
                    565:     {"sbwc", 0xd9, 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
                    566:     {"mtpr", 0xda, 2, ACCR+TYPL, ACCR+TYPL, 0, 0, 0, 0}, 
                    567:     {"mfpr", 0xdb, 2, ACCR+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
                    568:     {"movpsl", 0xdc, 1, ACCW+TYPL, 0, 0, 0, 0, 0}, 
                    569:     {"pushl", 0xdd, 1, ACCR+TYPL, 0, 0, 0, 0, 0}, 
                    570:     {"moval", 0xde, 2, ACCA+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
                    571:     {"pushal", 0xdf, 1, ACCA+TYPL, 0, 0, 0, 0, 0}, 
                    572:     {"bbs", 0xe0, 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
                    573:     {"bbc", 0xe1, 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
                    574:     {"bbss", 0xe2, 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
                    575:     {"bbcs", 0xe3, 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
                    576:     {"bbsc", 0xe4, 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
                    577:     {"bbcc", 0xe5, 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
                    578:     {"bbssi", 0xe6, 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
                    579:     {"bbcci", 0xe7, 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
                    580:     {"blbs", 0xe8, 2, ACCR+TYPL, ACCB+TYPB, 0, 0, 0, 0}, 
                    581:     {"blbc", 0xe9, 2, ACCR+TYPL, ACCB+TYPB, 0, 0, 0, 0}, 
                    582:     {"ffs", 0xea, 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCW+TYPL, 0, 0}, 
                    583:     {"ffc", 0xeb, 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCW+TYPL, 0, 0}, 
                    584:     {"cmpv", 0xec, 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCR+TYPL, 0, 0}, 
                    585:     {"cmpzv", 0xed, 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCR+TYPL, 0, 0}, 
                    586:     {"extv", 0xee, 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCW+TYPL, 0, 0}, 
                    587:     {"extzv", 0xef, 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCW+TYPL, 0, 0}, 
                    588:     {"insv", 0xf0, 4, ACCR+TYPL, ACCR+TYPL, ACCR+TYPB, ACCW+TYPB, 0, 0}, 
                    589:     {"acbl", 0xf1, 4, ACCR+TYPL, ACCR+TYPL, ACCM+TYPL, ACCB+TYPW, 0, 0}, 
                    590:     {"aoblss", 0xf2, 3, ACCR+TYPL, ACCM+TYPL, ACCB+TYPB, 0, 0, 0}, 
                    591:     {"aobleq", 0xf3, 3, ACCR+TYPL, ACCM+TYPL, ACCB+TYPB, 0, 0, 0}, 
                    592:     {"sobgeq", 0xf4, 2, ACCM+TYPL, ACCB+TYPB, 0, 0, 0, 0}, 
                    593:     {"sobgtr", 0xf5, 2, ACCM+TYPL, ACCB+TYPB, 0, 0, 0, 0}, 
                    594:     {"cvtlb", 0xf6, 2, ACCR+TYPL, ACCW+TYPB, 0, 0, 0, 0}, 
                    595:     {"cvtlw", 0xf7, 2, ACCR+TYPL, ACCW+TYPW, 0, 0, 0, 0}, 
                    596:     {"ashp", 0xf8, 6, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB}, 
                    597:     {"cvtlp", 0xf9, 3, ACCR+TYPL, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
                    598:     {"callg", 0xfa, 2, ACCA+TYPB, ACCA+TYPB, 0, 0, 0, 0}, 
                    599:     {"calls", 0xfb, 2, ACCR+TYPL, ACCA+TYPB, 0, 0, 0, 0}, 
                    600:     {"xfc", 0xfc, 1, ACCI+TYPB, 0, 0, 0, 0, 0}, 
                    601:     {"escd", 0xfd, 0, 0, 0, 0, 0, 0, 0}, 
                    602:     {"esce", 0xfe, 0, 0, 0, 0, 0, 0, 0}, 
                    603:     {"escf", 0xff, 0, 0, 0, 0, 0, 0, 0},
                    604: };
                    605: 
                    606: /*
                    607:  * Register names.
                    608:  */
                    609: 
                    610: public String regname[] = {
                    611:     "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
                    612:     "r8", "r9", "r10","r11","ap", "fp", "sp", "pc"
                    613: };
                    614: 
                    615: /*
                    616:  * Floating point immediate operands.
                    617:  */
                    618: 
                    619: public String fltimm[] = {
                    620:     "0.5", "0.5625", "0.625", "0.6875", "0.75", "0.8125", "0.875", "0.9375",
                    621:     "1.0", "1.125", "1.25", "1.375", "1.5", "1.625", "1.75", "1.875",
                    622:     "2.0", "2.25", "2.5", "2.75", "3.0", "3.25", "3.5", "3.75",
                    623:     "4.0", "4.5", "5.0", "5.5", "6.0", "6.5", "7.0", "7.5",
                    624:     "8.0", "9.0", "10.0", "11.0", "12.0", "13.0", "14.0", "15.0",
                    625:     "16.0", "18.0", "20.0", "22.0", "24.0", "26.0", "28.0", "30.0",
                    626:     "32.0", "36.0", "40.0", "44.0", "48.0", "52.0", "56.0", "60.0",
                    627:     "64.0", "72.0", "80.0", "88.0", "96.0", "104.0", "112.0", "120.0"
                    628: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.