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: };

Defined variables

fltimm defined in line 619; never used
rcsid defined in line 11; never used
regname defined in line 610; never used
sccsid defined in line 8; never used

Defined typedef's

VaxOpcode defined in line 21; never used

Defined macros

ACCA defined in line 290; used 83 times
ACCB defined in line 294; used 36 times
ACCI defined in line 295; used 1 times
ACCM defined in line 293; used 47 times
ACCR defined in line 291; used 318 times
ACCW defined in line 292; used 95 times
AUTODEC defined in line 319; never used
AUTOINC defined in line 320; never used
AUTOINCDEF defined in line 321; never used
BYTEDISP defined in line 322; never used
BYTEDISPDEF defined in line 323; never used
INDEX defined in line 316; never used
LITSHORT defined in line 312; never used
LITUPTO31 defined in line 313; never used
LITUPTO47 defined in line 314; never used
LITUPTO63 defined in line 315; never used
LONGDISP defined in line 326; never used
LONGDISPDEF defined in line 327; never used
O_ACBB defined in line 180; never used
O_ACBD defined in line 134; never used
O_ACBF defined in line 102; never used
O_ACBL defined in line 264; never used
O_ACBW defined in line 84; never used
O_ADAWI defined in line 111; never used
O_ADDB2 defined in line 151; never used
O_ADDB3 defined in line 152; never used
O_ADDD2 defined in line 119; never used
O_ADDD3 defined in line 120; never used
O_ADDF2 defined in line 87; never used
O_ADDF3 defined in line 88; never used
O_ADDL2 defined in line 215; never used
O_ADDL3 defined in line 216; never used
O_ADDP4 defined in line 55; never used
O_ADDP6 defined in line 56; never used
O_ADDW2 defined in line 183; never used
O_ADDW3 defined in line 184; never used
O_ADWC defined in line 239; never used
O_AOBLEQ defined in line 266; never used
O_AOBLSS defined in line 265; never used
O_ASHL defined in line 143; never used
O_ASHP defined in line 271; never used
O_ASHQ defined in line 144; never used
O_BBC defined in line 248; never used
O_BBCC defined in line 252; never used
O_BBCCI defined in line 254; never used
O_BBCS defined in line 250; never used
O_BBS defined in line 247; never used
O_BBSC defined in line 251; never used
O_BBSS defined in line 249; never used
O_BBSSI defined in line 253; never used
O_BCC defined in line 53; never used
O_BCS defined in line 54; never used
O_BEQL defined in line 42; never used
O_BGEQ defined in line 47; never used
O_BGTR defined in line 43; never used
O_BGTRU defined in line 49; never used
O_BICB2 defined in line 161; never used
O_BICB3 defined in line 162; never used
O_BICL2 defined in line 225; never used
O_BICL3 defined in line 226; never used
O_BICPSW defined in line 208; never used
O_BICW2 defined in line 193; never used
O_BICW3 defined in line 194; never used
O_BISB2 defined in line 159; never used
O_BISB3 defined in line 160; never used
O_BISL2 defined in line 223; never used
O_BISL3 defined in line 224; never used
O_BISPSW defined in line 207; never used
O_BISW2 defined in line 191; never used
O_BISW3 defined in line 192; never used
O_BITB defined in line 170; never used
O_BITL defined in line 234; never used
O_BITW defined in line 202; never used
O_BLBC defined in line 256; never used
O_BLBS defined in line 255; never used
O_BLEQ defined in line 44; never used
O_BLEQU defined in line 50; never used
O_BLSS defined in line 48; never used
O_BNEQ defined in line 41; never used
O_BPT defined in line 26; never used
O_BRB defined in line 40; never used
O_BRW defined in line 72; never used
O_BSBB defined in line 39; never used
O_BSBW defined in line 71; never used
O_BVC defined in line 51; never used
O_BVS defined in line 52; never used
O_CALLG defined in line 273; never used
O_CALLS defined in line 274; never used
O_CASEB defined in line 166; never used
O_CASEL defined in line 230; never used
O_CASEW defined in line 198; never used
O_CHME defined in line 212; never used
O_CHMK defined in line 211; never used
O_CHMS defined in line 213; never used
O_CHMU defined in line 214; never used
O_CLRB defined in line 171; never used
O_CLRL defined in line 235; never used
O_CLRQ defined in line 147; never used
O_CLRW defined in line 203; never used
O_CMPB defined in line 168; never used
O_CMPC3 defined in line 64; never used
O_CMPC5 defined in line 68; never used
O_CMPD defined in line 136; never used
O_CMPF defined in line 104; never used
O_CMPL defined in line 232; never used
O_CMPP3 defined in line 76; never used
O_CMPP4 defined in line 78; never used
O_CMPV defined in line 259; never used
O_CMPW defined in line 200; never used
O_CMPZV defined in line 260; never used
O_CRC defined in line 34; never used
O_CVTBD defined in line 131; never used
O_CVTBF defined in line 99; never used
O_CVTBL defined in line 175; never used
O_CVTBW defined in line 176; never used
O_CVTDB defined in line 127; never used
O_CVTDF defined in line 141; never used
O_CVTDL defined in line 129; never used
O_CVTDW defined in line 128; never used
O_CVTFB defined in line 95; never used
O_CVTFD defined in line 109; never used
O_CVTFL defined in line 97; never used
O_CVTFW defined in line 96; never used
O_CVTLB defined in line 269; never used
O_CVTLD defined in line 133; never used
O_CVTLF defined in line 101; never used
O_CVTLP defined in line 272; never used
O_CVTLW defined in line 270; never used
O_CVTPL defined in line 77; never used
O_CVTPS defined in line 31; never used
O_CVTPT defined in line 59; never used
O_CVTRDL defined in line 130; never used
O_CVTRFL defined in line 98; never used
O_CVTSP defined in line 32; never used
O_CVTTP defined in line 61; never used
O_CVTWB defined in line 74; never used
O_CVTWD defined in line 132; never used
O_CVTWF defined in line 100; never used
O_CVTWL defined in line 73; never used
O_DECB defined in line 174; never used
O_DECL defined in line 238; never used
O_DECW defined in line 206; never used
O_DIVB2 defined in line 157; never used
O_DIVB3 defined in line 158; never used
O_DIVD2 defined in line 125; never used
O_DIVD3 defined in line 126; never used
O_DIVF2 defined in line 93; never used
O_DIVF3 defined in line 94; never used
O_DIVL2 defined in line 221; never used
O_DIVL3 defined in line 222; never used
O_DIVP defined in line 62; never used
O_DIVW2 defined in line 189; never used
O_DIVW3 defined in line 190; never used
O_DUMMY57 defined in line 110; never used
O_DUMMY59 defined in line 112; never used
O_DUMMY5a defined in line 113; never used
O_DUMMY5b defined in line 114; never used
O_DUMMY77 defined in line 142; never used
O_EDITPC defined in line 79; never used
O_EDIV defined in line 146; never used
O_EMODD defined in line 139; never used
O_EMODF defined in line 107; never used
O_EMUL defined in line 145; never used
O_ESCD defined in line 276; never used
O_ESCE defined in line 277; never used
O_ESCF defined in line 278; never used
O_EXTV defined in line 261; never used
O_EXTZV defined in line 262; never used
O_FFC defined in line 258; never used
O_FFS defined in line 257; never used
O_HALT defined in line 23; never used
O_INCB defined in line 173; never used
O_INCL defined in line 237; never used
O_INCW defined in line 205; never used
O_INDEX defined in line 33; never used
O_INSQHI defined in line 115; never used
O_INSQTI defined in line 116; never used
O_INSQUE defined in line 37; never used
O_INSV defined in line 263; never used
O_JMP defined in line 46; never used
O_JSB defined in line 45; never used
O_LDPCTX defined in line 29; never used
O_LOCC defined in line 81; never used
O_MATCHC defined in line 80; never used
O_MCOMB defined in line 169; never used
O_MCOML defined in line 233; never used
O_MCOMW defined in line 201; never used
O_MFPR defined in line 242; never used
O_MNEGB defined in line 165; never used
O_MNEGD defined in line 137; never used
O_MNEGF defined in line 105; never used
O_MNEGL defined in line 229; never used
O_MNEGW defined in line 197; never used
O_MOVAB defined in line 181; never used
O_MOVAL defined in line 245; never used
O_MOVAQ defined in line 149; never used
O_MOVAW defined in line 85; never used
O_MOVB defined in line 167; never used
O_MOVC3 defined in line 63; never used
O_MOVC5 defined in line 67; never used
O_MOVD defined in line 135; never used
O_MOVF defined in line 103; never used
O_MOVL defined in line 231; never used
O_MOVP defined in line 75; never used
O_MOVPSL defined in line 243; never used
O_MOVQ defined in line 148; never used
O_MOVTC defined in line 69; never used
O_MOVTUC defined in line 70; never used
O_MOVW defined in line 199; never used
O_MOVZBL defined in line 177; never used
O_MOVZBW defined in line 178; never used
O_MOVZWL defined in line 83; never used
O_MTPR defined in line 241; never used
O_MULB2 defined in line 155; never used
O_MULB3 defined in line 156; never used
O_MULD2 defined in line 123; never used
O_MULD3 defined in line 124; never used
O_MULF2 defined in line 91; never used
O_MULF3 defined in line 92; never used
O_MULL2 defined in line 219; never used
O_MULL3 defined in line 220; never used
O_MULP defined in line 60; never used
O_MULW2 defined in line 187; never used
O_MULW3 defined in line 188; never used
O_NOP defined in line 24; never used
O_POLYD defined in line 140; never used
O_POLYF defined in line 108; never used
O_POPR defined in line 209; never used
O_PROBER defined in line 35; never used
O_PROBEW defined in line 36; never used
O_PUSHAB defined in line 182; never used
O_PUSHAL defined in line 246; never used
O_PUSHAQ defined in line 150; never used
O_PUSHAW defined in line 86; never used
O_PUSHL defined in line 244; never used
O_PUSHR defined in line 210; never used
O_REI defined in line 25; never used
O_REMQHI defined in line 117; never used
O_REMQTI defined in line 118; never used
O_REMQUE defined in line 38; never used
O_RET defined in line 27; never used
O_ROTL defined in line 179; never used
O_RSB defined in line 28; never used
O_SBWC defined in line 240; never used
O_SCANC defined in line 65; never used
O_SKPC defined in line 82; never used
O_SOBGEQ defined in line 267; never used
O_SOBGTR defined in line 268; never used
O_SPANC defined in line 66; never used
O_SUBB2 defined in line 153; never used
O_SUBB3 defined in line 154; never used
O_SUBD2 defined in line 121; never used
O_SUBD3 defined in line 122; never used
O_SUBF2 defined in line 89; never used
O_SUBF3 defined in line 90; never used
O_SUBL2 defined in line 217; never used
O_SUBL3 defined in line 218; never used
O_SUBP4 defined in line 57; never used
O_SUBP6 defined in line 58; never used
O_SUBW2 defined in line 185; never used
O_SUBW3 defined in line 186; never used
O_SVPCTX defined in line 30; never used
O_TSTB defined in line 172; never used
O_TSTD defined in line 138; never used
O_TSTF defined in line 106; never used
O_TSTL defined in line 236; never used
O_TSTW defined in line 204; never used
O_XFC defined in line 275; never used
O_XORB2 defined in line 163; never used
O_XORB3 defined in line 164; never used
O_XORL2 defined in line 227; never used
O_XORL3 defined in line 228; never used
O_XORW2 defined in line 195; never used
O_XORW3 defined in line 196; never used
REG defined in line 317; never used
REGDEF defined in line 318; never used
TYPB defined in line 301; used 211 times
TYPD defined in line 306; used 44 times
TYPF defined in line 305; used 42 times
TYPL defined in line 303; used 137 times
TYPQ defined in line 304; used 8 times
TYPW defined in line 302; used 137 times
WORDDISP defined in line 324; never used
WORDDISPDEF defined in line 325; never used
addrmode defined in line 332; never used
is_branch_disp defined in line 329; never used
regnm defined in line 331; never used
typelen defined in line 330; never used
Last modified: 1985-05-31
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 4180
Valid CSS Valid XHTML 1.0 Strict