DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T m

⟦268381665⟧ TextFile

    Length: 17217 (0x4341)
    Types: TextFile
    Names: »machine.c«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦3f75c1919⟧ »EurOpenD3/utils/decomp.tar.Z« 
        └─⟦510c4d5ee⟧ 
            └─⟦this⟧ »decomp/machine.c« 

TextFile

/*
 * Module: machine.c
 *
 * Author: J. Reuter
 *
 * This module contains the table needed to decode VAX machine
 * instructions.  The instructions are organized in the opcode[]
 * array in ascending opcode order.  This table is adapted from
 * the Unix "adb" program.
 */

#include "defs.h"
#include "machine.h"

struct opcode opcode[] = {
    { MACRO, "halt", 0, 0, 0, 0, 0, 0, 0}, 
    { MACRO, "nop", 0, 0, 0, 0, 0, 0, 0}, 
    { MACRO, "rei", 0, 0, 0, 0, 0, 0, 0}, 
    { MACRO, "bpt", 0, 0, 0, 0, 0, 0, 0}, 
    { OPONLY, "return @value@", 0, 0, 0, 0, 0, 0, 0}, 
    { MACRO, "rsb", 0, 0, 0, 0, 0, 0, 0}, 
    { MACRO, "ldpctx", 0, 0, 0, 0, 0, 0, 0}, 
    { MACRO, "svpctx", 0, 0, 0, 0, 0, 0, 0}, 
    { MACRO, "cvtps", 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
    { MACRO, "cvtsp", 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
    { MACRO, "index", 6, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL}, 
    { MACRO, "crc", 4, ACCA+TYPB, ACCR+TYPL, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
    { MACRO, "prober", 3, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
    { MACRO, "probew", 3, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
    { MACRO, "insque", 2, ACCA+TYPB, ACCA+TYPB, 0, 0, 0, 0}, 
    { MACRO, "remque", 2, ACCA+TYPB, ACCW+TYPL, 0, 0, 0, 0}, 
    { MACRO, "bsbb", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { MACRO, "brb", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { CBRANCH, "bneq", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { CBRANCH, "beql", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { CBRANCH, "bgtr", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { CBRANCH, "bleq", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { MACRO, "jsb", 1, ACCA+TYPB, 0, 0, 0, 0, 0}, 
    { MACRO, "jmp", 1, ACCA+TYPB, 0, 0, 0, 0, 0}, 
    { CBRANCH, "bgeq", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { CBRANCH, "blss", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { CBRANCH, "bgtru", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { CBRANCH, "blequ", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { MACRO, "bvc", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { MACRO, "bvs", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { MACRO, "bcc", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { MACRO, "bcs", 1, ACCB+TYPB, 0, 0, 0, 0, 0}, 
    { MACRO, "addp4", 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
    { MACRO, "addp6", 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
    { MACRO, "subp4", 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
    { MACRO, "subp6", 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
    { MACRO, "cvtpt", 5, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0}, 
    { MACRO, "mulp", 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
    { MACRO, "cvttp", 5, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0}, 
    { MACRO, "divp", 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
    { MACRO, "movc3", 3, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, 0, 0, 0}, 
    { MACRO, "cmpc3", 3, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, 0, 0, 0}, 
    { MACRO, "scanc", 4, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCR+TYPB, 0, 0}, 
    { MACRO, "spanc", 4, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCR+TYPB, 0, 0}, 
    { MACRO, "movc5", 5, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0}, 
    { MACRO, "cmpc5", 5, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0}, 
    { MACRO, "movtc", 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
    { MACRO, "movtuc", 6, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB}, 
    { MACRO, "bsbw", 1, ACCB+TYPW, 0, 0, 0, 0, 0}, 
    { MACRO, "brw", 1, ACCB+TYPW, 0, 0, 0, 0, 0}, 
    { A1OPA0, " = (long)", 2, ACCR+TYPW, ACCW+TYPL, 0, 0, 0, 0}, 
    { A1OPA0, " = (char)", 2, ACCR+TYPW, ACCW+TYPB, 0, 0, 0, 0}, 
    { MACRO, "movp", 3, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, 0, 0, 0}, 
    { MACRO, "cmpp3", 3, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, 0, 0, 0}, 
    { MACRO, "cvtpl", 3, ACCR+TYPW, ACCA+TYPB, ACCW+TYPL, 0, 0, 0}, 
    { MACRO, "cmpp4", 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
    { MACRO, "editpc", 4, ACCR+TYPW, ACCA+TYPB, ACCA+TYPB, ACCA+TYPB, 0, 0}, 
    { MACRO, "matchc", 4, ACCR+TYPW, ACCA+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0}, 
    { MACRO, "locc", 3, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
    { MACRO, "skpc", 3, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
    { A1OPA0, " = (long)", 2, ACCR+TYPUW, ACCW+TYPL, 0, 0, 0, 0}, 
    { BBRANCH, "acbw", 4, ACCR+TYPW, ACCR+TYPW, ACCM+TYPW, ACCB+TYPW, 0, 0}, 
    { A1OPA0, " = &", 2, ACCA+TYPW, ACCW+TYPL, 0, 0, 0, 0}, 
    { PUSHA, "pushaw", 1, ACCA+TYPW, 0, 0, 0, 0, 0}, 
    { A1OPA0, " += ", 2, ACCR+TYPF, ACCM+TYPF, 0, 0, 0, 0}, 
    { A2EQ1OP0, " + ", 3, ACCR+TYPF, ACCR+TYPF, ACCW+TYPF, 0, 0, 0}, 
    { A1OPA0, " -= ", 2, ACCR+TYPF, ACCM+TYPF, 0, 0, 0, 0}, 
    { A2EQ1OP0, " - ", 3, ACCR+TYPF, ACCR+TYPF, ACCW+TYPF, 0, 0, 0}, 
    { A1OPA0, " *= ", 2, ACCR+TYPF, ACCM+TYPF, 0, 0, 0, 0}, 
    { A2EQ1OP0, " * ", 3, ACCR+TYPF, ACCR+TYPF, ACCW+TYPF, 0, 0, 0}, 
    { A1OPA0, " /= ", 2, ACCR+TYPF, ACCM+TYPF, 0, 0, 0, 0}, 
    { A2EQ1OP0, " / ", 3, ACCR+TYPF, ACCR+TYPF, ACCW+TYPF, 0, 0, 0}, 
    { A1OPA0, " = (char)", 2, ACCR+TYPF, ACCW+TYPB, 0, 0, 0, 0}, 
    { A1OPA0, " = (short)", 2, ACCR+TYPF, ACCW+TYPW, 0, 0, 0, 0}, 
    { A1OPA0, " = (long)", 2, ACCR+TYPF, ACCW+TYPL, 0, 0, 0, 0}, 
    { MACRO, "cvtrfl", 2, ACCR+TYPF, ACCW+TYPL, 0, 0, 0, 0}, 
    { A1OPA0, " = (float)", 2, ACCR+TYPB, ACCW+TYPB, 0, 0, 0, 0}, 
    { A1OPA0, " = (float)", 2, ACCR+TYPW, ACCW+TYPF, 0, 0, 0, 0}, 
    { A1OPA0, " = (float)", 2, ACCR+TYPL, ACCW+TYPF, 0, 0, 0, 0}, 
    { BBRANCH, "acbf", 4, ACCR+TYPF, ACCR+TYPF, ACCM+TYPF, ACCB+TYPW, 0, 0}, 
    { A1OPA0, " = ", 2, ACCR+TYPF, ACCW+TYPF, 0, 0, 0, 0}, 
    { COMP, "cmpf", 2, ACCR+TYPF, ACCR+TYPF, 0, 0, 0, 0}, 
    { A1OPA0, " = -", 2, ACCR+TYPF, ACCW+TYPF, 0, 0, 0, 0}, 
    { TEST, "tstf", 1, ACCR+TYPF, 0, 0, 0, 0, 0}, 
    { MACRO, "emodf", 5, ACCR+TYPF, ACCR+TYPB, ACCR+TYPF, ACCW+TYPL, ACCW+TYPF, 0}, 
    { MACRO, "polyf", 3, ACCR+TYPF, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
    { A1OPA0, " = (double)", 2, ACCR+TYPF, ACCW+TYPD, 0, 0, 0, 0}, 
    { MACRO, "dummy", 0, 0, 0, 0, 0, 0, 0},
    { MACRO, "adawi", 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
    { MACRO, "dummy", 0, 0, 0, 0, 0, 0, 0},
    { MACRO, "dummy", 0, 0, 0, 0, 0, 0, 0},
    { MACRO, "dummy", 0, 0, 0, 0, 0, 0, 0},
    { MACRO, "dummy", 0, 0, 0, 0, 0, 0, 0},
    { MACRO, "dummy", 0, 0, 0, 0, 0, 0, 0},
    { MACRO, "dummy", 0, 0, 0, 0, 0, 0, 0},
    { MACRO, "dummy", 0, 0, 0, 0, 0, 0, 0},
    { A1OPA0, " += ", 2, ACCR+TYPD, ACCM+TYPD, 0, 0, 0, 0}, 
    { A2EQ1OP0, " + ", 3, ACCR+TYPD, ACCR+TYPD, ACCW+TYPD, 0, 0, 0}, 
    { A1OPA0, " -= ", 2, ACCR+TYPD, ACCM+TYPD, 0, 0, 0, 0}, 
    { A2EQ1OP0, " - ", 3, ACCR+TYPD, ACCR+TYPD, ACCW+TYPD, 0, 0, 0}, 
    { A1OPA0, " *= ", 2, ACCR+TYPD, ACCM+TYPD, 0, 0, 0, 0}, 
    { A2EQ1OP0, " * ", 3, ACCR+TYPD, ACCR+TYPD, ACCW+TYPD, 0, 0, 0}, 
    { A1OPA0, " /= ", 2, ACCR+TYPD, ACCM+TYPD, 0, 0, 0, 0}, 
    { A2EQ1OP0, " / ", 3, ACCR+TYPD, ACCR+TYPD, ACCR+TYPD, 0, 0, 0}, 
    { A1OPA0, " = (char)", 2, ACCR+TYPD, ACCW+TYPB, 0, 0, 0, 0}, 
    { A1OPA0, " = (short)", 2, ACCR+TYPD, ACCW+TYPW, 0, 0, 0, 0}, 
    { A1OPA0, " = (long)", 2, ACCR+TYPD, ACCW+TYPL, 0, 0, 0, 0}, 
    { MACRO, "cvtrdl", 2, ACCR+TYPD, ACCW+TYPL, 0, 0, 0, 0}, 
    { A1OPA0, " = (double)", 2, ACCR+TYPB, ACCW+TYPD, 0, 0, 0, 0}, 
    { A1OPA0, " = (double)", 2, ACCR+TYPW, ACCW+TYPD, 0, 0, 0, 0}, 
    { A1OPA0, " = (double)", 2, ACCR+TYPL, ACCW+TYPD, 0, 0, 0, 0}, 
    { BBRANCH, "acbd", 4, ACCR+TYPD, ACCR+TYPD, ACCM+TYPD, ACCB+TYPW, 0, 0}, 
    { A1OPA0, " = ", 2, ACCR+TYPD, ACCW+TYPD, 0, 0, 0, 0}, 
    { COMP, "cmpd", 2, ACCR+TYPD, ACCR+TYPD, 0, 0, 0, 0}, 
    { A1OPA0, " = -", 2, ACCR+TYPD, ACCW+TYPD, 0, 0, 0, 0}, 
    { TEST, "tstd", 1, ACCR+TYPD, 0, 0, 0, 0, 0}, 
    { MACRO, "emodd", 5, ACCR+TYPD, ACCR+TYPB, ACCR+TYPD, ACCW+TYPL, ACCW+TYPD, 0}, 
    { MACRO, "polyd", 3, ACCR+TYPD, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
    { A1OPA0, " = (float)", 2, ACCR+TYPD, ACCW+TYPF, 0, 0, 0, 0}, 
    { MACRO, "dummy0x77", 0, 0, 0, 0, 0, 0, 0},
    { A2EQ1OP0, " << ", 3, ACCR+TYPB, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
    { MACRO, "ashq", 3, ACCR+TYPB, ACCR+TYPQ, ACCW+TYPQ, 0, 0, 0}, 
    { MACRO, "emul", 4, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, ACCW+TYPQ, 0, 0}, 
    { MACRO, "ediv", 4, ACCR+TYPL, ACCR+TYPQ, ACCW+TYPL, ACCW+TYPL, 0, 0}, 
    { MACRO, "clrq", 1, ACCW+TYPD, 0, 0, 0, 0, 0}, 
    { MACRO, "movq", 2, ACCR+TYPQ, ACCW+TYPQ, 0, 0, 0, 0}, 
    { MACRO, "movaq", 2, ACCA+TYPQ, ACCW+TYPL, 0, 0, 0, 0}, 
    { MACRO, "pushaq", 1, ACCA+TYPQ, 0, 0, 0, 0, 0}, 
    { A1OPA0, " += ", 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
    { A2EQ1OP0, " + ", 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
    { A1OPA0, " -= ", 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
    { A2EQ1OP0, " - ", 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
    { A1OPA0, " *= ", 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
    { A2EQ1OP0, " * ", 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
    { A1OPA0, " /= ", 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
    { A2EQ1OP0, " / ", 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
    { A1OPA0, " |= ", 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
    { A2EQ1OP0, " | ", 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
    { A1OPA0, " &= ~", 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
    { A2EQ1OP0, " & ~", 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
    { A1OPA0, " ^= ", 2, ACCR+TYPB, ACCM+TYPB, 0, 0, 0, 0}, 
    { A2EQ1OP0, " ^ ", 3, ACCR+TYPB, ACCR+TYPB, ACCW+TYPB, 0, 0, 0}, 
    { A1OPA0, " = -", 2, ACCR+TYPB, ACCW+TYPB, 0, 0, 0, 0}, 
    { MACRO, "caseb", 3, ACCR+TYPB, ACCR+TYPB, ACCR+TYPB, 0, 0, 0}, 
    { A1OPA0, " = ", 2, ACCR+TYPB, ACCW+TYPB, 0, 0, 0, 0}, 
    { COMP, "cmpb", 2, ACCR+TYPB, ACCR+TYPB, 0, 0, 0, 0}, 
    { A1OPA0, " = ~", 2, ACCR+TYPB, ACCW+TYPB, 0, 0, 0, 0}, 
    { MACRO, "bitb", 2, ACCR+TYPB, ACCR+TYPB, 0, 0, 0, 0}, 
    { A0OP, " = 0", 1, ACCW+TYPB, 0, 0, 0, 0, 0}, 
    { TEST, "tstb", 1, ACCR+TYPB, 0, 0, 0, 0, 0}, 
    { A0OP, "++", 1, ACCM+TYPB, 0, 0, 0, 0, 0}, 
    { A0OP, "--", 1, ACCM+TYPB, 0, 0, 0, 0, 0}, 
    { A1OPA0, " = (long)", 2, ACCR+TYPB, ACCW+TYPL, 0, 0, 0, 0}, 
    { A1OPA0, " = (short)", 2, ACCR+TYPB, ACCW+TYPW, 0, 0, 0, 0}, 
    { A1OPA0, " = (long)", 2, ACCR+TYPUB, ACCW+TYPL, 0, 0, 0, 0}, 
    { A1OPA0, " = (short)", 2, ACCR+TYPUB, ACCW+TYPW, 0, 0, 0, 0}, 
    { MACRO, "rotl", 3, ACCR+TYPB, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
    { BBRANCH, "acbb", 4, ACCR+TYPB, ACCR+TYPB, ACCM+TYPB, ACCB+TYPW, 0, 0}, 
    { A1OPA0, " = &", 2, ACCA+TYPB, ACCW+TYPL, 0, 0, 0, 0}, 
    { PUSHA, "pushab", 1, ACCA+TYPB, 0, 0, 0, 0, 0}, 
    { A1OPA0, " += ", 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
    { A2EQ1OP0, " + ", 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
    { A1OPA0, " -= ", 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
    { A2EQ1OP0, " - ", 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
    { A1OPA0, " *= ", 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
    { A2EQ1OP0, " * ", 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
    { A1OPA0, " /= ", 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
    { A2EQ1OP0, " / ", 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
    { A1OPA0, " |= ", 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
    { A2EQ1OP0, " | ", 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
    { A1OPA0, " &= ~", 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
    { A2EQ1OP0, " & ~", 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
    { A1OPA0, " ^= ", 2, ACCR+TYPW, ACCM+TYPW, 0, 0, 0, 0}, 
    { A2EQ1OP0, " ^ ", 3, ACCR+TYPW, ACCR+TYPW, ACCW+TYPW, 0, 0, 0}, 
    { A1OPA0, " = -", 2, ACCR+TYPW, ACCW+TYPL, 0, 0, 0, 0}, 
    { MACRO, "casew", 3, ACCR+TYPW, ACCR+TYPW, ACCR+TYPW, 0, 0, 0}, 
    { A1OPA0, " = ", 2, ACCR+TYPW, ACCW+TYPW, 0, 0, 0, 0}, 
    { COMP, "cmpw", 2, ACCR+TYPW, ACCR+TYPW, 0, 0, 0, 0}, 
    { A1OPA0, " = ~", 2, ACCR+TYPW, ACCW+TYPW, 0, 0, 0, 0}, 
    { MACRO, "bitw", 2, ACCR+TYPW, ACCR+TYPW, 0, 0, 0, 0}, 
    { A0OP, " = 0", 1, ACCW+TYPW, 0, 0, 0, 0, 0}, 
    { TEST, "tstw", 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
    { A0OP, "++", 1, ACCM+TYPW, 0, 0, 0, 0, 0}, 
    { A0OP, "--", 1, ACCM+TYPW, 0, 0, 0, 0, 0}, 
    { MACRO, "bispsw", 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
    { MACRO, "bicpsw", 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
    { MACRO, "popr", 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
    { MACRO, "pushr", 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
    { MACRO, "chmk", 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
    { MACRO, "chme", 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
    { MACRO, "chms", 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
    { MACRO, "chmu", 1, ACCR+TYPW, 0, 0, 0, 0, 0}, 
    { A1OPA0, " += ", 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
    { A2EQ1OP0, " + ", 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
    { A1OPA0, " -= ", 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
    { A2EQ1OP0, " - ", 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
    { A1OPA0, " *= ", 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
    { A2EQ1OP0, " * ", 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
    { A1OPA0, " /= ", 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
    { A2EQ1OP0, " / ", 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
    { A1OPA0, " |= ", 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
    { A2EQ1OP0, " | ", 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
    { A1OPA0, " &= ~", 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
    { A2EQ1OP0, " & ~", 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
    { A1OPA0, " ^= ", 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
    { A2EQ1OP0, " ^ ", 3, ACCR+TYPL, ACCR+TYPL, ACCW+TYPL, 0, 0, 0}, 
    { A1OPA0, " = -", 2, ACCR+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
    { MACRO, "casel", 3, ACCR+TYPL, ACCR+TYPL, ACCR+TYPL, 0, 0, 0}, 
    { A1OPA0, " = ", 2, ACCR+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
    { COMP, "cmpl", 2, ACCR+TYPL, ACCR+TYPL, 0, 0, 0, 0}, 
    { A1OPA0, " = ~", 2, ACCR+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
    { MACRO, "bitl", 2, ACCR+TYPL, ACCR+TYPL, 0, 0, 0, 0}, 
    { A0OP, " = 0", 1, ACCW+TYPL, 0, 0, 0, 0, 0}, 
    { TEST, "tstl", 1, ACCR+TYPL, 0, 0, 0, 0, 0}, 
    { A0OP, "++", 1, ACCM+TYPL, 0, 0, 0, 0, 0}, 
    { A0OP, "--", 1, ACCM+TYPL, 0, 0, 0, 0, 0}, 
    { MACRO, "adwc", 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
    { MACRO, "sbwc", 2, ACCR+TYPL, ACCM+TYPL, 0, 0, 0, 0}, 
    { MACRO, "mtpr", 2, ACCR+TYPL, ACCR+TYPL, 0, 0, 0, 0}, 
    { MACRO, "mfpr", 2, ACCR+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
    { MACRO, "movpsl", 1, ACCW+TYPL, 0, 0, 0, 0, 0}, 
    { PUSH, "pushl", 1, ACCR+TYPL, 0, 0, 0, 0, 0}, 
    { A1OPA0, " = &", 2, ACCA+TYPL, ACCW+TYPL, 0, 0, 0, 0}, 
    { PUSHA, "pushal", 1, ACCA+TYPL, 0, 0, 0, 0, 0}, 
    { BBRANCH, "bbs", 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "bbc", 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "bbss", 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "bbcs", 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "bbsc", 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "bbcc", 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "bbssi", 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "bbcci", 3, ACCR+TYPL, ACCR+TYPB, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "blbs", 2, ACCR+TYPL, ACCB+TYPB, 0, 0, 0, 0}, 
    { BBRANCH, "blbc", 2, ACCR+TYPL, ACCB+TYPB, 0, 0, 0, 0}, 
    { MACRO, "ffs", 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCW+TYPL, 0, 0}, 
    { MACRO, "ffc", 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCW+TYPL, 0, 0}, 
    { MACRO, "cmpv", 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCR+TYPL, 0, 0}, 
    { COMP, "cmpzv", 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCR+TYPL, 0, 0}, 
    { MACRO, "extv", 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCW+TYPL, 0, 0}, 
    { EXTZV, "extzv", 4, ACCR+TYPL, ACCR+TYPB, ACCR+TYPB, ACCW+TYPL, 0, 0}, 
    { MACRO, "insv", 4, ACCR+TYPL, ACCR+TYPL, ACCR+TYPB, ACCW+TYPB, 0, 0}, 
    { BBRANCH, "acbl", 4, ACCR+TYPL, ACCR+TYPL, ACCM+TYPL, ACCB+TYPW, 0, 0}, 
    { BBRANCH, "aoblss", 3, ACCR+TYPL, ACCM+TYPL, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "aobleq", 3, ACCR+TYPL, ACCM+TYPL, ACCB+TYPB, 0, 0, 0}, 
    { BBRANCH, "sobgeq", 2, ACCM+TYPL, ACCB+TYPB, 0, 0, 0, 0}, 
    { BBRANCH, "sobgtr", 2, ACCM+TYPL, ACCB+TYPB, 0, 0, 0, 0}, 
    { A1OPA0, " = (char)", 2, ACCR+TYPL, ACCW+TYPB, 0, 0, 0, 0}, 
    { A1OPA0, " = (short)", 2, ACCR+TYPL, ACCW+TYPW, 0, 0, 0, 0}, 
    { MACRO, "ashp", 6, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB, ACCR+TYPB, ACCR+TYPW, ACCA+TYPB}, 
    { MACRO, "cvtlp", 3, ACCR+TYPL, ACCR+TYPW, ACCA+TYPB, 0, 0, 0}, 
    { MACRO, "callg", 2, ACCA+TYPB, ACCA+TYPS, 0, 0, 0, 0}, 
    { CALLS, "calls", 2, ACCR+TYPL, ACCA+TYPS, 0, 0, 0, 0}, 
    { MACRO, "xfc", 1, ACCI+TYPB, 0, 0, 0, 0, 0}, 
    { MACRO, "escd", 0, 0, 0, 0, 0, 0, 0}, 
    { MACRO, "esce", 0, 0, 0, 0, 0, 0, 0}, 
    { MACRO, "escf", 0, 0, 0, 0, 0, 0, 0},
};

/*
 * Floating point immediate operands.
 */
char *fltimm[] = {
    "0.5", "0.5625", "0.625", "0.6875", "0.75", "0.8125", "0.875", "0.9375",
    "1.0", "1.125", "1.25", "1.375", "1.5", "1.625", "1.75", "1.875",
    "2.0", "2.25", "2.5", "2.75", "3.0", "3.25", "3.5", "3.75",
    "4.0", "4.5", "5.0", "5.5", "6.0", "6.5", "7.0", "7.5",
    "8.0", "9.0", "10.0", "11.0", "12.0", "13.0", "14.0", "15.0",
    "16.0", "18.0", "20.0", "22.0", "24.0", "26.0", "28.0", "30.0",
    "32.0", "36.0", "40.0", "44.0", "48.0", "52.0", "56.0", "60.0",
    "64.0", "72.0", "80.0", "88.0", "96.0", "104.0", "112.0", "120.0"
};