|
|
1.1 ! root 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: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.