1 /* table.c 1.1 86/07/20 */ 2 3 #include "../tahoealign/align.h" 4 /* WARNING !!! Do not use register 6 and register 7 in any of the emulation 5 * code. The macro Set_psl has use these two registers to set the 6 * user psl to the current kernel psl. 7 * 8 */ 9 10 #define insque cannot_do /* Can't emulate un-interruptable opcode ! */ 11 #define remque cannot_do /* Can't emulate un-interruptable opcode ! */ 12 #define addb2 add2 13 #define addb3 add3 14 #define addl2 add2 15 #define addl3 add3 16 #define addw2 add2 17 #define addw3 add3 18 #define andb2 and2 19 #define andb3 and3 20 #define andl2 and2 21 #define andl3 and3 22 #define andw2 and2 23 #define andw3 and3 24 #define atanf not_needed 25 #define kcall cannot_do /* Too complicated to emulate completely */ 26 #define bbssi cannot_do /* Interlock memory during emulation ??? */ 27 #define bcc not_needed 28 #define bcs not_needed 29 #define beql not_needed 30 #define bgeq not_needed 31 #define bgtr not_needed 32 #define bgtru not_needed 33 #define bitb bit 34 #define bitl bit 35 #define bitw bit 36 #define bleq not_needed 37 #define blequ not_needed 38 #define blss not_needed 39 #define bnequ not_needed 40 #define bpt not_needed 41 #define brb not_needed 42 #define brw not_needed 43 #define bvc not_needed 44 #define bvs not_needed 45 #define callf not_needed 46 #define calls not_needed 47 #define clrb clr 48 #define clrl clr 49 #define clrw clr 50 #define cmpb cmp 51 #define cmpl cmp 52 #define cmps2 not_needed 53 #define cmps3 not_needed 54 #define cmpw cmp 55 #define cosf not_needed 56 #define cvdf not_needed 57 #define cvtbl cvt 58 #define cvtbw cvt 59 #define cvtwl cvt 60 #define cvtwb cvtlb 61 #define decb dec 62 #define decl dec 63 #define decw dec 64 #define expf not_needed 65 #define ffs ffs_op 66 #define incb inc 67 #define incl inc 68 #define incw inc 69 #define ldpctx not_needed 70 #define logf not_needed 71 #define mcomb mcom 72 #define mcoml mcom 73 #define mcomw mcom 74 #define mnegb mneg 75 #define mnegl mneg 76 #define mnegw mneg 77 #define movab mova 78 #define moval mova 79 #define movaw mova 80 #define movow cannot_do /* 2 X movob != movow !! See any HW spec ! */ 81 #define movob movob_op 82 #define movb mov 83 #define movblk not_needed 84 #define movl mov 85 #define movs2 not_needed 86 #define movs3 not_needed 87 #define movw mov 88 #define negd not_needed 89 #define negf not_needed 90 #define nop not_needed 91 #define orb2 or2 92 #define orb3 or3 93 #define orl2 or2 94 #define orl3 or3 95 #define orw2 or2 96 #define orw3 or3 97 #define pushab pusha 98 #define pushal pusha 99 #define pushaw pusha 100 #define pushb pushx 101 #define pushd not_needed 102 #define pushl pushx 103 #define pushw pushx 104 #define rei not_needed 105 #define ret not_needed 106 #define sinf not_needed 107 #define sqrtf not_needed 108 #define subb2 sub2 109 #define subb3 sub3 110 #define subl2 sub2 111 #define subl3 sub3 112 #define subw2 sub2 113 #define subw3 sub3 114 #define svpctx not_needed 115 #define tstb tst 116 #define tstd not_needed 117 #define tstf not_needed 118 #define tstl tst 119 #define tstw tst 120 #define xorb2 xor2 121 #define xorb3 xor3 122 #define xorl2 xor2 123 #define xorl3 xor3 124 #define xorw2 xor2 125 #define xorw3 xor3 126 #define movzbl movzb 127 #define movzbw movzb 128 #define halt not_needed /* Privileged to user */ 129 #define illegal not_needed /* Should be trapped by HW */ 130 #define mtpr not_needed /* Privileged to user */ 131 #define mfpr not_needed /* Privileged to user */ 132 #define btcs not_needed /* Privileged to user */ 133 134 int add2(); 135 int add3(); 136 int adda(); 137 int addd(); 138 int addf(); 139 int adwc(); 140 int and2(); 141 int and3(); 142 int aobleq(); 143 int aoblss(); 144 int bbc(); 145 int bbs(); 146 int bbssi(); 147 int bcc(); 148 int bcs(); 149 int beql(); 150 int bgeq(); 151 int bgtr(); 152 int bgtru(); 153 int bicpsw(); 154 int bispsw(); 155 int bit(); 156 int bleq(); 157 int blequ(); 158 int blss(); 159 int bnequ(); 160 int btcs(); 161 int bvc(); 162 int bvs(); 163 int call(); 164 int casel(); 165 int clr(); 166 int cmp(); 167 int cmpd(); 168 int cmpd2(); 169 int cmpf(); 170 int cmpf2(); 171 int cvdl(); 172 int cvfl(); 173 int cvld(); 174 int cvlf(); 175 int cvt(); 176 int cvt(); 177 int cvtlb(); 178 int cvtlw(); 179 int dec(); 180 int divd(); 181 int divf(); 182 int divl2(); 183 int divl3(); 184 int ediv(); 185 int emul(); 186 int ffc(); 187 int ffs_op(); 188 int halt(); 189 int illegal(); 190 int inc(); 191 int insque(); 192 int jmp(); 193 int kcall(); 194 int ldd(); 195 int ldf(); 196 int ldfd(); 197 int lnd(); 198 int lnf(); 199 int loadr(); 200 int mcom(); 201 int mfpr(); 202 int mneg(); 203 int mov(); 204 int mova(); 205 int movob_op(); 206 int movow(); 207 int movpsl(); 208 int movzb(); 209 int movzwl(); 210 int mtpr(); 211 int muld(); 212 int mulf(); 213 int mull2(); 214 int mull3(); 215 int or2(); 216 int or3(); 217 int prober(); 218 int probew(); 219 int pusha(); 220 int pushx(); 221 int remque(); 222 int sbwc(); 223 int shal(); 224 int shar(); 225 int shll(); 226 int shlq(); 227 int shrl(); 228 int shrq(); 229 int std(); 230 int stf(); 231 int storer(); 232 int sub2(); 233 int sub3(); 234 int suba(); 235 int subd(); 236 int subf(); 237 int tst(); 238 int xor2(); 239 int xor3(); 240 int not_needed(); 241 242 243 /**************************************************/ 244 /* The great opcodes table, it drives everything */ 245 /**************************************************/ 246 247 struct opcode_des Table[]= { 248 249 /* 00 */ halt , 0, 0, 0, 0, 0, 0, 0, 0, 250 /* 01 */ halt , 0, 0, 0, 0, 0, 0, 0, 0, 251 /* 02 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 252 /* 03 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 253 /* 04 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 254 /* 05 */ sinf , 0, 0, 0, 0, 0, 0, 0, 0, 255 /* 06 */ ldf ,RADF, 4, 0, 0, 0, 0, 0, 0, 256 /* 07 */ ldd ,RADF, 8, 0, 0, 0, 0, 0, 0, 257 /* 08 */ addb2 ,RADI, 1, MAD, 1, 0, 0, 0, 0, 258 /* 09 */ movb ,RADI, 1,NWAD, 1, 0, 0, 0, 0, 259 /* 0A */ addw2 ,RADI, 2, MAD, 2, 0, 0, 0, 0, 260 /* 0B */ movw ,RADI, 2,NWAD, 2, 0, 0, 0, 0, 261 /* 0C */ addl2 ,RADI, 4, MAD, 4, 0, 0, 0, 0, 262 /* 0D */ movl ,RADI, 4,NWAD, 4, 0, 0, 0, 0, 263 /* 0E */ bbs ,RADI, 4, RAD, 4, Brd, 2, 0, 0, 264 /* 0F */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 265 /* 10 */ nop , 0, 0, 0, 0, 0, 0, 0, 0, 266 /* 11 */ brb , Brd, 1, 0, 0, 0, 0, 0, 0, 267 /* 12 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 268 /* 13 */ brw , Brd, 2, 0, 0, 0, 0, 0, 0, 269 /* 14 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 270 /* 15 */ cosf , 0, 0, 0, 0, 0, 0, 0, 0, 271 /* 16 */ lnf ,RADF, 4, 0, 0, 0, 0, 0, 0, 272 /* 17 */ lnd ,RADF, 8, 0, 0, 0, 0, 0, 0, 273 /* 18 */ addb3 ,RADI, 1,RADI, 1, WAD, 1, 0, 0, 274 /* 19 */ cmpb ,RADI, 1,RADI, 1, 0, 0, 0, 0, 275 /* 1A */ addw3 ,RADI, 2,RADI, 2, WAD, 2, 0, 0, 276 /* 1B */ cmpw ,RADI, 2,RADI, 2, 0, 0, 0, 0, 277 /* 1C */ addl3 ,RADI, 4,RADI, 4, WAD, 4, 0, 0, 278 /* 1D */ cmpl ,RADI, 4,RADI, 4, 0, 0, 0, 0, 279 /* 1E */ bbc ,RADI, 4, RAD, 4, Brd, 2, 0, 0, 280 /* 1F */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 281 /* 20 */ rei , 0, 0, 0, 0, 0, 0, 0, 0, 282 /* 21 */ bnequ , Brd, 1, 0, 0, 0, 0, 0, 0, 283 /* 22 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 284 /* 23 */ cvtwl ,RADI, 2, WAD, 4, 0, 0, 0, 0, 285 /* 24 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 286 /* 25 */ atanf , 0, 0, 0, 0, 0, 0, 0, 0, 287 /* 26 */ stf , WAD, 4, 0, 0, 0, 0, 0, 0, 288 /* 27 */ std , WAD, 8, 0, 0, 0, 0, 0, 0, 289 /* 28 */ subb2 ,RADI, 1, MAD, 1, 0, 0, 0, 0, 290 /* 29 */ mcomb ,RADI, 1,NWAD, 1, 0, 0, 0, 0, 291 /* 2A */ subw2 ,RADI, 2, MAD, 2, 0, 0, 0, 0, 292 /* 2B */ mcomw ,RADI, 2,NWAD, 2, 0, 0, 0, 0, 293 /* 2C */ subl2 ,RADI, 4, MAD, 4, 0, 0, 0, 0, 294 /* 2D */ mcoml ,RADI, 4, WAD, 4, 0, 0, 0, 0, 295 /* 2E */ emul ,RADI, 4,RADI, 4,RADI, 4, WAD, 8, 296 /* 2F */ aoblss ,RADI, 4, MAD, 4, Brd, 2, 0, 0, 297 /* 30 */ bpt , 0, 0, 0, 0, 0, 0, 0, 0, 298 /* 31 */ beql , Brd, 1, 0, 0, 0, 0, 0, 0, 299 /* 32 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 300 /* 33 */ cvtwb ,RADI, 2, WAD, 1, 0, 0, 0, 0, 301 /* 34 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 302 /* 35 */ logf , 0, 0, 0, 0, 0, 0, 0, 0, 303 /* 36 */ cmpf ,RADF, 4, 0, 0, 0, 0, 0, 0, 304 /* 37 */ cmpd ,RADF, 8, 0, 0, 0, 0, 0, 0, 305 /* 38 */ subb3 ,RADI, 1,RADI, 1, WAD, 1, 0, 0, 306 /* 39 */ bitb ,RADI, 1,RADI, 1, 0, 0, 0, 0, 307 /* 3A */ subw3 ,RADI, 2,RADI, 2, WAD, 2, 0, 0, 308 /* 3B */ bitw ,RADI, 2,RADI, 2, 0, 0, 0, 0, 309 /* 3C */ subl3 ,RADI, 4,RADI, 4, WAD, 4, 0, 0, 310 /* 3D */ bitl ,RADI, 4,RADI, 4, 0, 0, 0, 0, 311 /* 3E */ ediv ,RADI, 4,RADI, 8, WAD, 4, WD, 4, 312 /* 3F */ aobleq ,RADI, 4, MAD, 4, Brd, 2, 0, 0, 313 /* 40 */ ret , 0, 0, 0, 0, 0, 0, 0, 0, 314 /* 41 */ bgtr , Brd, 1, 0, 0, 0, 0, 0, 0, 315 /* 42 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 316 /* 43 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 317 /* 44 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 318 /* 45 */ sqrtf , 0, 0, 0, 0, 0, 0, 0, 0, 319 /* 46 */ cmpf2 ,RADF, 4,RADF, 4, 0, 0, 0, 0, 320 /* 47 */ cmpd2 ,RADF, 8,RADF, 8, 0, 0, 0, 0, 321 /* 48 */ shll ,RADI, 1,RADI, 4, WAD, 4, 0, 0, 322 /* 49 */ clrb , WAD, 1, 0, 0, 0, 0, 0, 0, 323 /* 4A */ shlq ,RADI, 1,RADI, 8, WAD, 8, 0, 0, 324 /* 4B */ clrw , WAD, 2, 0, 0, 0, 0, 0, 0, 325 /* 4C */ mull2 ,RADI, 4, MAD, 4, 0, 0, 0, 0, 326 /* 4D */ clrl , WAD, 4, 0, 0, 0, 0, 0, 0, 327 /* 4E */ shal ,RADI, 1,RADI, 4, WAD, 4, 0, 0, 328 /* 4F */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 329 /* 50 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 330 /* 51 */ bleq , Brd, 1, 0, 0, 0, 0, 0, 0, 331 /* 52 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 332 /* 53 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 333 /* 54 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 334 /* 55 */ expf , 0, 0, 0, 0, 0, 0, 0, 0, 335 /* 56 */ tstf , 0, 0, 0, 0, 0, 0, 0, 0, 336 /* 57 */ tstd , 0, 0, 0, 0, 0, 0, 0, 0, 337 /* 58 */ shrl ,RADI, 1,RADI, 4, WAD, 4, 0, 0, 338 /* 59 */ tstb ,RADI, 1, 0, 0, 0, 0, 0, 0, 339 /* 5A */ shrq ,RADI, 1,RADI, 8, WAD, 8, 0, 0, 340 /* 5B */ tstw ,RADI, 2, 0, 0, 0, 0, 0, 0, 341 /* 5C */ mull3 ,RADI, 4,RADI, 4, WAD, 4, 0, 0, 342 /* 5D */ tstl ,RADI, 4, 0, 0, 0, 0, 0, 0, 343 /* 5E */ shar ,RADI, 1,RADI, 4, WAD, 4, 0, 0, 344 /* 5F */ bbssi ,RADI, 4, MAD, 4, Brd, 2, 0, 0, 345 /* 60 */ ldpctx , 0, 0, 0, 0, 0, 0, 0, 0, 346 /* 61 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 347 /* 62 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 348 /* 63 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 349 /* 64 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 350 /* 65 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 351 /* 66 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 352 /* 67 */ pushd , 0, 0, 0, 0, 0, 0, 0, 0, 353 /* 68 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 354 /* 69 */ incb , MAD, 1, 0, 0, 0, 0, 0, 0, 355 /* 6A */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 356 /* 6B */ incw , MAD, 2, 0, 0, 0, 0, 0, 0, 357 /* 6C */ divl2 ,RADI, 4, MAD, 4, 0, 0, 0, 0, 358 /* 6D */ incl , MAD, 4, 0, 0, 0, 0, 0, 0, 359 /* 6E */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 360 /* 6F */ cvtlb ,RADI, 4, WAD, 1, 0, 0, 0, 0, 361 /* 70 */ svpctx , 0, 0, 0, 0, 0, 0, 0, 0, 362 /* 71 */ jmp ,ADDR, 1, 0, 0, 0, 0, 0, 0, 363 /* 72 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 364 /* 73 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 365 /* 74 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 366 /* 75 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 367 /* 76 */ cvlf , RAD, 4, 0, 0, 0, 0, 0, 0, 368 /* 77 */ cvld , RAD, 4, 0, 0, 0, 0, 0, 0, 369 /* 78 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 370 /* 79 */ decb , MAD, 1, 0, 0, 0, 0, 0, 0, 371 /* 7A */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 372 /* 7B */ decw , MAD, 2, 0, 0, 0, 0, 0, 0, 373 /* 7C */ divl3 ,RADI, 4,RADI, 4, WAD, 4, 0, 0, 374 /* 7D */ decl , MAD, 4, 0, 0, 0, 0, 0, 0, 375 /* 7E */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 376 /* 7F */ cvtlw ,RADI, 4, WAD, 2, 0, 0, 0, 0, 377 /* 80 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 378 /* 81 */ bgeq , Brd, 1, 0, 0, 0, 0, 0, 0, 379 /* 82 */ movs2 , 0, 0, 0, 0, 0, 0, 0, 0, 380 /* 83 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 381 /* 84 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 382 /* 85 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 383 /* 86 */ cvfl , WAD, 4, 0, 0, 0, 0, 0, 0, 384 /* 87 */ cvdl , WAD, 4, 0, 0, 0, 0, 0, 0, 385 /* 88 */ orb2 ,RADI, 1,NMAD, 1, 0, 0, 0, 0, 386 /* 89 */ cvtbl ,RADI, 1, WAD, 4, 0, 0, 0, 0, 387 /* 8A */ orw2 ,RADI, 2,NMAD, 2, 0, 0, 0, 0, 388 /* 8B */ bispsw ,RADI, 2, 0, 0, 0, 0, 0, 0, 389 /* 8C */ orl2 ,RADI, 4, MAD, 4, 0, 0, 0, 0, 390 /* 8D */ adwc ,RADI, 4, MAD, 4, 0, 0, 0, 0, 391 /* 8E */ adda ,RADI, 4, MAD, 4, 0, 0, 0, 0, 392 /* 8F */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 393 /* 90 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 394 /* 91 */ blss , Brd, 1, 0, 0, 0, 0, 0, 0, 395 /* 92 */ cmps2 , 0, 0, 0, 0, 0, 0, 0, 0, 396 /* 93 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 397 /* 94 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 398 /* 95 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 399 /* 96 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 400 /* 97 */ ldfd ,RADF, 4, 0, 0, 0, 0, 0, 0, 401 /* 98 */ orb3 ,RADI, 1,RADI, 1,NWAD, 1, 0, 0, 402 /* 99 */ cvtbw ,RADI, 1, WAD, 2, 0, 0, 0, 0, 403 /* 9A */ orw3 ,RADI, 2,RADI, 2,NWAD, 2, 0, 0, 404 /* 9B */ bicpsw ,RADI, 2, 0, 0, 0, 0, 0, 0, 405 /* 9C */ orl3 ,RADI, 4,RADI, 4, WAD, 4, 0, 0, 406 /* 9D */ sbwc ,RADI, 4, MAD, 4, 0, 0, 0, 0, 407 /* 9E */ suba ,RADI, 4, MAD, 4, 0, 0, 0, 0, 408 /* 9F */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 409 /* A0 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 410 /* A1 */ bgtru , Brd, 1, 0, 0, 0, 0, 0, 0, 411 /* A2 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 412 /* A3 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 413 /* A4 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 414 /* A5 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 415 /* A6 */ cvdf , 0, 0, 0, 0, 0, 0, 0, 0, 416 /* A7 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 417 /* A8 */ andb2 ,RADI, 1,NMAD, 1, 0, 0, 0, 0, 418 /* A9 */ movzbl ,RADI, 1, WAD, 4, 0, 0, 0, 0, 419 /* AA */ andw2 ,RADI, 2,NMAD, 2, 0, 0, 0, 0, 420 /* AB */ loadr ,RADI, 2,ADDR, 4, 0, 0, 0, 0, 421 /* AC */ andl2 ,RADI, 4, MAD, 4, 0, 0, 0, 0, 422 /* AD */ mtpr ,RADI, 4,RADI, 4, 0, 0, 0, 0, 423 /* AE */ ffs ,RADI, 4, WAD, 4, 0, 0, 0, 0, 424 /* AF */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 425 /* B0 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 426 /* B1 */ blequ , Brd, 1, 0, 0, 0, 0, 0, 0, 427 /* B2 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 428 /* B3 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 429 /* B4 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 430 /* B5 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 431 /* B6 */ negf , 0, 0, 0, 0, 0, 0, 0, 0, 432 /* B7 */ negd , 0, 0, 0, 0, 0, 0, 0, 0, 433 /* B8 */ andb3 ,RADI, 1,RADI, 1,NWAD, 1, 0, 0, 434 /* B9 */ movzbw ,RADI, 1, WAD, 2, 0, 0, 0, 0, 435 /* BA */ andw3 ,RADI, 2,RADI, 2,NWAD, 2, 0, 0, 436 /* BB */ storer ,RADI, 2,W|ADDR, 4, 0, 0, 0, 0, 437 /* BC */ andl3 ,RADI, 4,RADI, 4, WAD, 4, 0, 0, 438 /* BD */ mfpr ,RADI, 4, WAD, 4, 0, 0, 0, 0, 439 /* BE */ ffc ,RADI, 4, WAD, 4, 0, 0, 0, 0, 440 /* BF */ calls ,RADI, 1,ADDR, 1, 0, 0, 0, 0, 441 /* C0 */ prober ,RADI, 1,ADDR, 1,RADI, 4, 0, 0, 442 /* C1 */ bvc , Brd, 1, 0, 0, 0, 0, 0, 0, 443 /* C2 */ movs3 , 0, 0, 0, 0, 0, 0, 0, 0, 444 /* C3 */ movzwl ,RADI, 2, WAD, 4, 0, 0, 0, 0, 445 /* C4 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 446 /* C5 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 447 /* C6 */ addf ,RADF, 4, 0, 0, 0, 0, 0, 0, 448 /* C7 */ addd ,RADF, 8, 0, 0, 0, 0, 0, 0, 449 /* C8 */ xorb2 ,RADI, 1,NMAD, 1, 0, 0, 0, 0, 450 /* C9 */ movob ,RADI, 1,NWAD, 1, 0, 0, 0, 0, 451 /* CA */ xorw2 ,RADI, 2,NMAD, 2, 0, 0, 0, 0, 452 /* CB */ movow ,RADI, 2,NWAD, 2, 0, 0, 0, 0, 453 /* CC */ xorl2 ,RADI, 4, MAD, 4, 0, 0, 0, 0, 454 /* CD */ movpsl , WAD, 4, 0, 0, 0, 0, 0, 0, 455 /* CE */ btcs ,RADI, 1, 0, 0, 0, 0, 0, 0, 456 /* CF */ kcall ,RADI, 2, 0, 0, 0, 0, 0, 0, 457 /* D0 */ probew ,RADI, 1,ADDR, 1,RADI, 4, 0, 0, 458 /* D1 */ bvs , Brd, 1, 0, 0, 0, 0, 0, 0, 459 /* D2 */ cmps3 , 0, 0, 0, 0, 0, 0, 0, 0, 460 /* D3 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 461 /* D4 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 462 /* D5 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 463 /* D6 */ subf ,RADF, 4, 0, 0, 0, 0, 0, 0, 464 /* D7 */ subd ,RADF, 8, 0, 0, 0, 0, 0, 0, 465 /* D8 */ xorb3 ,RADI, 1,RADI, 1,NWAD, 1, 0, 0, 466 /* D9 */ pushb ,RADI, 1, 0, 0, 0, 0, 0, 0, 467 /* DA */ xorw3 ,RADI, 2,RADI, 2,NWAD, 2, 0, 0, 468 /* DB */ pushw ,RADI, 2, 0, 0, 0, 0, 0, 0, 469 /* DC */ xorl3 ,RADI, 4,RADI, 4, WAD, 4, 0, 0, 470 /* DD */ pushl ,RADI, 4, 0, 0, 0, 0, 0, 0, 471 /* DE */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 472 /* DF */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 473 /* E0 */ insque ,ADDR, 4,ADDR, 4, 0, 0, 0, 0, 474 /* E1 */ bcs , Brd, 1, 0, 0, 0, 0, 0, 0, 475 /* E2 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 476 /* E3 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 477 /* E4 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 478 /* E5 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 479 /* E6 */ mulf ,RADF, 4, 0, 0, 0, 0, 0, 0, 480 /* E7 */ muld ,RADF, 8, 0, 0, 0, 0, 0, 0, 481 /* E8 */ mnegb ,RADI, 1, WAD, 1, 0, 0, 0, 0, 482 /* E9 */ movab ,ADDR, 1, WAD, 4, 0, 0, 0, 0, 483 /* EA */ mnegw ,RADI, 2, WAD, 2, 0, 0, 0, 0, 484 /* EB */ movaw ,ADDR, 2, WAD, 4, 0, 0, 0, 0, 485 /* EC */ mnegl ,RADI, 4, WAD, 4, 0, 0, 0, 0, 486 /* ED */ moval ,ADDR, 4, WAD, 4, 0, 0, 0, 0, 487 /* EE */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 488 /* EF */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 489 /* F0 */ remque ,ADDR, 4, 0, 0, 0, 0, 0, 0, 490 /* F1 */ bcc , Brd, 1, 0, 0, 0, 0, 0, 0, 491 /* F2 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 492 /* F3 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 493 /* F4 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 494 /* F5 */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 495 /* F6 */ divf ,RADF, 4, 0, 0, 0, 0, 0, 0, 496 /* F7 */ divd ,RADF, 8, 0, 0, 0, 0, 0, 0, 497 /* F8 */ movblk , 0, 0, 0, 0, 0, 0, 0, 0, 498 /* F9 */ pushab ,ADDR, 1, 0, 0, 0, 0, 0, 0, 499 /* FA */ illegal , 0, 0, 0, 0, 0, 0, 0, 0, 500 /* FB */ pushaw ,ADDR, 2, 0, 0, 0, 0, 0, 0, 501 /* FC */ casel ,RADI, 4,RADI, 4,RADI, 4, 0, 0, 502 /* FD */ pushal ,ADDR, 4, 0, 0, 0, 0, 0, 0, 503 /* FE */ callf ,Imm|Lit, 1, PR, 1, 0, 0, 0, 0, 504 /* FF */ illegal , 0, 0, 0, 0, 0, 0, 0, 0 505 }; 506