Back to index

cell-binutils  2.17cvs20070401
tahoe.h
Go to the documentation of this file.
00001 /*
00002  * Ported by the State University of New York at Buffalo by the Distributed
00003  * Computer Systems Lab, Department of Computer Science, 1991.
00004  */
00005 
00006 #ifndef tahoe_opcodeT
00007 #define tahoe_opcodeT int
00008 #endif /* no tahoe_opcodeT */
00009 
00010 struct vot_wot                  /* tahoe opcode table: wot to do with this */
00011                                 /* particular opcode */
00012 {
00013   char *            args;       /* how to compile said opcode */
00014   tahoe_opcodeT       code;     /* op-code (may be > 8 bits!) */
00015 };
00016 
00017 struct vot                      /* tahoe opcode text */
00018 {
00019   char *            name;       /* opcode name: lowercase string  [key]  */
00020   struct vot_wot    detail;     /* rest of opcode table          [datum] */
00021 };
00022 
00023 #define vot_how args
00024 #define vot_code code
00025 #define vot_detail detail
00026 #define vot_name name
00027 
00028 static struct vot
00029 votstrs[] =
00030 {
00031 {    "halt",  {"",                 0x00   } },
00032 {    "sinf",    {"",                    0x05    } },
00033 {    "ldf",     {"rl",                  0x06    } },
00034 {    "ldd",     {"rq",                  0x07    } },
00035 {    "addb2", {"rbmb",             0x08   } },
00036 {    "movb",  {"rbwb",             0x09   } },
00037 {    "addw2", {"rwmw",             0x0a   } },
00038 {    "movw",  {"rwww",             0x0b   } },
00039 {    "addl2", {"rlml",             0x0c   } },
00040 {    "movl",  {"rlwl",             0x0d   } },
00041 {    "bbs",   {"rlvlbw",           0x0e   } },
00042 {    "nop",     {"",                    0x10    } },
00043 {    "brb",   {"bb",               0x11   } },
00044 {    "brw",   {"bw",               0x13   } },
00045 {    "cosf",    {"",                    0x15    } },
00046 {    "lnf",     {"rl",                  0x16    } },
00047 {    "lnd",     {"rq",                  0x17    } },
00048 {    "addb3", {"rbrbwb",           0x18   } },
00049 {    "cmpb",  {"rbwb",             0x19   } }, 
00050 {    "addw3", {"rwrwww",           0x1a   } },
00051 {    "cmpw",  {"rwww",             0x1b   } },
00052 {    "addl3", {"rlrlwl",           0x1c   } },
00053 {    "cmpl",  {"rlwl",             0x1d   } },
00054 {    "bbc",   {"rlvlbw",           0x1e   } },
00055 {    "rei",   {"",                 0x20   } },
00056 {    "bneq",  {"bb",               0x21   } },
00057 {    "bnequ", {"bb",               0x21   } },
00058 {    "cvtwl", {"rwwl",             0x23   } },
00059 {    "stf",     {"wl",                  0x26    } },
00060 {    "std",     {"wq",                  0x27    } },
00061 {    "subb2", {"rbmb",             0x28   } },
00062 {    "mcomb", {"rbwb",             0x29   } },
00063 {    "subw2", {"rwmw",             0x2a   } },
00064 {    "mcomw", {"rwww",             0x2b   } },
00065 {    "subl2",   {"rlml",                0x2c    } },
00066 {    "mcoml",   {"rlwl",                0x2d    } },
00067 {    "emul",  {"rlrlrlwq",         0x2e   } },
00068 {    "aoblss",       {"rlmlbw",           0x2f   } },
00069 {    "bpt",   {"",                 0x30   } },
00070 {    "beql",  {"bb",               0x31   } },
00071 {    "beqlu", {"bb",               0x31   } },
00072 {    "cvtwb", {"rwwb",             0x33   } },
00073 {    "logf",    {"",                    0x35    } },
00074 {    "cmpf",    {"rl",                  0x36    } },
00075 {    "cmpd",    {"rq",                  0x37    } },
00076 {    "subb3", {"rbrbwb",           0x38   } },
00077 {    "bitb",  {"rbrb",             0x39   } },
00078 {    "subw3", {"rwrwww",           0x3a   } },
00079 {    "bitw",  {"rwrw",             0x3b   } },
00080 {    "subl3", {"rlrlwl",           0x3c   } },
00081 {    "bitl",  {"rlrl",             0x3d   } },
00082 {    "ediv",  {"rlrqwlwl",         0x3e   } },
00083 {    "aobleq",       {"rlmlbw",           0x3f   } },
00084 {    "ret",   {"",                 0x40   } },
00085 {    "bgtr",  {"bb",               0x41   } },
00086 {    "sqrtf",   {"",                    0x45    } },
00087 {    "cmpf2",   {"rl",                  0x46    } },
00088 {    "cmpd2",   {"rqrq",                0x47    } },
00089 {    "shll",    {"rbrlwl",              0x48    } },
00090 {    "clrb",  {"wb",               0x49   } },
00091 {    "shlq",  {"rbrqwq",           0x4a   } },
00092 {    "clrw",  {"ww",               0x4b   } },
00093 {    "mull2", {"rlml",             0x4c   } },
00094 {    "clrl",  {"wl",               0x4d   } },
00095 {    "shal",    {"rbrlwl",         0x4e   } },
00096 {    "bleq",  {"bb",               0x51   } },
00097 {    "expf",    {"",                    0x55    } },
00098 {    "tstf",    {"",                    0x56    } },
00099 {    "tstd",    {"",                    0x57    } },
00100 {    "shrl",    {"rbrlwl",         0x58   } },
00101 {    "tstb",  {"rb",               0x59   } },
00102 {    "shrq",    {"rbrqwq",         0x5a   } },
00103 {    "tstw",  {"rw",               0x5b   } },
00104 {    "mull3", {"rlrlwl",           0x5c   } },
00105 {    "tstl",  {"rl",               0x5d   } },
00106 {    "shar",  {"rbrlwl",           0x5e   } },
00107 {    "bbssi", {"rlmlbw",           0x5f   } },
00108 {    "ldpctx",       {"",                 0x60   } },
00109 {    "pushd",   {"",                    0x67    } },
00110 {    "incb",  {"mb",               0x69   } },
00111 {    "incw",  {"mw",               0x6b   } },
00112 {    "divl2", {"rlml",             0x6c   } },
00113 {    "incl",  {"ml",               0x6d   } },
00114 {    "cvtlb", {"rlwb",             0x6f   } },
00115 {    "svpctx",       {"",                 0x70   } },
00116 {    "jmp",   {"ab",               0x71   } },
00117 {    "cvlf",    {"rl",                  0x76    } },
00118 {    "cvld",    {"rl",                  0x77    } },
00119 {    "decb",  {"mb",               0x79   } },
00120 {    "decw",  {"mw",               0x7b   } },
00121 {    "divl3", {"rlrlwl",           0x7c   } },
00122 {    "decl",  {"ml",               0x7d   } },
00123 {    "cvtlw", {"rlww",             0x7f   } },
00124 {    "bgeq",  {"bb",               0x81   } },
00125 {    "movs2", {"abab",             0x82   } },
00126 {    "cvfl",    {"wl",                  0x86    } },
00127 {    "cvdl",    {"wl",                  0x87    } },
00128 {    "orb2",  {"rbmb",             0x88   } },
00129 {    "cvtbl", {"rbwl",             0x89   } },
00130 {    "orw2",  {"rwmw",             0x8a   } },
00131 {    "bispsw",       {"rw",               0x8b   } },
00132 {    "orl2",    {"rlml",                0x8c    } },
00133 {    "adwc",  {"rlml",             0x8d   } },
00134 {    "adda",  {"rlml",             0x8e   } },
00135 {    "blss",  {"bb",               0x91   } },
00136 {    "cmps2",   {"abab",           0x92   } },
00137 {    "ldfd",    {"rl",                  0x97    } },
00138 {    "orb3",  {"rbrbwb",           0x98   } },
00139 {    "cvtbw", {"rbww",             0x99   } },
00140 {    "orw3",         {"rwrwww",           0x9a   } },
00141 {    "bicpsw",       {"rw",               0x9b   } },
00142 {    "orl3",    {"rlrlwl",              0x9c    } },
00143 {    "sbwc",  {"rlml",             0x9d   } },
00144 {    "suba",    {"rlml",                0x9e    } },
00145 {    "bgtru", {"bb",               0xa1   } },
00146 {    "cvdf",    {"",                    0xa6    } },
00147 {    "andb2",   {"rbmb",           0xa8    } },
00148 {    "movzbl",       {"rbwl",             0xa9   } },
00149 {    "andw2",   {"rwmw",           0xaa    } },
00150 {    "loadr",   {"rwal",           0xab   } },
00151 {    "andl2",   {"rlml",           0xac    } },
00152 {    "mtpr",  {"rlrl",             0xad   } },
00153 {    "ffs",   {"rlwl",             0xae   } },
00154 {    "blequ", {"bb",               0xb1   } },
00155 {    "negf",    {"",                    0xb6    } },
00156 {    "negd",    {"",                    0xb7    } },
00157 {    "andb3",   {"rbrbwb",              0xb8    } },
00158 {    "movzbw",       {"rbww",             0xb9   } },
00159 {    "andw3",   {"rwrwww",         0xba    } },
00160 {    "storer",  {"rwal",                0xbb    } },
00161 {    "andl3",   {"rlrlwl",         0xbc    } },
00162 {    "mfpr",  {"rlwl",             0xbd   } },
00163 {    "ffc",   {"rlwl",             0xbe   } },
00164 {    "calls", {"rbab",             0xbf   } },
00165 {    "prober",       {"rbabrl",           0xc0   } },
00166 {    "bvc",   {"bb",               0xc1   } },
00167 {    "movs3", {"ababrw",           0xc2   } },
00168 {    "movzwl",       {"rwwl",             0xc3   } },
00169 {    "addf",    {"rl",                  0xc6    } },
00170 {    "addd",    {"rq",                  0xc7    } },
00171 {    "xorb2",   {"rbmb",                0xc8    } },
00172 {    "movob",   {"rbwb",                0xc9    } },
00173 {    "xorw2",   {"rwmw",                0xca    } },
00174 {    "movow",   {"rwww",                0xcb     } },
00175 {    "xorl2", {"rlml",                0xcc    } },
00176 {    "movpsl",  {"wl",                  0xcd    } },
00177 {    "kcall",   {"rw",                    0xcf   } },
00178 {    "probew",  {"rbabrl",         0xd0   } },
00179 {    "bvs",     {"bb",                    0xd1   } },
00180 {    "cmps3",   {"ababrw",         0xd2   } },
00181 {    "subf",    {"rq",                  0xd6    } },
00182 {    "subd",    {"rq",                  0xd7    } },
00183 {    "xorb3", {"rbrbwb",           0xd8   } },
00184 {    "pushb",   {"rb",                    0xd9   } },
00185 {    "xorw3", {"rwrwww",           0xda   } },
00186 {    "pushw",   {"rw",                    0xdb   } },
00187 {    "xorl3", {"rlrlwl",           0xdc   } },
00188 {    "pushl", {"rl",               0xdd   } },
00189 {    "insque",       {"abab",             0xe0   } },
00190 {    "bcs",   {"bb",               0xe1   } },
00191 {    "bgequ", {"bb",               0xe1   } },
00192 {    "mulf",    {"rq",                  0xe6    } },
00193 {    "muld",    {"rq",                  0xe7    } },
00194 {    "mnegb", {"rbwb",             0xe8   } },
00195 {    "movab", {"abwl",             0xe9   } },
00196 {    "mnegw", {"rwww",             0xea   } },
00197 {    "movaw", {"awwl",             0xeb   } },
00198 {    "mnegl", {"rlwl",             0xec   } },
00199 {    "moval", {"alwl",             0xed   } },
00200 {    "remque",       {"ab",               0xf0   } },
00201 {    "bcc",   {"bb",               0xf1   } },
00202 {    "blssu", {"bb",               0xf1   } },
00203 {    "divf",    {"rq",                  0xf6    } },
00204 {    "divd",    {"rq",                  0xf7    } },
00205 {    "movblk",  {"alalrw",              0xf8     } },
00206 {    "pushab",       {"ab",               0xf9   } },
00207 {    "pushaw",       {"aw",               0xfb   } },
00208 {    "casel", {"rlrlrl",           0xfc   } },
00209 {    "pushal",       {"al",               0xfd   } },
00210 {    "callf", {"rbab",             0xfe   } },
00211 {      ""       ,   ""          } /* empty is end sentinel */
00212 
00213 };