|
|
1.1 ! root 1: /* Opcode table for m68000/m68020 and m68881. ! 2: Copyright (C) 1989, Free Software Foundation. ! 3: ! 4: This file is part of GDB, the GNU Debugger and GAS, the GNU Assembler. ! 5: ! 6: Both GDB and GAS are free software; you can redistribute and/or modify ! 7: it under the terms of the GNU General Public License as published by ! 8: the Free Software Foundation; either version 1, or (at your option) ! 9: any later version. ! 10: ! 11: GDB and GAS are distributed in the hope that it will be useful, ! 12: but WITHOUT ANY WARRANTY; without even the implied warranty of ! 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ! 14: GNU General Public License for more details. ! 15: ! 16: You should have received a copy of the GNU General Public License ! 17: along with GDB or GAS; see the file COPYING. If not, write to ! 18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ ! 19: ! 20: ! 21: struct m68k_opcode ! 22: { ! 23: char *name; ! 24: unsigned long opcode; ! 25: unsigned long match; ! 26: char *args; ! 27: char *cpus; ! 28: }; ! 29: ! 30: /* We store four bytes of opcode for all opcodes because that ! 31: is the most any of them need. The actual length of an instruction ! 32: is always at least 2 bytes, and is as much longer as necessary to ! 33: hold the operands it has. ! 34: ! 35: The match component is a mask saying which bits must match ! 36: particular opcode in order for an instruction to be an instance ! 37: of that opcode. ! 38: ! 39: The args component is a string containing two characters ! 40: for each operand of the instruction. The first specifies ! 41: the kind of operand; the second, the place it is stored. */ ! 42: ! 43: /* Kinds of operands: ! 44: D data register only. Stored as 3 bits. ! 45: A address register only. Stored as 3 bits. ! 46: R either kind of register. Stored as 4 bits. ! 47: F floating point coprocessor register only. Stored as 3 bits. ! 48: O an offset (or width): immediate data 0-31 or data register. ! 49: Stored as 6 bits in special format for BF... insns. ! 50: + autoincrement only. Stored as 3 bits (number of the address register). ! 51: - autodecrement only. Stored as 3 bits (number of the address register). ! 52: Q quick immediate data. Stored as 3 bits. ! 53: This matches an immediate operand only when value is in range 1 .. 8. ! 54: M moveq immediate data. Stored as 8 bits. ! 55: This matches an immediate operand only when value is in range -128..127 ! 56: T trap vector immediate data. Stored as 4 bits. ! 57: ! 58: k K-factor for fmove.p instruction. Stored as a 7-bit constant or ! 59: a three bit register offset, depending on the field type. ! 60: ! 61: # immediate data. Stored in special places (b, w or l) ! 62: which say how many bits to store. ! 63: ^ immediate data for floating point instructions. Special places ! 64: are offset by 2 bytes from '#'... ! 65: B pc-relative address, converted to an offset ! 66: that is treated as immediate data. ! 67: d displacement and register. Stores the register as 3 bits ! 68: and stores the displacement in the entire second word. ! 69: ! 70: C the CCR. No need to store it; this is just for filtering validity. ! 71: S the SR. No need to store, just as with CCR. ! 72: U the USP. No need to store, just as with CCR. ! 73: ! 74: I Coprocessor ID. Not printed if 1. The Coprocessor ID is always ! 75: extracted from the 'd' field of word one, which means that an extended ! 76: coprocessor opcode can be skipped using the 'i' place, if needed. ! 77: ! 78: s System Control register for the floating point coprocessor. ! 79: S List of system control registers for floating point coprocessor. ! 80: ! 81: J Misc register for movec instruction, stored in 'j' format. ! 82: Possible values: ! 83: 000 SFC Source Function Code reg ! 84: 001 DFC Data Function Code reg ! 85: 002 CACR Cache Control Register ! 86: 800 USP User Stack Pointer ! 87: 801 VBR Vector Base reg ! 88: 802 CAAR Cache Address Register ! 89: 803 MSP Master Stack Pointer ! 90: 804 ISP Interrupt Stack Pointer ! 91: ! 92: L Register list of the type d0-d7/a0-a7 etc. ! 93: (New! Improved! Can also hold fp0-fp7, as well!) ! 94: The assembler tries to see if the registers match the insn by ! 95: looking at where the insn wants them stored. ! 96: #ifdef NeXT ! 97: REGISTER LIST BUG: ! 98: The above "New! Improved!" feature has a bug it. The problem ! 99: with the way it "Can also hold fp0-fp7" is that the instruction ! 100: "fmovemx d0,a0@" fails unless the opcode table has all L and l kinds ! 101: after the D kind (which was the way the 1.36 GAS was). This happens ! 102: because in m68_ip() in m68k.c when matching the operands of the ! 103: instruction to the table entries it changes a DREG type operand to ! 104: a REGLIST type operand but after it matches (when it shouldn't have) ! 105: it figures out it has the wrong type of registers in the register list ! 106: and fails. So the fix is to put all L and l kinds last in the set ! 107: for each operand that uses them. ! 108: #endif ! 109: ! 110: l Register list like L, but with all the bits reversed. ! 111: Used for going the other way. . . ! 112: ! 113: 0 Address register indirect only ! 114: ! 115: They are all stored as 6 bits using an address mode and a register number; ! 116: they differ in which addressing modes they match. ! 117: ! 118: * all (modes 0-6,7.*) ! 119: ~ alterable memory (modes 2-6,7.0,7.1)(not 0,1,7.~) ! 120: % alterable (modes 0-6,7.0,7.1)(not 7.~) ! 121: ; data (modes 0,2-6,7.*)(not 1) ! 122: @ data, but not immediate (modes 0,2-6,7.? ? ?)(not 1,7.?) This may really be ;, the 68020 book says it is ! 123: ! control (modes 2,5,6,7.*-)(not 0,1,3,4,7.4) ! 124: & alterable control (modes 2,5,6,7.0,7.1)(not 0,1,7.? ? ?) ! 125: $ alterable data (modes 0,2-6,7.0,7.1)(not 1,7.~) ! 126: ? alterable control, or data register (modes 0,2,5,6,7.0,7.1)(not 1,3,4,7.~) ! 127: / control, or data register (modes 0,2,5,6,7.0,7.1,7.2,7.3)(not 1,3,4,7.4) ! 128: */ ! 129: ! 130: /* JF: for the 68851 */ ! 131: /* ! 132: I didn't use much imagination in choosing the ! 133: following codes, so many of them aren't very ! 134: mnemonic. -rab ! 135: ! 136: P pmmu register ! 137: Possible values: ! 138: 000 TC Translation Control reg ! 139: 100 CAL Current Access Level ! 140: 101 VAL Validate Access Level ! 141: 110 SCC Stack Change Control ! 142: 111 AC Access Control ! 143: ! 144: W wide pmmu registers ! 145: Possible values: ! 146: 001 DRP Dma Root Pointer ! 147: 010 SRP Supervisor Root Pointer ! 148: 011 CRP Cpu Root Pointer ! 149: ! 150: (f - is also used for the 030 pflush instruction) ! 151: f function code register ! 152: 0 SFC ! 153: 1 DFC ! 154: ! 155: V VAL register only ! 156: ! 157: X BADx, BACx ! 158: 100 BAD Breakpoint Acknowledge Data ! 159: 101 BAC Breakpoint Acknowledge Control ! 160: ! 161: Y PSR ! 162: Z PCSR ! 163: ! 164: | memory (modes 2-6, 7.*) ! 165: ! 166: */ ! 167: ! 168: /* for the builtin mmus (also see f above): ! 169: a SRP, CRP or TC registers (used for the 030 only) ! 170: Possible values: ! 171: 010 SRP supervisor root pointer ! 172: 011 CRP cpu root pointer ! 173: 000 TC translation control register ! 174: b MMUSR register only (used for the 030 only) ! 175: d TT0 or TT1 registers (used for the 030 only) ! 176: Possible values: ! 177: 010 TT0 transparent translation register 0 ! 178: 011 TT1 transparent translation register 1 ! 179: ! 180: c Cache selection (IC, DC or BC) (used for the 040 only) ! 181: Possible values: ! 182: 10 IC instruction cache ! 183: 01 DC data cache ! 184: 11 BC baoth instruction and data caches ! 185: */ ! 186: ! 187: /* Places to put an operand, for non-general operands: ! 188: s source, low bits of first word. ! 189: d dest, shifted 9 in first word ! 190: 1 second word, shifted 12 ! 191: 2 second word, shifted 6 ! 192: 3 second word, shifted 0 ! 193: 4 third word, shifted 12 ! 194: 5 third word, shifted 6 ! 195: 6 third word, shifted 0 ! 196: 7 second word, shifted 7 ! 197: 8 second word, shifted 10 ! 198: 9 second word, shifted 5 ! 199: D store in both place 1 and place 3; for divul and divsl. ! 200: b second word, low byte ! 201: w second word (entire) ! 202: #ifdef NeXT ! 203: z second word (entire) (also has long with the same form, the "link" inst) ! 204: #endif ! 205: l second and third word (entire) ! 206: g branch offset for bra and similar instructions. ! 207: The place to store depends on the magnitude of offset. ! 208: t store in both place 7 and place 8; for floating point operations ! 209: c branch offset for cpBcc operations. ! 210: The place to store is word two if bit six of word one is zero, ! 211: and words two and three if bit six of word one is one. ! 212: i Increment by two, to skip over coprocessor extended operands. Only ! 213: works with the 'I' format. ! 214: k Dynamic K-factor field. Bits 6-4 of word 2, used as a register number. ! 215: Also used for dynamic fmovem instruction. ! 216: C floating point coprocessor constant - 7 bits. Also used for static ! 217: K-factors... ! 218: j Movec register #, stored in 12 low bits of second word. ! 219: S Cache indicator value, sorted in the first word shifted 6. ! 220: ! 221: Places to put operand, for general operands: ! 222: d destination, shifted 6 bits in first word ! 223: b source, at low bit of first word, and immediate uses one byte ! 224: w source, at low bit of first word, and immediate uses two bytes ! 225: l source, at low bit of first word, and immediate uses four bytes ! 226: s source, at low bit of first word. ! 227: Used sometimes in contexts where immediate is not allowed anyway. ! 228: f single precision float, low bit of 1st word, immediate uses 4 bytes ! 229: F double precision float, low bit of 1st word, immediate uses 8 bytes ! 230: x extended precision float, low bit of 1st word, immediate uses 12 bytes ! 231: p packed float, low bit of 1st word, immediate uses 12 bytes ! 232: */ ! 233: ! 234: /* The cpus string indicates instructions that only execute on a specific ! 235: implementaion of the 68k processor family as defined by NeXT. This is used ! 236: to set the cpusubtype field in the mach_header of the output object file. ! 237: ! 238: Here are the possible values: ! 239: 2 Instruction is available on the MC68020 (only for callm and rtm) ! 240: 3 Instruction is available on the MC68030 ! 241: 4 Instruction is available on the MC68040 ! 242: */ ! 243: ! 244: #define one(x) ((x) << 16) ! 245: #define two(x, y) (((x) << 16) + y) ! 246: ! 247: /* ! 248: *** DANGER WILL ROBINSON *** ! 249: ! 250: The assembler requires that all instances of the same mnemonic must be ! 251: consecutive. If they aren't, the assembler will bomb at runtime ! 252: */ ! 253: static const struct m68k_opcode m68k_opcodes[] = ! 254: { ! 255: {"abcd", one(0140400), one(0170770), "DsDd"}, ! 256: {"abcd", one(0140410), one(0170770), "-s-d"}, ! 257: ! 258: /* Add instructions */ ! 259: {"addal", one(0150700), one(0170700), "*lAd"}, ! 260: {"addaw", one(0150300), one(0170700), "*wAd"}, ! 261: {"addib", one(0003000), one(0177700), "#b$b"}, ! 262: {"addil", one(0003200), one(0177700), "#l$l"}, ! 263: {"addiw", one(0003100), one(0177700), "#w$w"}, ! 264: {"addqb", one(0050000), one(0170700), "Qd$b"}, ! 265: {"addql", one(0050200), one(0170700), "Qd%l"}, ! 266: {"addqw", one(0050100), one(0170700), "Qd%w"}, ! 267: ! 268: {"addb", one(0050000), one(0170700), "Qd$b"}, /* addq written as add */ ! 269: {"addb", one(0003000), one(0177700), "#b$b"}, /* addi written as add */ ! 270: {"addb", one(0150000), one(0170700), ";bDd"}, /* addb <ea>, Dd */ ! 271: {"addb", one(0150400), one(0170700), "Dd~b"}, /* addb Dd, <ea> */ ! 272: ! 273: {"addw", one(0050100), one(0170700), "Qd%w"}, /* addq written as add */ ! 274: {"addw", one(0003100), one(0177700), "#w$w"}, /* addi written as add */ ! 275: {"addw", one(0150300), one(0170700), "*wAd"}, /* adda written as add */ ! 276: {"addw", one(0150100), one(0170700), "*wDd"}, /* addw <ea>, Dd */ ! 277: {"addw", one(0150500), one(0170700), "Dd~w"}, /* addw Dd, <ea> */ ! 278: ! 279: {"addl", one(0050200), one(0170700), "Qd%l"}, /* addq written as add */ ! 280: {"addl", one(0003200), one(0177700), "#l$l"}, /* addi written as add */ ! 281: {"addl", one(0150700), one(0170700), "*lAd"}, /* adda written as add */ ! 282: {"addl", one(0150200), one(0170700), "*lDd"}, /* addl <ea>, Dd */ ! 283: {"addl", one(0150600), one(0170700), "Dd~l"}, /* addl Dd, <ea> */ ! 284: ! 285: {"addxb", one(0150400), one(0170770), "DsDd"}, ! 286: {"addxb", one(0150410), one(0170770), "-s-d"}, ! 287: {"addxl", one(0150600), one(0170770), "DsDd"}, ! 288: {"addxl", one(0150610), one(0170770), "-s-d"}, ! 289: {"addxw", one(0150500), one(0170770), "DsDd"}, ! 290: {"addxw", one(0150510), one(0170770), "-s-d"}, ! 291: ! 292: {"andib", one(0001000), one(0177700), "#b$b"}, ! 293: {"andib", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */ ! 294: {"andiw", one(0001100), one(0177700), "#w$w"}, ! 295: {"andiw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */ ! 296: {"andil", one(0001200), one(0177700), "#l$l"}, ! 297: ! 298: {"andb", one(0001000), one(0177700), "#b$b"}, /* andi written as or */ ! 299: {"andb", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */ ! 300: {"andb", one(0140000), one(0170700), ";bDd"}, /* memory to register */ ! 301: {"andb", one(0140400), one(0170700), "Dd~b"}, /* register to memory */ ! 302: {"andw", one(0001100), one(0177700), "#w$w"}, /* andi written as or */ ! 303: {"andw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */ ! 304: {"andw", one(0140100), one(0170700), ";wDd"}, /* memory to register */ ! 305: {"andw", one(0140500), one(0170700), "Dd~w"}, /* register to memory */ ! 306: {"andl", one(0001200), one(0177700), "#l$l"}, /* andi written as or */ ! 307: {"andl", one(0140200), one(0170700), ";lDd"}, /* memory to register */ ! 308: {"andl", one(0140600), one(0170700), "Dd~l"}, /* register to memory */ ! 309: ! 310: {"aslb", one(0160400), one(0170770), "QdDs"}, ! 311: {"aslb", one(0160440), one(0170770), "DdDs"}, ! 312: {"asll", one(0160600), one(0170770), "QdDs"}, ! 313: {"asll", one(0160640), one(0170770), "DdDs"}, ! 314: {"aslw", one(0160500), one(0170770), "QdDs"}, ! 315: {"aslw", one(0160540), one(0170770), "DdDs"}, ! 316: {"aslw", one(0160700), one(0177700), "~s"}, /* Shift memory */ ! 317: {"asrb", one(0160000), one(0170770), "QdDs"}, ! 318: {"asrb", one(0160040), one(0170770), "DdDs"}, ! 319: {"asrl", one(0160200), one(0170770), "QdDs"}, ! 320: {"asrl", one(0160240), one(0170770), "DdDs"}, ! 321: {"asrw", one(0160100), one(0170770), "QdDs"}, ! 322: {"asrw", one(0160140), one(0170770), "DdDs"}, ! 323: {"asrw", one(0160300), one(0177700), "~s"}, /* Shift memory */ ! 324: ! 325: {"bhi", one(0061000), one(0177400), "Bg"}, ! 326: {"bls", one(0061400), one(0177400), "Bg"}, ! 327: {"bcc", one(0062000), one(0177400), "Bg"}, ! 328: {"bcs", one(0062400), one(0177400), "Bg"}, ! 329: {"bne", one(0063000), one(0177400), "Bg"}, ! 330: {"beq", one(0063400), one(0177400), "Bg"}, ! 331: {"bvc", one(0064000), one(0177400), "Bg"}, ! 332: {"bvs", one(0064400), one(0177400), "Bg"}, ! 333: {"bpl", one(0065000), one(0177400), "Bg"}, ! 334: {"bmi", one(0065400), one(0177400), "Bg"}, ! 335: {"bge", one(0066000), one(0177400), "Bg"}, ! 336: {"blt", one(0066400), one(0177400), "Bg"}, ! 337: {"bgt", one(0067000), one(0177400), "Bg"}, ! 338: {"ble", one(0067400), one(0177400), "Bg"}, ! 339: ! 340: {"bchg", one(0000500), one(0170700), "Dd$s"}, ! 341: {"bchg", one(0004100), one(0177700), "#b$s"}, ! 342: {"bclr", one(0000600), one(0170700), "Dd$s"}, ! 343: {"bclr", one(0004200), one(0177700), "#b$s"}, ! 344: {"bfchg", two(0165300, 0), two(0177700, 0170000), "?sO2O3"}, ! 345: {"bfclr", two(0166300, 0), two(0177700, 0170000), "?sO2O3"}, ! 346: {"bfexts", two(0165700, 0), two(0177700, 0100000), "/sO2O3D1"}, ! 347: {"bfextu", two(0164700, 0), two(0177700, 0100000), "/sO2O3D1"}, ! 348: {"bfffo", two(0166700, 0), two(0177700, 0100000), "/sO2O3D1"}, ! 349: {"bfins", two(0167700, 0), two(0177700, 0100000), "D1?sO2O3"}, ! 350: {"bfset", two(0167300, 0), two(0177700, 0170000), "?sO2O3"}, ! 351: {"bftst", two(0164300, 0), two(0177700, 0170000), "/sO2O3"}, ! 352: {"bset", one(0000700), one(0170700), "Dd$s"}, ! 353: {"bset", one(0004300), one(0177700), "#b$s"}, ! 354: {"btst", one(0000400), one(0170700), "Dd@s"}, ! 355: {"btst", one(0004000), one(0177700), "#b@s"}, ! 356: ! 357: {"bkpt", one(0044110), one(0177770), "Qs"}, ! 358: {"bra", one(0060000), one(0177400), "Bg"}, ! 359: #ifdef NeXT ! 360: {"bras", one(0060000), one(0177400), "Bg"}, ! 361: #else ! 362: {"bras", one(0060000), one(0177400), "Bw"}, ! 363: #endif ! 364: {"bsr", one(0060400), one(0177400), "Bg"}, ! 365: #ifdef NeXT ! 366: {"bsrs", one(0060400), one(0177400), "Bg"}, ! 367: #else ! 368: {"bsrs", one(0060400), one(0177400), "Bw"}, ! 369: #endif ! 370: ! 371: {"callm", one(0003300), one(0177700), "#b!s", "2"}, ! 372: {"cas2l", two(0007374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF FOO this is really a 3 word ins */ ! 373: {"cas2w", two(0006374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF ditto */ ! 374: {"casb", two(0005300, 0), two(0177700, 0177070), "D3D2~s"}, ! 375: {"casl", two(0007300, 0), two(0177700, 0177070), "D3D2~s"}, ! 376: {"casw", two(0006300, 0), two(0177700, 0177070), "D3D2~s"}, ! 377: ! 378: /* {"chk", one(0040600), one(0170700), ";wDd"}, JF FOO this looks wrong */ ! 379: {"chk2b", two(0000300, 0004000), two(0177700, 07777), "!sR1"}, ! 380: {"chk2l", two(0002300, 0004000), two(0177700, 07777), "!sR1"}, ! 381: {"chk2w", two(0001300, 0004000), two(0177700, 07777), "!sR1"}, ! 382: {"chkl", one(0040400), one(0170700), ";lDd"}, ! 383: {"chkw", one(0040600), one(0170700), ";wDd"}, ! 384: {"clrb", one(0041000), one(0177700), "$s"}, ! 385: {"clrl", one(0041200), one(0177700), "$s"}, ! 386: {"clrw", one(0041100), one(0177700), "$s"}, ! 387: ! 388: {"cmp2b", two(0000300, 0), two(0177700, 07777), "!sR1"}, ! 389: {"cmp2l", two(0002300, 0), two(0177700, 07777), "!sR1"}, ! 390: {"cmp2w", two(0001300, 0), two(0177700, 07777), "!sR1"}, ! 391: {"cmpal", one(0130700), one(0170700), "*lAd"}, ! 392: {"cmpaw", one(0130300), one(0170700), "*wAd"}, ! 393: {"cmpib", one(0006000), one(0177700), "#b;b"}, ! 394: {"cmpil", one(0006200), one(0177700), "#l;l"}, ! 395: {"cmpiw", one(0006100), one(0177700), "#w;w"}, ! 396: {"cmpb", one(0006000), one(0177700), "#b;b"}, /* cmpi written as cmp */ ! 397: {"cmpb", one(0130000), one(0170700), ";bDd"}, ! 398: {"cmpw", one(0006100), one(0177700), "#w;w"}, ! 399: {"cmpw", one(0130100), one(0170700), "*wDd"}, ! 400: {"cmpw", one(0130300), one(0170700), "*wAd"}, /* cmpa written as cmp */ ! 401: {"cmpl", one(0006200), one(0177700), "#l;l"}, ! 402: {"cmpl", one(0130200), one(0170700), "*lDd"}, ! 403: {"cmpl", one(0130700), one(0170700), "*lAd"}, ! 404: {"cmpmb", one(0130410), one(0170770), "+s+d"}, ! 405: {"cmpml", one(0130610), one(0170770), "+s+d"}, ! 406: {"cmpmw", one(0130510), one(0170770), "+s+d"}, ! 407: ! 408: {"dbcc", one(0052310), one(0177770), "DsBw"}, ! 409: {"dbcs", one(0052710), one(0177770), "DsBw"}, ! 410: {"dbeq", one(0053710), one(0177770), "DsBw"}, ! 411: {"dbf", one(0050710), one(0177770), "DsBw"}, ! 412: {"dbge", one(0056310), one(0177770), "DsBw"}, ! 413: {"dbgt", one(0057310), one(0177770), "DsBw"}, ! 414: {"dbhi", one(0051310), one(0177770), "DsBw"}, ! 415: {"dble", one(0057710), one(0177770), "DsBw"}, ! 416: {"dbls", one(0051710), one(0177770), "DsBw"}, ! 417: {"dblt", one(0056710), one(0177770), "DsBw"}, ! 418: {"dbmi", one(0055710), one(0177770), "DsBw"}, ! 419: {"dbne", one(0053310), one(0177770), "DsBw"}, ! 420: {"dbpl", one(0055310), one(0177770), "DsBw"}, ! 421: {"dbra", one(0050710), one(0177770), "DsBw"}, ! 422: {"dbt", one(0050310), one(0177770), "DsBw"}, ! 423: {"dbvc", one(0054310), one(0177770), "DsBw"}, ! 424: {"dbvs", one(0054710), one(0177770), "DsBw"}, ! 425: ! 426: {"divsl", two(0046100, 0006000), two(0177700, 0107770), ";lD3D1"}, ! 427: {"divsl", two(0046100, 0004000), two(0177700, 0107770), ";lDD"}, ! 428: {"divsll", two(0046100, 0004000), two(0177700, 0107770), ";lD3D1"}, ! 429: {"divsw", one(0100700), one(0170700), ";wDd"}, ! 430: {"divs", one(0100700), one(0170700), ";wDd"}, ! 431: {"divul", two(0046100, 0002000), two(0177700, 0107770), ";lD3D1"}, ! 432: {"divul", two(0046100, 0000000), two(0177700, 0107770), ";lDD"}, ! 433: {"divull", two(0046100, 0000000), two(0177700, 0107770), ";lD3D1"}, ! 434: {"divuw", one(0100300), one(0170700), ";wDd"}, ! 435: {"divu", one(0100300), one(0170700), ";wDd"}, ! 436: {"eorb", one(0005000), one(0177700), "#b$s"}, /* eori written as eor */ ! 437: {"eorb", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */ ! 438: {"eorb", one(0130400), one(0170700), "Dd$s"}, /* register to memory */ ! 439: {"eorib", one(0005000), one(0177700), "#b$s"}, ! 440: {"eorib", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */ ! 441: {"eoril", one(0005200), one(0177700), "#l$s"}, ! 442: {"eoriw", one(0005100), one(0177700), "#w$s"}, ! 443: {"eoriw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */ ! 444: {"eorl", one(0005200), one(0177700), "#l$s"}, ! 445: {"eorl", one(0130600), one(0170700), "Dd$s"}, ! 446: {"eorw", one(0005100), one(0177700), "#w$s"}, ! 447: {"eorw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */ ! 448: {"eorw", one(0130500), one(0170700), "Dd$s"}, ! 449: ! 450: {"exg", one(0140500), one(0170770), "DdDs"}, ! 451: {"exg", one(0140510), one(0170770), "AdAs"}, ! 452: {"exg", one(0140610), one(0170770), "DdAs"}, ! 453: {"exg", one(0140610), one(0170770), "AsDd"}, ! 454: ! 455: {"extw", one(0044200), one(0177770), "Ds"}, ! 456: {"extl", one(0044300), one(0177770), "Ds"}, ! 457: {"extbl", one(0044700), one(0177770), "Ds"}, ! 458: {"extb.l", one(0044700), one(0177770), "Ds"}, /* Not sure we should support this one*/ ! 459: ! 460: {"illegal", one(0045374), one(0177777), ""}, ! 461: {"jmp", one(0047300), one(0177700), "!s"}, ! 462: {"jsr", one(0047200), one(0177700), "!s"}, ! 463: {"lea", one(0040700), one(0170700), "!sAd"}, ! 464: {"linkw", one(0047120), one(0177770), "As#w"}, ! 465: {"linkl", one(0044010), one(0177770), "As#l"}, ! 466: #ifdef NeXT ! 467: {"link", one(0047120), one(0177770), "As#z"}, ! 468: #else ! 469: {"link", one(0047120), one(0177770), "As#w"}, ! 470: #endif ! 471: {"link", one(0044010), one(0177770), "As#l"}, ! 472: ! 473: {"lslb", one(0160410), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 474: {"lslb", one(0160450), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ ! 475: {"lslw", one(0160510), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 476: {"lslw", one(0160550), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ ! 477: {"lslw", one(0161700), one(0177700), "~s"}, /* Shift memory */ ! 478: {"lsll", one(0160610), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 479: {"lsll", one(0160650), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ ! 480: ! 481: {"lsrb", one(0160010), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 482: {"lsrb", one(0160050), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ ! 483: {"lsrl", one(0160210), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 484: {"lsrl", one(0160250), one(0170770), "DdDs"}, /* lsrb #Q, Ds */ ! 485: {"lsrw", one(0160110), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 486: {"lsrw", one(0160150), one(0170770), "DdDs"}, /* lsrb #Q, Ds */ ! 487: {"lsrw", one(0161300), one(0177700), "~s"}, /* Shift memory */ ! 488: ! 489: {"moveal", one(0020100), one(0170700), "*lAd"}, ! 490: {"moveaw", one(0030100), one(0170700), "*wAd"}, ! 491: {"moveb", one(0010000), one(0170000), ";b$d"}, /* move */ ! 492: {"movel", one(0070000), one(0170400), "MsDd"}, /* moveq written as move */ ! 493: {"movel", one(0020000), one(0170000), "*l$d"}, ! 494: {"movel", one(0020100), one(0170700), "*lAd"}, ! 495: {"movel", one(0047140), one(0177770), "AsUd"}, /* move to USP */ ! 496: {"movel", one(0047150), one(0177770), "UdAs"}, /* move from USP */ ! 497: ! 498: {"movec", one(0047173), one(0177777), "R1Jj"}, ! 499: {"movec", one(0047173), one(0177777), "R1#j"}, ! 500: {"movec", one(0047172), one(0177777), "JjR1"}, ! 501: {"movec", one(0047172), one(0177777), "#jR1"}, ! 502: ! 503: /* JF added these next four for the assembler */ ! 504: {"moveml", one(0044300), one(0177700), "Lw&s"}, /* movem reg to mem. */ ! 505: {"moveml", one(0044340), one(0177770), "lw-s"}, /* movem reg to autodecrement. */ ! 506: {"moveml", one(0046300), one(0177700), "!sLw"}, /* movem mem to reg. */ ! 507: {"moveml", one(0046330), one(0177770), "+sLw"}, /* movem autoinc to reg. */ ! 508: ! 509: {"moveml", one(0044300), one(0177700), "#w&s"}, /* movem reg to mem. */ ! 510: {"moveml", one(0044340), one(0177770), "#w-s"}, /* movem reg to autodecrement. */ ! 511: {"moveml", one(0046300), one(0177700), "!s#w"}, /* movem mem to reg. */ ! 512: {"moveml", one(0046330), one(0177770), "+s#w"}, /* movem autoinc to reg. */ ! 513: ! 514: /* JF added these next four for the assembler */ ! 515: {"movemw", one(0044200), one(0177700), "Lw&s"}, /* movem reg to mem. */ ! 516: {"movemw", one(0044240), one(0177770), "lw-s"}, /* movem reg to autodecrement. */ ! 517: {"movemw", one(0046200), one(0177700), "!sLw"}, /* movem mem to reg. */ ! 518: {"movemw", one(0046230), one(0177770), "+sLw"}, /* movem autoinc to reg. */ ! 519: {"movemw", one(0044200), one(0177700), "#w&s"}, /* movem reg to mem. */ ! 520: {"movemw", one(0044240), one(0177770), "#w-s"}, /* movem reg to autodecrement. */ ! 521: {"movemw", one(0046200), one(0177700), "!s#w"}, /* movem mem to reg. */ ! 522: {"movemw", one(0046230), one(0177770), "+s#w"}, /* movem autoinc to reg. */ ! 523: ! 524: {"movepl", one(0000510), one(0170770), "dsDd"}, /* memory to register */ ! 525: {"movepl", one(0000710), one(0170770), "Ddds"}, /* register to memory */ ! 526: {"movepw", one(0000410), one(0170770), "dsDd"}, /* memory to register */ ! 527: {"movepw", one(0000610), one(0170770), "Ddds"}, /* register to memory */ ! 528: {"moveq", one(0070000), one(0170400), "MsDd"}, ! 529: {"movew", one(0030000), one(0170000), "*w$d"}, ! 530: {"movew", one(0030100), one(0170700), "*wAd"}, /* movea, written as move */ ! 531: {"movew", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */ ! 532: {"movew", one(0041300), one(0177700), "Cs$s"}, ! 533: /* Move from ccr */ ! 534: {"movew", one(0042300), one(0177700), ";wCd"}, /* move to ccr */ ! 535: {"movew", one(0043300), one(0177700), ";wSd"}, /* move to sr */ ! 536: ! 537: {"movesb", two(0007000, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */ ! 538: {"movesb", two(0007000, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */ ! 539: {"movesl", two(0007200, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */ ! 540: {"movesl", two(0007200, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */ ! 541: {"movesw", two(0007100, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */ ! 542: {"movesw", two(0007100, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */ ! 543: ! 544: {"move16", one(0173000), one(0177770), "+s#l", "4"}, /* (An)+,xxx.L */ ! 545: {"move16", one(0173010), one(0177770), "#l+s", "4"}, /* xxx.L,(An)+ */ ! 546: {"move16", one(0173020), one(0177770), "0s#l", "4"}, /* (An), xxx.L */ ! 547: {"move16", one(0173030), one(0177770), "#l0s", "4"}, /* xxx.L,(An) */ ! 548: {"move16", two(0173040, 0100000), two(0177770, 0107777), "+s+1", "4"}, /* (Ax)+,(Ay)+ */ ! 549: ! 550: {"mulsl", two(0046000, 004000), two(0177700, 0107770), ";lD1"}, ! 551: {"mulsl", two(0046000, 006000), two(0177700, 0107770), ";lD3D1"}, ! 552: {"mulsw", one(0140700), one(0170700), ";wDd"}, ! 553: {"muls", one(0140700), one(0170700), ";wDd"}, ! 554: {"mulul", two(0046000, 000000), two(0177700, 0107770), ";lD1"}, ! 555: {"mulul", two(0046000, 002000), two(0177700, 0107770), ";lD3D1"}, ! 556: {"muluw", one(0140300), one(0170700), ";wDd"}, ! 557: {"mulu", one(0140300), one(0170700), ";wDd"}, ! 558: {"nbcd", one(0044000), one(0177700), "$s"}, ! 559: {"negb", one(0042000), one(0177700), "$s"}, ! 560: {"negl", one(0042200), one(0177700), "$s"}, ! 561: {"negw", one(0042100), one(0177700), "$s"}, ! 562: {"negxb", one(0040000), one(0177700), "$s"}, ! 563: {"negxl", one(0040200), one(0177700), "$s"}, ! 564: {"negxw", one(0040100), one(0177700), "$s"}, ! 565: {"nop", one(0047161), one(0177777), ""}, ! 566: {"notb", one(0043000), one(0177700), "$s"}, ! 567: {"notl", one(0043200), one(0177700), "$s"}, ! 568: {"notw", one(0043100), one(0177700), "$s"}, ! 569: ! 570: {"orb", one(0000000), one(0177700), "#b$s"}, /* ori written as or */ ! 571: {"orb", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */ ! 572: {"orb", one(0100000), one(0170700), ";bDd"}, /* memory to register */ ! 573: {"orb", one(0100400), one(0170700), "Dd~s"}, /* register to memory */ ! 574: {"orib", one(0000000), one(0177700), "#b$s"}, ! 575: {"orib", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */ ! 576: {"oril", one(0000200), one(0177700), "#l$s"}, ! 577: {"oriw", one(0000100), one(0177700), "#w$s"}, ! 578: {"oriw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */ ! 579: {"orl", one(0000200), one(0177700), "#l$s"}, ! 580: {"orl", one(0100200), one(0170700), ";lDd"}, /* memory to register */ ! 581: {"orl", one(0100600), one(0170700), "Dd~s"}, /* register to memory */ ! 582: {"orw", one(0000100), one(0177700), "#w$s"}, ! 583: {"orw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */ ! 584: {"orw", one(0100100), one(0170700), ";wDd"}, /* memory to register */ ! 585: {"orw", one(0100500), one(0170700), "Dd~s"}, /* register to memory */ ! 586: ! 587: {"pack", one(0100500), one(0170770), "DsDd#w"}, /* pack Ds, Dd, #w */ ! 588: {"pack", one(0100510), one(0170770), "-s-d#w"}, /* pack -(As), -(Ad), #w */ ! 589: {"pea", one(0044100), one(0177700), "!s"}, ! 590: {"reset", one(0047160), one(0177777), ""}, ! 591: ! 592: {"rolb", one(0160430), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 593: {"rolb", one(0160470), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 594: {"roll", one(0160630), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 595: {"roll", one(0160670), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 596: {"rolw", one(0160530), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 597: {"rolw", one(0160570), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 598: {"rolw", one(0163700), one(0177700), "~s"}, /* Rotate memory */ ! 599: {"rorb", one(0160030), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 600: {"rorb", one(0160070), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 601: {"rorl", one(0160230), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 602: {"rorl", one(0160270), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 603: {"rorw", one(0160130), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 604: {"rorw", one(0160170), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 605: {"rorw", one(0163300), one(0177700), "~s"}, /* Rotate memory */ ! 606: ! 607: {"roxlb", one(0160420), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 608: {"roxlb", one(0160460), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 609: {"roxll", one(0160620), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 610: {"roxll", one(0160660), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 611: {"roxlw", one(0160520), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 612: {"roxlw", one(0160560), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 613: {"roxlw", one(0162700), one(0177700), "~s"}, /* Rotate memory */ ! 614: {"roxrb", one(0160020), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 615: {"roxrb", one(0160060), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 616: {"roxrl", one(0160220), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 617: {"roxrl", one(0160260), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 618: {"roxrw", one(0160120), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 619: {"roxrw", one(0160160), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 620: {"roxrw", one(0162300), one(0177700), "~s"}, /* Rotate memory */ ! 621: ! 622: {"rtd", one(0047164), one(0177777), "#w"}, ! 623: {"rte", one(0047163), one(0177777), ""}, ! 624: {"rtm", one(0003300), one(0177760), "Rs", "2"}, ! 625: {"rtr", one(0047167), one(0177777), ""}, ! 626: {"rts", one(0047165), one(0177777), ""}, ! 627: ! 628: {"scc", one(0052300), one(0177700), "$s"}, ! 629: {"scs", one(0052700), one(0177700), "$s"}, ! 630: {"seq", one(0053700), one(0177700), "$s"}, ! 631: {"sf", one(0050700), one(0177700), "$s"}, ! 632: {"sge", one(0056300), one(0177700), "$s"}, ! 633: {"sgt", one(0057300), one(0177700), "$s"}, ! 634: {"shi", one(0051300), one(0177700), "$s"}, ! 635: {"sle", one(0057700), one(0177700), "$s"}, ! 636: {"sls", one(0051700), one(0177700), "$s"}, ! 637: {"slt", one(0056700), one(0177700), "$s"}, ! 638: {"smi", one(0055700), one(0177700), "$s"}, ! 639: {"sne", one(0053300), one(0177700), "$s"}, ! 640: {"spl", one(0055300), one(0177700), "$s"}, ! 641: {"st", one(0050300), one(0177700), "$s"}, ! 642: {"svc", one(0054300), one(0177700), "$s"}, ! 643: {"svs", one(0054700), one(0177700), "$s"}, ! 644: ! 645: {"sbcd", one(0100400), one(0170770), "DsDd"}, ! 646: {"sbcd", one(0100410), one(0170770), "-s-d"}, ! 647: {"stop", one(0047162), one(0177777), "#w"}, ! 648: ! 649: {"subal", one(0110700), one(0170700), "*lAd"}, ! 650: {"subaw", one(0110300), one(0170700), "*wAd"}, ! 651: {"subb", one(0050400), one(0170700), "Qd%s"}, /* subq written as sub */ ! 652: {"subb", one(0002000), one(0177700), "#b$s"}, /* subi written as sub */ ! 653: {"subb", one(0110000), one(0170700), ";bDd"}, /* subb ? ?, Dd */ ! 654: {"subb", one(0110400), one(0170700), "Dd~s"}, /* subb Dd, ? ? */ ! 655: {"subib", one(0002000), one(0177700), "#b$s"}, ! 656: {"subil", one(0002200), one(0177700), "#l$s"}, ! 657: {"subiw", one(0002100), one(0177700), "#w$s"}, ! 658: ! 659: {"subl", one(0050600), one(0170700), "Qd%s"}, ! 660: {"subl", one(0002200), one(0177700), "#l$s"}, ! 661: {"subl", one(0110700), one(0170700), "*lAd"}, ! 662: {"subl", one(0110200), one(0170700), "*lDd"}, ! 663: {"subl", one(0110600), one(0170700), "Dd~s"}, ! 664: ! 665: {"subqb", one(0050400), one(0170700), "Qd%s"}, ! 666: {"subql", one(0050600), one(0170700), "Qd%s"}, ! 667: {"subqw", one(0050500), one(0170700), "Qd%s"}, ! 668: {"subw", one(0050500), one(0170700), "Qd%s"}, ! 669: {"subw", one(0002100), one(0177700), "#w$s"}, ! 670: {"subw", one(0110100), one(0170700), "*wDd"}, ! 671: {"subw", one(0110300), one(0170700), "*wAd"}, /* suba written as sub */ ! 672: {"subw", one(0110500), one(0170700), "Dd~s"}, ! 673: ! 674: {"subxb", one(0110400), one(0170770), "DsDd"}, /* subxb Ds, Dd */ ! 675: {"subxb", one(0110410), one(0170770), "-s-d"}, /* subxb -(As), -(Ad) */ ! 676: {"subxl", one(0110600), one(0170770), "DsDd"}, ! 677: {"subxl", one(0110610), one(0170770), "-s-d"}, ! 678: {"subxw", one(0110500), one(0170770), "DsDd"}, ! 679: {"subxw", one(0110510), one(0170770), "-s-d"}, ! 680: ! 681: {"swap", one(0044100), one(0177770), "Ds"}, ! 682: ! 683: {"tas", one(0045300), one(0177700), "$s"}, ! 684: {"trap", one(0047100), one(0177760), "Ts"}, ! 685: ! 686: {"trapcc", one(0052374), one(0177777), ""}, ! 687: {"trapcs", one(0052774), one(0177777), ""}, ! 688: {"trapeq", one(0053774), one(0177777), ""}, ! 689: {"trapf", one(0050774), one(0177777), ""}, ! 690: {"trapge", one(0056374), one(0177777), ""}, ! 691: {"trapgt", one(0057374), one(0177777), ""}, ! 692: {"traphi", one(0051374), one(0177777), ""}, ! 693: {"traple", one(0057774), one(0177777), ""}, ! 694: {"trapls", one(0051774), one(0177777), ""}, ! 695: {"traplt", one(0056774), one(0177777), ""}, ! 696: {"trapmi", one(0055774), one(0177777), ""}, ! 697: {"trapne", one(0053374), one(0177777), ""}, ! 698: {"trappl", one(0055374), one(0177777), ""}, ! 699: {"trapt", one(0050374), one(0177777), ""}, ! 700: {"trapvc", one(0054374), one(0177777), ""}, ! 701: {"trapvs", one(0054774), one(0177777), ""}, ! 702: ! 703: {"trapcc.w", one(0052372), one(0177777), "#w"}, ! 704: {"trapcs.w", one(0052772), one(0177777), "#w"}, ! 705: {"trapeq.w", one(0053772), one(0177777), "#w"}, ! 706: {"trapf.w", one(0050772), one(0177777), "#w"}, ! 707: {"trapge.w", one(0056372), one(0177777), "#w"}, ! 708: {"trapgt.w", one(0057372), one(0177777), "#w"}, ! 709: {"traphi.w", one(0051372), one(0177777), "#w"}, ! 710: {"traple.w", one(0057772), one(0177777), "#w"}, ! 711: {"trapls.w", one(0051772), one(0177777), "#w"}, ! 712: {"traplt.w", one(0056772), one(0177777), "#w"}, ! 713: {"trapmi.w", one(0055772), one(0177777), "#w"}, ! 714: {"trapne.w", one(0053372), one(0177777), "#w"}, ! 715: {"trappl.w", one(0055372), one(0177777), "#w"}, ! 716: {"trapt.w", one(0050372), one(0177777), "#w"}, ! 717: {"trapvc.w", one(0054372), one(0177777), "#w"}, ! 718: {"trapvs.w", one(0054772), one(0177777), "#w"}, ! 719: ! 720: {"trapcc.l", one(0052373), one(0177777), "#l"}, ! 721: {"trapcs.l", one(0052773), one(0177777), "#l"}, ! 722: {"trapeq.l", one(0053773), one(0177777), "#l"}, ! 723: {"trapf.l", one(0050773), one(0177777), "#l"}, ! 724: {"trapge.l", one(0056373), one(0177777), "#l"}, ! 725: {"trapgt.l", one(0057373), one(0177777), "#l"}, ! 726: {"traphi.l", one(0051373), one(0177777), "#l"}, ! 727: {"traple.l", one(0057773), one(0177777), "#l"}, ! 728: {"trapls.l", one(0051773), one(0177777), "#l"}, ! 729: {"traplt.l", one(0056773), one(0177777), "#l"}, ! 730: {"trapmi.l", one(0055773), one(0177777), "#l"}, ! 731: {"trapne.l", one(0053373), one(0177777), "#l"}, ! 732: {"trappl.l", one(0055373), one(0177777), "#l"}, ! 733: {"trapt.l", one(0050373), one(0177777), "#l"}, ! 734: {"trapvc.l", one(0054373), one(0177777), "#l"}, ! 735: {"trapvs.l", one(0054773), one(0177777), "#l"}, ! 736: ! 737: {"trapv", one(0047166), one(0177777), ""}, ! 738: ! 739: {"tstb", one(0045000), one(0177700), ";b"}, ! 740: {"tstw", one(0045100), one(0177700), "*w"}, ! 741: {"tstl", one(0045200), one(0177700), "*l"}, ! 742: ! 743: {"unlk", one(0047130), one(0177770), "As"}, ! 744: {"unpk", one(0100600), one(0170770), "DsDd#w"}, ! 745: {"unpk", one(0100610), one(0170770), "-s-d#w"}, ! 746: ! 747: /* JF floating pt stuff moved down here */ ! 748: ! 749: {"fabsb", two(0xF000, 0x5818), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 750: {"fabsd", two(0xF000, 0x5418), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 751: {"fabsl", two(0xF000, 0x4018), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 752: #ifdef PACKED_IMMEDIATE ! 753: {"fabsp", two(0xF000, 0x4C18), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 754: #else ! 755: {"fabsp", two(0xF000, 0x4C18), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 756: #endif ! 757: {"fabss", two(0xF000, 0x4418), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 758: {"fabsw", two(0xF000, 0x5018), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 759: {"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 760: {"fabsx", two(0xF000, 0x4818), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 761: {"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiFt"}, ! 762: ! 763: {"fsabsb", two(0xF000, 0x5858), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 764: {"fsabsd", two(0xF000, 0x5458), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 765: {"fsabsl", two(0xF000, 0x4058), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 766: #ifdef PACKED_IMMEDIATE ! 767: {"fsabsp", two(0xF000, 0x4C58), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 768: #else ! 769: {"fsabsp", two(0xF000, 0x4C58), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 770: #endif ! 771: {"fsabss", two(0xF000, 0x4458), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 772: {"fsabsw", two(0xF000, 0x5058), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 773: {"fsabsx", two(0xF000, 0x0058), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 774: {"fsabsx", two(0xF000, 0x4858), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 775: {"fsabsx", two(0xF000, 0x0058), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 776: ! 777: {"fdabsb", two(0xF000, 0x585C), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 778: {"fdabsd", two(0xF000, 0x545C), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 779: {"fdabsl", two(0xF000, 0x405C), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 780: #ifdef PACKED_IMMEDIATE ! 781: {"fdabsp", two(0xF000, 0x4C5C), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 782: #else ! 783: {"fdabsp", two(0xF000, 0x4C5C), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 784: #endif ! 785: {"fdabss", two(0xF000, 0x445C), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 786: {"fdabsw", two(0xF000, 0x505C), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 787: {"fdabsx", two(0xF000, 0x005C), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 788: {"fdabsx", two(0xF000, 0x485C), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 789: {"fdabsx", two(0xF000, 0x005C), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 790: ! 791: {"facosb", two(0xF000, 0x581C), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 792: {"facosd", two(0xF000, 0x541C), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 793: {"facosl", two(0xF000, 0x401C), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 794: #ifdef PACKED_IMMEDIATE ! 795: {"facosp", two(0xF000, 0x4C1C), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 796: #else ! 797: {"facosp", two(0xF000, 0x4C1C), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 798: #endif ! 799: {"facoss", two(0xF000, 0x441C), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 800: {"facosw", two(0xF000, 0x501C), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 801: {"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 802: {"facosx", two(0xF000, 0x481C), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 803: {"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiFt"}, ! 804: ! 805: {"faddb", two(0xF000, 0x5822), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 806: {"faddd", two(0xF000, 0x5422), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 807: {"faddl", two(0xF000, 0x4022), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 808: #ifdef PACKED_IMMEDIATE ! 809: {"faddp", two(0xF000, 0x4C22), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 810: #else ! 811: {"faddp", two(0xF000, 0x4C22), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 812: #endif ! 813: {"fadds", two(0xF000, 0x4422), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 814: {"faddw", two(0xF000, 0x5022), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 815: {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 816: {"faddx", two(0xF000, 0x4822), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 817: #ifdef NeXT ! 818: {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiFt"}, ! 819: #else ! 820: /* {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiFt"}, JF removed */ ! 821: #endif ! 822: ! 823: {"fsaddb", two(0xF000, 0x5862), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 824: {"fsaddd", two(0xF000, 0x5462), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 825: {"fsaddl", two(0xF000, 0x4062), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 826: #ifdef PACKED_IMMEDIATE ! 827: {"fsaddp", two(0xF000, 0x4C62), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 828: #else ! 829: {"fsaddp", two(0xF000, 0x4C62), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 830: #endif ! 831: {"fsadds", two(0xF000, 0x4462), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 832: {"fsaddw", two(0xF000, 0x5062), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 833: {"fsaddx", two(0xF000, 0x0062), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 834: {"fsaddx", two(0xF000, 0x4862), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 835: {"fsaddx", two(0xF000, 0x0062), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 836: ! 837: {"fdaddb", two(0xF000, 0x5866), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 838: {"fdaddd", two(0xF000, 0x5466), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 839: {"fdaddl", two(0xF000, 0x4066), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 840: #ifdef PACKED_IMMEDIATE ! 841: {"fdaddp", two(0xF000, 0x4C66), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 842: #else ! 843: {"fdaddp", two(0xF000, 0x4C66), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 844: #endif ! 845: {"fdadds", two(0xF000, 0x4466), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 846: {"fdaddw", two(0xF000, 0x5066), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 847: {"fdaddx", two(0xF000, 0x0066), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 848: {"fdaddx", two(0xF000, 0x4866), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 849: {"fdaddx", two(0xF000, 0x0066), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 850: ! 851: {"fasinb", two(0xF000, 0x580C), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 852: {"fasind", two(0xF000, 0x540C), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 853: {"fasinl", two(0xF000, 0x400C), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 854: #ifdef PACKED_IMMEDIATE ! 855: {"fasinp", two(0xF000, 0x4C0C), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 856: #else ! 857: {"fasinp", two(0xF000, 0x4C0C), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 858: #endif ! 859: {"fasins", two(0xF000, 0x440C), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 860: {"fasinw", two(0xF000, 0x500C), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 861: {"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 862: {"fasinx", two(0xF000, 0x480C), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 863: {"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiFt"}, ! 864: ! 865: {"fatanb", two(0xF000, 0x580A), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 866: {"fatand", two(0xF000, 0x540A), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 867: {"fatanl", two(0xF000, 0x400A), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 868: #ifdef PACKED_IMMEDIATE ! 869: {"fatanp", two(0xF000, 0x4C0A), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 870: #else ! 871: {"fatanp", two(0xF000, 0x4C0A), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 872: #endif ! 873: {"fatans", two(0xF000, 0x440A), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 874: {"fatanw", two(0xF000, 0x500A), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 875: {"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 876: {"fatanx", two(0xF000, 0x480A), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 877: {"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiFt"}, ! 878: ! 879: {"fatanhb", two(0xF000, 0x580D), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 880: {"fatanhd", two(0xF000, 0x540D), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 881: {"fatanhl", two(0xF000, 0x400D), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 882: #ifdef PACKED_IMMEDIATE ! 883: {"fatanhp", two(0xF000, 0x4C0D), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 884: #else ! 885: {"fatanhp", two(0xF000, 0x4C0D), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 886: #endif ! 887: {"fatanhs", two(0xF000, 0x440D), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 888: {"fatanhw", two(0xF000, 0x500D), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 889: {"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 890: {"fatanhx", two(0xF000, 0x480D), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 891: {"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiFt"}, ! 892: ! 893: {"fbeq", one(0xF081), one(0xF1BF), "IdBc"}, ! 894: {"fbf", one(0xF080), one(0xF1BF), "IdBc"}, ! 895: {"fbge", one(0xF093), one(0xF1BF), "IdBc"}, ! 896: {"fbgl", one(0xF096), one(0xF1BF), "IdBc"}, ! 897: {"fbgle", one(0xF097), one(0xF1BF), "IdBc"}, ! 898: {"fbgt", one(0xF092), one(0xF1BF), "IdBc"}, ! 899: {"fble", one(0xF095), one(0xF1BF), "IdBc"}, ! 900: {"fblt", one(0xF094), one(0xF1BF), "IdBc"}, ! 901: {"fbne", one(0xF08E), one(0xF1BF), "IdBc"}, ! 902: {"fbnge", one(0xF09C), one(0xF1BF), "IdBc"}, ! 903: {"fbngl", one(0xF099), one(0xF1BF), "IdBc"}, ! 904: {"fbngle", one(0xF098), one(0xF1BF), "IdBc"}, ! 905: {"fbngt", one(0xF09D), one(0xF1BF), "IdBc"}, ! 906: {"fbnle", one(0xF09A), one(0xF1BF), "IdBc"}, ! 907: {"fbnlt", one(0xF09B), one(0xF1BF), "IdBc"}, ! 908: {"fboge", one(0xF083), one(0xF1BF), "IdBc"}, ! 909: {"fbogl", one(0xF086), one(0xF1BF), "IdBc"}, ! 910: {"fbogt", one(0xF082), one(0xF1BF), "IdBc"}, ! 911: {"fbole", one(0xF085), one(0xF1BF), "IdBc"}, ! 912: {"fbolt", one(0xF084), one(0xF1BF), "IdBc"}, ! 913: {"fbor", one(0xF087), one(0xF1BF), "IdBc"}, ! 914: {"fbseq", one(0xF091), one(0xF1BF), "IdBc"}, ! 915: {"fbsf", one(0xF090), one(0xF1BF), "IdBc"}, ! 916: {"fbsne", one(0xF09E), one(0xF1BF), "IdBc"}, ! 917: {"fbst", one(0xF09F), one(0xF1BF), "IdBc"}, ! 918: {"fbt", one(0xF08F), one(0xF1BF), "IdBc"}, ! 919: {"fbueq", one(0xF089), one(0xF1BF), "IdBc"}, ! 920: {"fbuge", one(0xF08B), one(0xF1BF), "IdBc"}, ! 921: {"fbugt", one(0xF08A), one(0xF1BF), "IdBc"}, ! 922: {"fbule", one(0xF08D), one(0xF1BF), "IdBc"}, ! 923: {"fbult", one(0xF08C), one(0xF1BF), "IdBc"}, ! 924: {"fbun", one(0xF088), one(0xF1BF), "IdBc"}, ! 925: ! 926: {"fcmpb", two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 927: {"fcmpd", two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 928: {"fcmpl", two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 929: #ifdef PACKED_IMMEDIATE ! 930: {"fcmpp", two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 931: #else ! 932: {"fcmpp", two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 933: #endif ! 934: {"fcmps", two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 935: {"fcmpw", two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 936: {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 937: {"fcmpx", two(0xF000, 0x4838), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 938: #ifdef NeXT ! 939: {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiFt"}, ! 940: #else ! 941: /* {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiFt"}, JF removed */ ! 942: #endif ! 943: ! 944: {"fcosb", two(0xF000, 0x581D), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 945: {"fcosd", two(0xF000, 0x541D), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 946: {"fcosl", two(0xF000, 0x401D), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 947: #ifdef PACKED_IMMEDIATE ! 948: {"fcosp", two(0xF000, 0x4C1D), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 949: #else ! 950: {"fcosp", two(0xF000, 0x4C1D), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 951: #endif ! 952: {"fcoss", two(0xF000, 0x441D), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 953: {"fcosw", two(0xF000, 0x501D), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 954: {"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 955: {"fcosx", two(0xF000, 0x481D), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 956: {"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiFt"}, ! 957: ! 958: {"fcoshb", two(0xF000, 0x5819), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 959: {"fcoshd", two(0xF000, 0x5419), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 960: {"fcoshl", two(0xF000, 0x4019), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 961: #ifdef PACKED_IMMEDIATE ! 962: {"fcoshp", two(0xF000, 0x4C19), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 963: #else ! 964: {"fcoshp", two(0xF000, 0x4C19), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 965: #endif ! 966: {"fcoshs", two(0xF000, 0x4419), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 967: {"fcoshw", two(0xF000, 0x5019), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 968: {"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 969: {"fcoshx", two(0xF000, 0x4819), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 970: {"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiFt"}, ! 971: ! 972: {"fdbeq", two(0xF048, 0x0001), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 973: {"fdbf", two(0xF048, 0x0000), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 974: {"fdbge", two(0xF048, 0x0013), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 975: {"fdbgl", two(0xF048, 0x0016), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 976: {"fdbgle", two(0xF048, 0x0017), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 977: {"fdbgt", two(0xF048, 0x0012), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 978: {"fdble", two(0xF048, 0x0015), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 979: {"fdblt", two(0xF048, 0x0014), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 980: {"fdbne", two(0xF048, 0x000E), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 981: {"fdbnge", two(0xF048, 0x001C), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 982: {"fdbngl", two(0xF048, 0x0019), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 983: {"fdbngle", two(0xF048, 0x0018), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 984: {"fdbngt", two(0xF048, 0x001D), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 985: {"fdbnle", two(0xF048, 0x001A), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 986: {"fdbnlt", two(0xF048, 0x001B), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 987: {"fdboge", two(0xF048, 0x0003), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 988: {"fdbogl", two(0xF048, 0x0006), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 989: {"fdbogt", two(0xF048, 0x0002), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 990: {"fdbole", two(0xF048, 0x0005), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 991: {"fdbolt", two(0xF048, 0x0004), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 992: {"fdbor", two(0xF048, 0x0007), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 993: {"fdbseq", two(0xF048, 0x0011), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 994: {"fdbsf", two(0xF048, 0x0010), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 995: {"fdbsne", two(0xF048, 0x001E), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 996: {"fdbst", two(0xF048, 0x001F), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 997: {"fdbt", two(0xF048, 0x000F), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 998: {"fdbueq", two(0xF048, 0x0009), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 999: {"fdbuge", two(0xF048, 0x000B), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 1000: {"fdbugt", two(0xF048, 0x000A), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 1001: {"fdbule", two(0xF048, 0x000D), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 1002: {"fdbult", two(0xF048, 0x000C), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 1003: {"fdbun", two(0xF048, 0x0008), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 1004: ! 1005: {"fdivb", two(0xF000, 0x5820), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1006: {"fdivd", two(0xF000, 0x5420), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1007: {"fdivl", two(0xF000, 0x4020), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1008: #ifdef PACKED_IMMEDIATE ! 1009: {"fdivp", two(0xF000, 0x4C20), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1010: #else ! 1011: {"fdivp", two(0xF000, 0x4C20), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1012: #endif ! 1013: {"fdivs", two(0xF000, 0x4420), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1014: {"fdivw", two(0xF000, 0x5020), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1015: {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1016: {"fdivx", two(0xF000, 0x4820), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1017: #ifdef NeXT ! 1018: {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiFt"}, ! 1019: #else ! 1020: /* {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiFt"}, JF */ ! 1021: #endif ! 1022: ! 1023: {"fsdivb", two(0xF000, 0x5860), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1024: {"fsdivd", two(0xF000, 0x5460), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1025: {"fsdivl", two(0xF000, 0x4060), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1026: #ifdef PACKED_IMMEDIATE ! 1027: {"fsdivp", two(0xF000, 0x4C60), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1028: #else ! 1029: {"fsdivp", two(0xF000, 0x4C60), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1030: #endif ! 1031: {"fsdivs", two(0xF000, 0x4460), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1032: {"fsdivw", two(0xF000, 0x5060), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1033: {"fsdivx", two(0xF000, 0x0060), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1034: {"fsdivx", two(0xF000, 0x4860), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1035: {"fsdivx", two(0xF000, 0x0060), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1036: ! 1037: {"fddivb", two(0xF000, 0x5864), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1038: {"fddivd", two(0xF000, 0x5464), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1039: {"fddivl", two(0xF000, 0x4064), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1040: #ifdef PACKED_IMMEDIATE ! 1041: {"fddivp", two(0xF000, 0x4C64), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1042: #else ! 1043: {"fddivp", two(0xF000, 0x4C64), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1044: #endif ! 1045: {"fddivs", two(0xF000, 0x4464), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1046: {"fddivw", two(0xF000, 0x5064), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1047: {"fddivx", two(0xF000, 0x0064), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1048: {"fddivx", two(0xF000, 0x4864), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1049: {"fddivx", two(0xF000, 0x0064), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1050: ! 1051: {"fetoxb", two(0xF000, 0x5810), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1052: {"fetoxd", two(0xF000, 0x5410), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1053: {"fetoxl", two(0xF000, 0x4010), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1054: #ifdef PACKED_IMMEDIATE ! 1055: {"fetoxp", two(0xF000, 0x4C10), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1056: #else ! 1057: {"fetoxp", two(0xF000, 0x4C10), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1058: #endif ! 1059: {"fetoxs", two(0xF000, 0x4410), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1060: {"fetoxw", two(0xF000, 0x5010), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1061: {"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1062: {"fetoxx", two(0xF000, 0x4810), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1063: {"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiFt"}, ! 1064: ! 1065: {"fetoxm1b", two(0xF000, 0x5808), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1066: {"fetoxm1d", two(0xF000, 0x5408), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1067: {"fetoxm1l", two(0xF000, 0x4008), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1068: #ifdef PACKED_IMMEDIATE ! 1069: {"fetoxm1p", two(0xF000, 0x4C08), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1070: #else ! 1071: {"fetoxm1p", two(0xF000, 0x4C08), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1072: #endif ! 1073: {"fetoxm1s", two(0xF000, 0x4408), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1074: {"fetoxm1w", two(0xF000, 0x5008), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1075: {"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1076: {"fetoxm1x", two(0xF000, 0x4808), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1077: {"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiFt"}, ! 1078: ! 1079: {"fgetexpb", two(0xF000, 0x581E), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1080: {"fgetexpd", two(0xF000, 0x541E), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1081: {"fgetexpl", two(0xF000, 0x401E), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1082: #ifdef PACKED_IMMEDIATE ! 1083: {"fgetexpp", two(0xF000, 0x4C1E), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1084: #else ! 1085: {"fgetexpp", two(0xF000, 0x4C1E), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1086: #endif ! 1087: {"fgetexps", two(0xF000, 0x441E), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1088: {"fgetexpw", two(0xF000, 0x501E), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1089: {"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1090: {"fgetexpx", two(0xF000, 0x481E), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1091: {"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiFt"}, ! 1092: ! 1093: {"fgetmanb", two(0xF000, 0x581F), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1094: {"fgetmand", two(0xF000, 0x541F), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1095: {"fgetmanl", two(0xF000, 0x401F), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1096: #ifdef PACKED_IMMEDIATE ! 1097: {"fgetmanp", two(0xF000, 0x4C1F), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1098: #else ! 1099: {"fgetmanp", two(0xF000, 0x4C1F), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1100: #endif ! 1101: {"fgetmans", two(0xF000, 0x441F), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1102: {"fgetmanw", two(0xF000, 0x501F), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1103: {"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1104: {"fgetmanx", two(0xF000, 0x481F), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1105: {"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiFt"}, ! 1106: ! 1107: {"fintb", two(0xF000, 0x5801), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1108: {"fintd", two(0xF000, 0x5401), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1109: {"fintl", two(0xF000, 0x4001), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1110: #ifdef PACKED_IMMEDIATE ! 1111: {"fintp", two(0xF000, 0x4C01), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1112: #else ! 1113: {"fintp", two(0xF000, 0x4C01), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1114: #endif ! 1115: {"fints", two(0xF000, 0x4401), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1116: {"fintw", two(0xF000, 0x5001), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1117: {"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1118: {"fintx", two(0xF000, 0x4801), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1119: {"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiFt"}, ! 1120: ! 1121: {"fintrzb", two(0xF000, 0x5803), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1122: {"fintrzd", two(0xF000, 0x5403), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1123: {"fintrzl", two(0xF000, 0x4003), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1124: #ifdef PACKED_IMMEDIATE ! 1125: {"fintrzp", two(0xF000, 0x4C03), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1126: #else ! 1127: {"fintrzp", two(0xF000, 0x4C03), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1128: #endif ! 1129: {"fintrzs", two(0xF000, 0x4403), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1130: {"fintrzw", two(0xF000, 0x5003), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1131: {"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1132: {"fintrzx", two(0xF000, 0x4803), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1133: {"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiFt"}, ! 1134: ! 1135: {"flog10b", two(0xF000, 0x5815), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1136: {"flog10d", two(0xF000, 0x5415), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1137: {"flog10l", two(0xF000, 0x4015), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1138: #ifdef PACKED_IMMEDIATE ! 1139: {"flog10p", two(0xF000, 0x4C15), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1140: #else ! 1141: {"flog10p", two(0xF000, 0x4C15), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1142: #endif ! 1143: {"flog10s", two(0xF000, 0x4415), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1144: {"flog10w", two(0xF000, 0x5015), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1145: {"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1146: {"flog10x", two(0xF000, 0x4815), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1147: {"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiFt"}, ! 1148: ! 1149: {"flog2b", two(0xF000, 0x5816), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1150: {"flog2d", two(0xF000, 0x5416), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1151: {"flog2l", two(0xF000, 0x4016), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1152: #ifdef PACKED_IMMEDIATE ! 1153: {"flog2p", two(0xF000, 0x4C16), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1154: #else ! 1155: {"flog2p", two(0xF000, 0x4C16), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1156: #endif ! 1157: {"flog2s", two(0xF000, 0x4416), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1158: {"flog2w", two(0xF000, 0x5016), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1159: {"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1160: {"flog2x", two(0xF000, 0x4816), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1161: {"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiFt"}, ! 1162: ! 1163: {"flognb", two(0xF000, 0x5814), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1164: {"flognd", two(0xF000, 0x5414), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1165: {"flognl", two(0xF000, 0x4014), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1166: #ifdef PACKED_IMMEDIATE ! 1167: {"flognp", two(0xF000, 0x4C14), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1168: #else ! 1169: {"flognp", two(0xF000, 0x4C14), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1170: #endif ! 1171: {"flogns", two(0xF000, 0x4414), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1172: {"flognw", two(0xF000, 0x5014), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1173: {"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1174: {"flognx", two(0xF000, 0x4814), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1175: {"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiFt"}, ! 1176: ! 1177: {"flognp1b", two(0xF000, 0x5806), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1178: {"flognp1d", two(0xF000, 0x5406), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1179: {"flognp1l", two(0xF000, 0x4006), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1180: #ifdef PACKED_IMMEDIATE ! 1181: {"flognp1p", two(0xF000, 0x4C06), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1182: #else ! 1183: {"flognp1p", two(0xF000, 0x4C06), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1184: #endif ! 1185: {"flognp1s", two(0xF000, 0x4406), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1186: {"flognp1w", two(0xF000, 0x5006), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1187: {"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1188: {"flognp1x", two(0xF000, 0x4806), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1189: {"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiFt"}, ! 1190: ! 1191: {"fmodb", two(0xF000, 0x5821), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1192: {"fmodd", two(0xF000, 0x5421), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1193: {"fmodl", two(0xF000, 0x4021), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1194: #ifdef PACKED_IMMEDIATE ! 1195: {"fmodp", two(0xF000, 0x4C21), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1196: #else ! 1197: {"fmodp", two(0xF000, 0x4C21), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1198: #endif ! 1199: {"fmods", two(0xF000, 0x4421), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1200: {"fmodw", two(0xF000, 0x5021), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1201: {"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1202: {"fmodx", two(0xF000, 0x4821), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1203: #ifdef NeXT ! 1204: {"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiFt"}, ! 1205: #else ! 1206: /* {"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiFt"}, JF */ ! 1207: #endif ! 1208: ! 1209: {"fmoveb", two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "Ii;bF7"}, /* fmove from <ea> to fp<n> */ ! 1210: {"fmoveb", two(0xF000, 0x7800), two(0xF1C0, 0xFC7F), "IiF7@b"}, /* fmove from fp<n> to <ea> */ ! 1211: {"fmoved", two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "Ii;FF7"}, /* fmove from <ea> to fp<n> */ ! 1212: {"fmoved", two(0xF000, 0x7400), two(0xF1C0, 0xFC7F), "IiF7@F"}, /* fmove from fp<n> to <ea> */ ! 1213: {"fmovel", two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "Ii;lF7"}, /* fmove from <ea> to fp<n> */ ! 1214: {"fmovel", two(0xF000, 0x6000), two(0xF1C0, 0xFC7F), "IiF7@l"}, /* fmove from fp<n> to <ea> */ ! 1215: /* Warning: The addressing modes on these are probably not right: ! 1216: esp, Areg direct is only allowed for FPI */ ! 1217: /* fmove.l from/to system control registers: */ ! 1218: {"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"}, ! 1219: {"fmovel", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ls8"}, ! 1220: ! 1221: /* {"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"}, ! 1222: {"fmovel", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*ss8"}, */ ! 1223: ! 1224: #ifdef PACKED_IMMEDIATE ! 1225: {"fmovep", two(0xF000, 0x4C00), two(0xF1C0, 0xFC7F), "Ii;pF7"}, /* fmove from <ea> to fp<n> */ ! 1226: #else ! 1227: {"fmovep", two(0xF000, 0x4C00), two(0xF1C0, 0xFC7F), "Ii@pF7"}, /* fmove from <ea> to fp<n> */ ! 1228: #endif ! 1229: {"fmovep", two(0xF000, 0x6C00), two(0xF1C0, 0xFC00), "IiF7@pkC"}, /* fmove.p with k-factors: */ ! 1230: {"fmovep", two(0xF000, 0x7C00), two(0xF1C0, 0xFC0F), "IiF7@pDk"}, /* fmove.p with k-factors: */ ! 1231: ! 1232: {"fmoves", two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "Ii;fF7"}, /* fmove from <ea> to fp<n> */ ! 1233: {"fmoves", two(0xF000, 0x6400), two(0xF1C0, 0xFC7F), "IiF7@f"}, /* fmove from fp<n> to <ea> */ ! 1234: {"fmovew", two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "Ii;wF7"}, /* fmove from <ea> to fp<n> */ ! 1235: {"fmovew", two(0xF000, 0x7000), two(0xF1C0, 0xFC7F), "IiF7@w"}, /* fmove from fp<n> to <ea> */ ! 1236: {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiF8F7"}, /* fmove from <ea> to fp<n> */ ! 1237: {"fmovex", two(0xF000, 0x4800), two(0xF1C0, 0xFC7F), "Ii;xF7"}, /* fmove from <ea> to fp<n> */ ! 1238: {"fmovex", two(0xF000, 0x6800), two(0xF1C0, 0xFC7F), "IiF7@x"}, /* fmove from fp<n> to <ea> */ ! 1239: #ifdef NeXT ! 1240: {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiFt"}, /* fmove from <ea> to fp<n> */ ! 1241: #else ! 1242: /* JF removed {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiFt"}, / * fmove from <ea> to fp<n> */ ! 1243: #endif ! 1244: ! 1245: {"fsmoveb", two(0xF000, 0x5840), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1246: {"fsmoved", two(0xF000, 0x5440), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1247: {"fsmovel", two(0xF000, 0x4040), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1248: #ifdef PACKED_IMMEDIATE ! 1249: {"fsmovep", two(0xF000, 0x4C40), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1250: #else ! 1251: {"fsmovep", two(0xF000, 0x4C40), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1252: #endif ! 1253: {"fsmoves", two(0xF000, 0x4440), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1254: {"fsmovew", two(0xF000, 0x5040), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1255: {"fsmovex", two(0xF000, 0x0040), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1256: {"fsmovex", two(0xF000, 0x4840), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1257: {"fsmovex", two(0xF000, 0x0040), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1258: ! 1259: {"fdmoveb", two(0xF000, 0x5844), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1260: {"fdmoved", two(0xF000, 0x5444), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1261: {"fdmovel", two(0xF000, 0x4044), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1262: #ifdef PACKED_IMMEDIATE ! 1263: {"fdmovep", two(0xF000, 0x4C44), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1264: #else ! 1265: {"fdmovep", two(0xF000, 0x4C44), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1266: #endif ! 1267: {"fdmoves", two(0xF000, 0x4444), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1268: {"fdmovew", two(0xF000, 0x5044), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1269: {"fdmovex", two(0xF000, 0x0044), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1270: {"fdmovex", two(0xF000, 0x4844), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1271: {"fdmovex", two(0xF000, 0x0044), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1272: ! 1273: {"fmovecrx", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"}, /* fmovecr.x #ccc, FPn */ ! 1274: {"fmovecr", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"}, ! 1275: ! 1276: /* Other fmovemx. */ ! 1277: {"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s"}, /* fmovem.x to autodecrement, static and dynamic */ ! 1278: {"fmovemx", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */ ! 1279: ! 1280: {"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x to control, static and dynamic: */ ! 1281: {"fmovemx", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */ ! 1282: ! 1283: {"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3"}, /* fmovem.x from autoincrement, static and dynamic: */ ! 1284: {"fmovemx", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk"}, /* fmovem.x from autoincrement, static and dynamic: */ ! 1285: ! 1286: {"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3"}, /* fmovem.x from control, static and dynamic: */ ! 1287: {"fmovemx", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk"}, /* fmovem.x from control, static and dynamic: */ ! 1288: ! 1289: #ifdef NeXT ! 1290: /* These four must be the last fmovemx's. See the comment above with the ! 1291: header "REGISTER LIST BUG:" */ ! 1292: #endif ! 1293: {"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s"}, /* fmovem.x to autodecrement, static and dynamic */ ! 1294: {"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s"}, /* fmovem.x to control, static and dynamic: */ ! 1295: {"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3"}, /* fmovem.x from autoincrement, static and dynamic: */ ! 1296: {"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3"}, /* fmovem.x from control, static and dynamic: */ ! 1297: ! 1298: {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s"}, ! 1299: {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Ii#8@s"}, ! 1300: {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"}, ! 1301: ! 1302: {"fmoveml", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8"}, ! 1303: {"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*s#8"}, ! 1304: {"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8"}, ! 1305: ! 1306: /* Alternate mnemonics for GNU CC */ ! 1307: {"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s"}, /* fmovem.x to autodecrement, static and dynamic */ ! 1308: {"fmovem", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */ ! 1309: ! 1310: {"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x to control, static and dynamic: */ ! 1311: {"fmovem", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */ ! 1312: ! 1313: {"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3"}, /* fmovem.x from autoincrement, static and dynamic: */ ! 1314: {"fmovem", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "Ii+sDk"}, /* fmovem.x from autoincrement, static and dynamic: */ ! 1315: ! 1316: {"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&s#3"}, /* fmovem.x from control, static and dynamic: */ ! 1317: {"fmovem", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "Ii&sDk"}, /* fmovem.x from control, static and dynamic: */ ! 1318: ! 1319: /* fmoveml a FP-control register */ ! 1320: {"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"}, ! 1321: {"fmovem", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8"}, ! 1322: ! 1323: /* fmoveml a FP-control reglist */ ! 1324: {"fmovem", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8@s"}, ! 1325: {"fmovem", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8"}, ! 1326: ! 1327: #ifdef NeXT ! 1328: /* These four must be the last fmovem's. See the comment above with the ! 1329: header "REGISTER LIST BUG:" */ ! 1330: #endif ! 1331: /* fmovemx with register lists */ ! 1332: {"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s"}, /* fmovem.x to autodecrement, static and dynamic */ ! 1333: {"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s"}, /* fmovem.x to control, static and dynamic: */ ! 1334: {"fmovem", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3"}, /* fmovem.x from autoincrement, static and dynamic: */ ! 1335: {"fmovem", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id&sl3"}, /* fmovem.x from control, static and dynamic: */ ! 1336: ! 1337: {"fmulb", two(0xF000, 0x5823), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1338: {"fmuld", two(0xF000, 0x5423), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1339: {"fmull", two(0xF000, 0x4023), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1340: #ifdef PACKED_IMMEDIATE ! 1341: {"fmulp", two(0xF000, 0x4C23), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1342: #else ! 1343: {"fmulp", two(0xF000, 0x4C23), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1344: #endif ! 1345: {"fmuls", two(0xF000, 0x4423), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1346: {"fmulw", two(0xF000, 0x5023), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1347: {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1348: {"fmulx", two(0xF000, 0x4823), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1349: #ifdef NeXT ! 1350: {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiFt"}, ! 1351: #else ! 1352: /* {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiFt"}, JF */ ! 1353: #endif ! 1354: ! 1355: {"fsmulb", two(0xF000, 0x5863), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1356: {"fsmuld", two(0xF000, 0x5463), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1357: {"fsmull", two(0xF000, 0x4063), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1358: #ifdef PACKED_IMMEDIATE ! 1359: {"fsmulp", two(0xF000, 0x4C63), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1360: #else ! 1361: {"fsmulp", two(0xF000, 0x4C63), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1362: #endif ! 1363: {"fsmuls", two(0xF000, 0x4463), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1364: {"fsmulw", two(0xF000, 0x5063), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1365: {"fsmulx", two(0xF000, 0x0063), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1366: {"fsmulx", two(0xF000, 0x4863), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1367: {"fsmulx", two(0xF000, 0x0063), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1368: ! 1369: {"fdmulb", two(0xF000, 0x5867), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1370: {"fdmuld", two(0xF000, 0x5467), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1371: {"fdmull", two(0xF000, 0x4067), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1372: #ifdef PACKED_IMMEDIATE ! 1373: {"fdmulp", two(0xF000, 0x4C67), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1374: #else ! 1375: {"fdmulp", two(0xF000, 0x4C67), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1376: #endif ! 1377: {"fdmuls", two(0xF000, 0x4467), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1378: {"fdmulw", two(0xF000, 0x5067), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1379: {"fdmulx", two(0xF000, 0x0067), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1380: {"fdmulx", two(0xF000, 0x4867), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1381: {"fdmulx", two(0xF000, 0x0067), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1382: ! 1383: {"fnegb", two(0xF000, 0x581A), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1384: {"fnegd", two(0xF000, 0x541A), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1385: {"fnegl", two(0xF000, 0x401A), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1386: #ifdef PACKED_IMMEDIATE ! 1387: {"fnegp", two(0xF000, 0x4C1A), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1388: #else ! 1389: {"fnegp", two(0xF000, 0x4C1A), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1390: #endif ! 1391: {"fnegs", two(0xF000, 0x441A), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1392: {"fnegw", two(0xF000, 0x501A), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1393: {"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1394: {"fnegx", two(0xF000, 0x481A), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1395: {"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiFt"}, ! 1396: ! 1397: {"fsnegb", two(0xF000, 0x585A), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1398: {"fsnegd", two(0xF000, 0x545A), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1399: {"fsnegl", two(0xF000, 0x405A), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1400: #ifdef PACKED_IMMEDIATE ! 1401: {"fsnegp", two(0xF000, 0x4C5A), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1402: #else ! 1403: {"fsnegp", two(0xF000, 0x4C5A), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1404: #endif ! 1405: {"fsnegs", two(0xF000, 0x445A), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1406: {"fsnegw", two(0xF000, 0x505A), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1407: {"fsnegx", two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1408: {"fsnegx", two(0xF000, 0x485A), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1409: {"fsnegx", two(0xF000, 0x005A), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1410: ! 1411: {"fdnegb", two(0xF000, 0x585E), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1412: {"fdnegd", two(0xF000, 0x545E), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1413: {"fdnegl", two(0xF000, 0x405E), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1414: #ifdef PACKED_IMMEDIATE ! 1415: {"fdnegp", two(0xF000, 0x4C5E), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1416: #else ! 1417: {"fdnegp", two(0xF000, 0x4C5E), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1418: #endif ! 1419: {"fdnegs", two(0xF000, 0x445E), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1420: {"fdnegw", two(0xF000, 0x505E), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1421: {"fdnegx", two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1422: {"fdnegx", two(0xF000, 0x485E), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1423: {"fdnegx", two(0xF000, 0x005E), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1424: ! 1425: {"fnop", two(0xF280, 0x0000), two(0xFFFF, 0xFFFF), "Ii"}, ! 1426: ! 1427: {"fremb", two(0xF000, 0x5825), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1428: {"fremd", two(0xF000, 0x5425), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1429: {"freml", two(0xF000, 0x4025), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1430: #ifdef PACKED_IMMEDIATE ! 1431: {"fremp", two(0xF000, 0x4C25), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1432: #else ! 1433: {"fremp", two(0xF000, 0x4C25), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1434: #endif ! 1435: {"frems", two(0xF000, 0x4425), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1436: {"fremw", two(0xF000, 0x5025), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1437: {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1438: {"fremx", two(0xF000, 0x4825), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1439: #ifdef NeXT ! 1440: {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiFt"}, ! 1441: #else ! 1442: /* {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiFt"}, JF */ ! 1443: #endif ! 1444: ! 1445: {"frestore", one(0xF140), one(0xF1C0), "Id&s"}, ! 1446: {"frestore", one(0xF158), one(0xF1F8), "Id+s"}, ! 1447: {"fsave", one(0xF100), one(0xF1C0), "Id&s"}, ! 1448: {"fsave", one(0xF120), one(0xF1F8), "Id-s"}, ! 1449: ! 1450: {"fsincosb", two(0xF000, 0x5830), two(0xF1C0, 0xFC78), "Ii;bFCF7"}, ! 1451: {"fsincosd", two(0xF000, 0x5430), two(0xF1C0, 0xFC78), "Ii;FFCF7"}, ! 1452: {"fsincosl", two(0xF000, 0x4030), two(0xF1C0, 0xFC78), "Ii;lFCF7"}, ! 1453: #ifdef PACKED_IMMEDIATE ! 1454: {"fsincosp", two(0xF000, 0x4C30), two(0xF1C0, 0xFC78), "Ii;pFCF7"}, ! 1455: #else ! 1456: {"fsincosp", two(0xF000, 0x4C30), two(0xF1C0, 0xFC78), "Ii@pFCF7"}, ! 1457: #endif ! 1458: {"fsincoss", two(0xF000, 0x4430), two(0xF1C0, 0xFC78), "Ii;fFCF7"}, ! 1459: {"fsincosw", two(0xF000, 0x5030), two(0xF1C0, 0xFC78), "Ii;wFCF7"}, ! 1460: {"fsincosx", two(0xF000, 0x0030), two(0xF1C0, 0xE078), "IiF8FCF7"}, ! 1461: {"fsincosx", two(0xF000, 0x4830), two(0xF1C0, 0xFC78), "Ii;xFCF7"}, ! 1462: ! 1463: {"fscaleb", two(0xF000, 0x5826), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1464: {"fscaled", two(0xF000, 0x5426), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1465: {"fscalel", two(0xF000, 0x4026), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1466: #ifdef PACKED_IMMEDIATE ! 1467: {"fscalep", two(0xF000, 0x4C26), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1468: #else ! 1469: {"fscalep", two(0xF000, 0x4C26), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1470: #endif ! 1471: {"fscales", two(0xF000, 0x4426), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1472: {"fscalew", two(0xF000, 0x5026), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1473: {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1474: {"fscalex", two(0xF000, 0x4826), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1475: #ifdef NeXT ! 1476: {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiFt"}, ! 1477: #else ! 1478: /* {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiFt"}, JF */ ! 1479: #endif ! 1480: ! 1481: /* $ is necessary to prevent the assembler from using PC-relative. ! 1482: If @ were used, "label: fseq label" could produce "ftrapeq", ! 1483: because "label" became "pc@label". */ ! 1484: {"fseq", two(0xF040, 0x0001), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1485: {"fsf", two(0xF040, 0x0000), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1486: {"fsge", two(0xF040, 0x0013), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1487: {"fsgl", two(0xF040, 0x0016), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1488: {"fsgle", two(0xF040, 0x0017), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1489: {"fsgt", two(0xF040, 0x0012), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1490: {"fsle", two(0xF040, 0x0015), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1491: {"fslt", two(0xF040, 0x0014), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1492: {"fsne", two(0xF040, 0x000E), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1493: {"fsnge", two(0xF040, 0x001C), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1494: {"fsngl", two(0xF040, 0x0019), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1495: {"fsngle", two(0xF040, 0x0018), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1496: {"fsngt", two(0xF040, 0x001D), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1497: {"fsnle", two(0xF040, 0x001A), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1498: {"fsnlt", two(0xF040, 0x001B), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1499: {"fsoge", two(0xF040, 0x0003), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1500: {"fsogl", two(0xF040, 0x0006), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1501: {"fsogt", two(0xF040, 0x0002), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1502: {"fsole", two(0xF040, 0x0005), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1503: {"fsolt", two(0xF040, 0x0004), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1504: {"fsor", two(0xF040, 0x0007), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1505: {"fsseq", two(0xF040, 0x0011), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1506: {"fssf", two(0xF040, 0x0010), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1507: {"fssne", two(0xF040, 0x001E), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1508: {"fsst", two(0xF040, 0x001F), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1509: {"fst", two(0xF040, 0x000F), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1510: {"fsueq", two(0xF040, 0x0009), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1511: {"fsuge", two(0xF040, 0x000B), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1512: {"fsugt", two(0xF040, 0x000A), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1513: {"fsule", two(0xF040, 0x000D), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1514: {"fsult", two(0xF040, 0x000C), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1515: {"fsun", two(0xF040, 0x0008), two(0xF1C0, 0xFFFF), "Ii$s"}, ! 1516: ! 1517: {"fsgldivb", two(0xF000, 0x5824), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1518: {"fsgldivd", two(0xF000, 0x5424), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1519: {"fsgldivl", two(0xF000, 0x4024), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1520: #ifdef PACKED_IMMEDIATE ! 1521: {"fsgldivp", two(0xF000, 0x4C24), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1522: #else ! 1523: {"fsgldivp", two(0xF000, 0x4C24), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1524: #endif ! 1525: {"fsgldivs", two(0xF000, 0x4424), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1526: {"fsgldivw", two(0xF000, 0x5024), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1527: {"fsgldivx", two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1528: {"fsgldivx", two(0xF000, 0x4824), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1529: {"fsgldivx", two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiFt"}, ! 1530: ! 1531: {"fsglmulb", two(0xF000, 0x5827), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1532: {"fsglmuld", two(0xF000, 0x5427), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1533: {"fsglmull", two(0xF000, 0x4027), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1534: #ifdef PACKED_IMMEDIATE ! 1535: {"fsglmulp", two(0xF000, 0x4C27), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1536: #else ! 1537: {"fsglmulp", two(0xF000, 0x4C27), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1538: #endif ! 1539: {"fsglmuls", two(0xF000, 0x4427), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1540: {"fsglmulw", two(0xF000, 0x5027), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1541: {"fsglmulx", two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1542: {"fsglmulx", two(0xF000, 0x4827), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1543: {"fsglmulx", two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiFt"}, ! 1544: ! 1545: {"fsinb", two(0xF000, 0x580E), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1546: {"fsind", two(0xF000, 0x540E), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1547: {"fsinl", two(0xF000, 0x400E), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1548: #ifdef PACKED_IMMEDIATE ! 1549: {"fsinp", two(0xF000, 0x4C0E), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1550: #else ! 1551: {"fsinp", two(0xF000, 0x4C0E), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1552: #endif ! 1553: {"fsins", two(0xF000, 0x440E), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1554: {"fsinw", two(0xF000, 0x500E), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1555: {"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1556: {"fsinx", two(0xF000, 0x480E), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1557: {"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiFt"}, ! 1558: ! 1559: {"fsinhb", two(0xF000, 0x5802), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1560: {"fsinhd", two(0xF000, 0x5402), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1561: {"fsinhl", two(0xF000, 0x4002), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1562: #ifdef PACKED_IMMEDIATE ! 1563: {"fsinhp", two(0xF000, 0x4C02), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1564: #else ! 1565: {"fsinhp", two(0xF000, 0x4C02), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1566: #endif ! 1567: {"fsinhs", two(0xF000, 0x4402), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1568: {"fsinhw", two(0xF000, 0x5002), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1569: {"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1570: {"fsinhx", two(0xF000, 0x4802), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1571: {"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiFt"}, ! 1572: ! 1573: {"fsqrtb", two(0xF000, 0x5804), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1574: {"fsqrtd", two(0xF000, 0x5404), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1575: {"fsqrtl", two(0xF000, 0x4004), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1576: #ifdef PACKED_IMMEDIATE ! 1577: {"fsqrtp", two(0xF000, 0x4C04), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1578: #else ! 1579: {"fsqrtp", two(0xF000, 0x4C04), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1580: #endif ! 1581: {"fsqrts", two(0xF000, 0x4404), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1582: {"fsqrtw", two(0xF000, 0x5004), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1583: {"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1584: {"fsqrtx", two(0xF000, 0x4804), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1585: {"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiFt"}, ! 1586: ! 1587: {"fssqrtb", two(0xF000, 0x5841), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1588: {"fssqrtd", two(0xF000, 0x5441), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1589: {"fssqrtl", two(0xF000, 0x4041), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1590: #ifdef PACKED_IMMEDIATE ! 1591: {"fssqrtp", two(0xF000, 0x4C41), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1592: #else ! 1593: {"fssqrtp", two(0xF000, 0x4C41), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1594: #endif ! 1595: {"fssqrts", two(0xF000, 0x4441), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1596: {"fssqrtw", two(0xF000, 0x5041), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1597: {"fssqrtx", two(0xF000, 0x4841), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1598: {"fssqrt", two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1599: {"fssqrt", two(0xF000, 0x0041), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1600: ! 1601: {"fdsqrtb", two(0xF000, 0x5845), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1602: {"fdsqrtd", two(0xF000, 0x5445), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1603: {"fdsqrtl", two(0xF000, 0x4045), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1604: #ifdef PACKED_IMMEDIATE ! 1605: {"fdsqrtp", two(0xF000, 0x4C45), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1606: #else ! 1607: {"fdsqrtp", two(0xF000, 0x4C45), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1608: #endif ! 1609: {"fdsqrts", two(0xF000, 0x4445), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1610: {"fdsqrtw", two(0xF000, 0x5045), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1611: {"fdsqrtx", two(0xF000, 0x4845), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1612: {"fdsqrt", two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1613: {"fdsqrt", two(0xF000, 0x0045), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1614: ! 1615: {"fsubb", two(0xF000, 0x5828), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1616: {"fsubd", two(0xF000, 0x5428), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1617: {"fsubl", two(0xF000, 0x4028), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1618: #ifdef PACKED_IMMEDIATE ! 1619: {"fsubp", two(0xF000, 0x4C28), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1620: #else ! 1621: {"fsubp", two(0xF000, 0x4C28), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1622: #endif ! 1623: {"fsubs", two(0xF000, 0x4428), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1624: {"fsubw", two(0xF000, 0x5028), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1625: {"fsubx", two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1626: {"fsubx", two(0xF000, 0x4828), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1627: {"fsubx", two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiFt"}, ! 1628: ! 1629: {"fssubb", two(0xF000, 0x5868), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1630: {"fssubd", two(0xF000, 0x5468), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1631: {"fssubl", two(0xF000, 0x4068), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1632: #ifdef PACKED_IMMEDIATE ! 1633: {"fssubp", two(0xF000, 0x4C68), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1634: #else ! 1635: {"fssubp", two(0xF000, 0x4C68), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1636: #endif ! 1637: {"fssubs", two(0xF000, 0x4468), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1638: {"fssubw", two(0xF000, 0x5068), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1639: {"fssubx", two(0xF000, 0x0068), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1640: {"fssubx", two(0xF000, 0x4868), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1641: {"fssubx", two(0xF000, 0x0068), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1642: ! 1643: {"fdsubb", two(0xF000, 0x586C), two(0xF1C0, 0xFC7F), "Ii;bF7", "4"}, ! 1644: {"fdsubd", two(0xF000, 0x546C), two(0xF1C0, 0xFC7F), "Ii;FF7", "4"}, ! 1645: {"fdsubl", two(0xF000, 0x406C), two(0xF1C0, 0xFC7F), "Ii;lF7", "4"}, ! 1646: #ifdef PACKED_IMMEDIATE ! 1647: {"fdsubp", two(0xF000, 0x4C6C), two(0xF1C0, 0xFC7F), "Ii;pF7", "4"}, ! 1648: #else ! 1649: {"fdsubp", two(0xF000, 0x4C6C), two(0xF1C0, 0xFC7F), "Ii@pF7", "4"}, ! 1650: #endif ! 1651: {"fdsubs", two(0xF000, 0x446C), two(0xF1C0, 0xFC7F), "Ii;fF7", "4"}, ! 1652: {"fdsubw", two(0xF000, 0x506C), two(0xF1C0, 0xFC7F), "Ii;wF7", "4"}, ! 1653: {"fdsubx", two(0xF000, 0x006C), two(0xF1C0, 0xE07F), "IiF8F7", "4"}, ! 1654: {"fdsubx", two(0xF000, 0x486C), two(0xF1C0, 0xFC7F), "Ii;xF7", "4"}, ! 1655: {"fdsubx", two(0xF000, 0x006C), two(0xF1C0, 0xE07F), "IiFt", "4"}, ! 1656: ! 1657: {"ftanb", two(0xF000, 0x580F), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1658: {"ftand", two(0xF000, 0x540F), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1659: {"ftanl", two(0xF000, 0x400F), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1660: #ifdef PACKED_IMMEDIATE ! 1661: {"ftanp", two(0xF000, 0x4C0F), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1662: #else ! 1663: {"ftanp", two(0xF000, 0x4C0F), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1664: #endif ! 1665: {"ftans", two(0xF000, 0x440F), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1666: {"ftanw", two(0xF000, 0x500F), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1667: {"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1668: {"ftanx", two(0xF000, 0x480F), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1669: {"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiFt"}, ! 1670: ! 1671: {"ftanhb", two(0xF000, 0x5809), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1672: {"ftanhd", two(0xF000, 0x5409), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1673: {"ftanhl", two(0xF000, 0x4009), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1674: #ifdef PACKED_IMMEDIATE ! 1675: {"ftanhp", two(0xF000, 0x4C09), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1676: #else ! 1677: {"ftanhp", two(0xF000, 0x4C09), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1678: #endif ! 1679: {"ftanhs", two(0xF000, 0x4409), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1680: {"ftanhw", two(0xF000, 0x5009), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1681: {"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1682: {"ftanhx", two(0xF000, 0x4809), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1683: {"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiFt"}, ! 1684: ! 1685: {"ftentoxb", two(0xF000, 0x5812), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1686: {"ftentoxd", two(0xF000, 0x5412), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1687: {"ftentoxl", two(0xF000, 0x4012), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1688: #ifdef PACKED_IMMEDIATE ! 1689: {"ftentoxp", two(0xF000, 0x4C12), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1690: #else ! 1691: {"ftentoxp", two(0xF000, 0x4C12), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1692: #endif ! 1693: {"ftentoxs", two(0xF000, 0x4412), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1694: {"ftentoxw", two(0xF000, 0x5012), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1695: {"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1696: {"ftentoxx", two(0xF000, 0x4812), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1697: {"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiFt"}, ! 1698: ! 1699: {"ftrapeq", two(0xF07C, 0x0001), two(0xF1FF, 0xFFFF), "Ii"}, ! 1700: {"ftrapf", two(0xF07C, 0x0000), two(0xF1FF, 0xFFFF), "Ii"}, ! 1701: {"ftrapge", two(0xF07C, 0x0013), two(0xF1FF, 0xFFFF), "Ii"}, ! 1702: {"ftrapgl", two(0xF07C, 0x0016), two(0xF1FF, 0xFFFF), "Ii"}, ! 1703: {"ftrapgle", two(0xF07C, 0x0017), two(0xF1FF, 0xFFFF), "Ii"}, ! 1704: {"ftrapgt", two(0xF07C, 0x0012), two(0xF1FF, 0xFFFF), "Ii"}, ! 1705: {"ftraple", two(0xF07C, 0x0015), two(0xF1FF, 0xFFFF), "Ii"}, ! 1706: {"ftraplt", two(0xF07C, 0x0014), two(0xF1FF, 0xFFFF), "Ii"}, ! 1707: {"ftrapne", two(0xF07C, 0x000E), two(0xF1FF, 0xFFFF), "Ii"}, ! 1708: {"ftrapnge", two(0xF07C, 0x001C), two(0xF1FF, 0xFFFF), "Ii"}, ! 1709: {"ftrapngl", two(0xF07C, 0x0019), two(0xF1FF, 0xFFFF), "Ii"}, ! 1710: {"ftrapngle", two(0xF07C, 0x0018), two(0xF1FF, 0xFFFF), "Ii"}, ! 1711: {"ftrapngt", two(0xF07C, 0x001D), two(0xF1FF, 0xFFFF), "Ii"}, ! 1712: {"ftrapnle", two(0xF07C, 0x001A), two(0xF1FF, 0xFFFF), "Ii"}, ! 1713: {"ftrapnlt", two(0xF07C, 0x001B), two(0xF1FF, 0xFFFF), "Ii"}, ! 1714: {"ftrapoge", two(0xF07C, 0x0003), two(0xF1FF, 0xFFFF), "Ii"}, ! 1715: {"ftrapogl", two(0xF07C, 0x0006), two(0xF1FF, 0xFFFF), "Ii"}, ! 1716: {"ftrapogt", two(0xF07C, 0x0002), two(0xF1FF, 0xFFFF), "Ii"}, ! 1717: {"ftrapole", two(0xF07C, 0x0005), two(0xF1FF, 0xFFFF), "Ii"}, ! 1718: {"ftrapolt", two(0xF07C, 0x0004), two(0xF1FF, 0xFFFF), "Ii"}, ! 1719: {"ftrapor", two(0xF07C, 0x0007), two(0xF1FF, 0xFFFF), "Ii"}, ! 1720: {"ftrapseq", two(0xF07C, 0x0011), two(0xF1FF, 0xFFFF), "Ii"}, ! 1721: {"ftrapsf", two(0xF07C, 0x0010), two(0xF1FF, 0xFFFF), "Ii"}, ! 1722: {"ftrapsne", two(0xF07C, 0x001E), two(0xF1FF, 0xFFFF), "Ii"}, ! 1723: {"ftrapst", two(0xF07C, 0x001F), two(0xF1FF, 0xFFFF), "Ii"}, ! 1724: {"ftrapt", two(0xF07C, 0x000F), two(0xF1FF, 0xFFFF), "Ii"}, ! 1725: {"ftrapueq", two(0xF07C, 0x0009), two(0xF1FF, 0xFFFF), "Ii"}, ! 1726: {"ftrapuge", two(0xF07C, 0x000B), two(0xF1FF, 0xFFFF), "Ii"}, ! 1727: {"ftrapugt", two(0xF07C, 0x000A), two(0xF1FF, 0xFFFF), "Ii"}, ! 1728: {"ftrapule", two(0xF07C, 0x000D), two(0xF1FF, 0xFFFF), "Ii"}, ! 1729: {"ftrapult", two(0xF07C, 0x000C), two(0xF1FF, 0xFFFF), "Ii"}, ! 1730: {"ftrapun", two(0xF07C, 0x0008), two(0xF1FF, 0xFFFF), "Ii"}, ! 1731: ! 1732: {"ftrapeqw", two(0xF07A, 0x0001), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1733: {"ftrapfw", two(0xF07A, 0x0000), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1734: {"ftrapgew", two(0xF07A, 0x0013), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1735: {"ftrapglw", two(0xF07A, 0x0016), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1736: {"ftrapglew", two(0xF07A, 0x0017), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1737: {"ftrapgtw", two(0xF07A, 0x0012), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1738: {"ftraplew", two(0xF07A, 0x0015), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1739: {"ftrapltw", two(0xF07A, 0x0014), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1740: {"ftrapnew", two(0xF07A, 0x000E), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1741: {"ftrapngew", two(0xF07A, 0x001C), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1742: {"ftrapnglw", two(0xF07A, 0x0019), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1743: {"ftrapnglew", two(0xF07A, 0x0018), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1744: {"ftrapngtw", two(0xF07A, 0x001D), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1745: {"ftrapnlew", two(0xF07A, 0x001A), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1746: {"ftrapnltw", two(0xF07A, 0x001B), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1747: {"ftrapogew", two(0xF07A, 0x0003), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1748: {"ftrapoglw", two(0xF07A, 0x0006), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1749: {"ftrapogtw", two(0xF07A, 0x0002), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1750: {"ftrapolew", two(0xF07A, 0x0005), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1751: {"ftrapoltw", two(0xF07A, 0x0004), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1752: {"ftraporw", two(0xF07A, 0x0007), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1753: {"ftrapseqw", two(0xF07A, 0x0011), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1754: {"ftrapsfw", two(0xF07A, 0x0010), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1755: {"ftrapsnew", two(0xF07A, 0x001E), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1756: {"ftrapstw", two(0xF07A, 0x001F), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1757: {"ftraptw", two(0xF07A, 0x000F), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1758: {"ftrapueqw", two(0xF07A, 0x0009), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1759: {"ftrapugew", two(0xF07A, 0x000B), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1760: {"ftrapugtw", two(0xF07A, 0x000A), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1761: {"ftrapulew", two(0xF07A, 0x000D), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1762: {"ftrapultw", two(0xF07A, 0x000C), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1763: {"ftrapunw", two(0xF07A, 0x0008), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1764: ! 1765: {"ftrapeql", two(0xF07B, 0x0001), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1766: {"ftrapfl", two(0xF07B, 0x0000), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1767: {"ftrapgel", two(0xF07B, 0x0013), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1768: {"ftrapgll", two(0xF07B, 0x0016), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1769: {"ftrapglel", two(0xF07B, 0x0017), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1770: {"ftrapgtl", two(0xF07B, 0x0012), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1771: {"ftraplel", two(0xF07B, 0x0015), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1772: {"ftrapltl", two(0xF07B, 0x0014), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1773: {"ftrapnel", two(0xF07B, 0x000E), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1774: {"ftrapngel", two(0xF07B, 0x001C), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1775: {"ftrapngll", two(0xF07B, 0x0019), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1776: {"ftrapnglel", two(0xF07B, 0x0018), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1777: {"ftrapngtl", two(0xF07B, 0x001D), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1778: {"ftrapnlel", two(0xF07B, 0x001A), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1779: {"ftrapnltl", two(0xF07B, 0x001B), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1780: {"ftrapogel", two(0xF07B, 0x0003), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1781: {"ftrapogll", two(0xF07B, 0x0006), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1782: {"ftrapogtl", two(0xF07B, 0x0002), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1783: {"ftrapolel", two(0xF07B, 0x0005), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1784: {"ftrapoltl", two(0xF07B, 0x0004), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1785: {"ftraporl", two(0xF07B, 0x0007), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1786: {"ftrapseql", two(0xF07B, 0x0011), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1787: {"ftrapsfl", two(0xF07B, 0x0010), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1788: {"ftrapsnel", two(0xF07B, 0x001E), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1789: {"ftrapstl", two(0xF07B, 0x001F), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1790: {"ftraptl", two(0xF07B, 0x000F), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1791: {"ftrapueql", two(0xF07B, 0x0009), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1792: {"ftrapugel", two(0xF07B, 0x000B), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1793: {"ftrapugtl", two(0xF07B, 0x000A), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1794: {"ftrapulel", two(0xF07B, 0x000D), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1795: {"ftrapultl", two(0xF07B, 0x000C), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1796: {"ftrapunl", two(0xF07B, 0x0008), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1797: ! 1798: {"ftstb", two(0xF000, 0x583A), two(0xF1C0, 0xFC7F), "Ii;b"}, ! 1799: {"ftstd", two(0xF000, 0x543A), two(0xF1C0, 0xFC7F), "Ii;F"}, ! 1800: {"ftstl", two(0xF000, 0x403A), two(0xF1C0, 0xFC7F), "Ii;l"}, ! 1801: #ifdef PACKED_IMMEDIATE ! 1802: {"ftstp", two(0xF000, 0x4C3A), two(0xF1C0, 0xFC7F), "Ii;p"}, ! 1803: #else ! 1804: {"ftstp", two(0xF000, 0x4C3A), two(0xF1C0, 0xFC7F), "Ii@p"}, ! 1805: #endif ! 1806: {"ftsts", two(0xF000, 0x443A), two(0xF1C0, 0xFC7F), "Ii;f"}, ! 1807: {"ftstw", two(0xF000, 0x503A), two(0xF1C0, 0xFC7F), "Ii;w"}, ! 1808: {"ftstx", two(0xF000, 0x003A), two(0xF1C0, 0xE07F), "IiF8"}, ! 1809: {"ftstx", two(0xF000, 0x483A), two(0xF1C0, 0xFC7F), "Ii;x"}, ! 1810: ! 1811: {"ftwotoxb", two(0xF000, 0x5811), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1812: {"ftwotoxd", two(0xF000, 0x5411), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1813: {"ftwotoxl", two(0xF000, 0x4011), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1814: #ifdef PACKED_IMMEDIATE ! 1815: {"ftwotoxp", two(0xF000, 0x4C11), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1816: #else ! 1817: {"ftwotoxp", two(0xF000, 0x4C11), two(0xF1C0, 0xFC7F), "Ii@pF7"}, ! 1818: #endif ! 1819: {"ftwotoxs", two(0xF000, 0x4411), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1820: {"ftwotoxw", two(0xF000, 0x5011), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1821: {"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1822: {"ftwotoxx", two(0xF000, 0x4811), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1823: {"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiFt"}, ! 1824: ! 1825: ! 1826: {"fjeq", one(0xF081), one(0xF1FF), "IdBc"}, ! 1827: {"fjf", one(0xF080), one(0xF1FF), "IdBc"}, ! 1828: {"fjge", one(0xF093), one(0xF1FF), "IdBc"}, ! 1829: {"fjgl", one(0xF096), one(0xF1FF), "IdBc"}, ! 1830: {"fjgle", one(0xF097), one(0xF1FF), "IdBc"}, ! 1831: {"fjgt", one(0xF092), one(0xF1FF), "IdBc"}, ! 1832: {"fjle", one(0xF095), one(0xF1FF), "IdBc"}, ! 1833: {"fjlt", one(0xF094), one(0xF1FF), "IdBc"}, ! 1834: {"fjne", one(0xF08E), one(0xF1FF), "IdBc"}, ! 1835: {"fjnge", one(0xF09C), one(0xF1FF), "IdBc"}, ! 1836: {"fjngl", one(0xF099), one(0xF1FF), "IdBc"}, ! 1837: {"fjngle", one(0xF098), one(0xF1FF), "IdBc"}, ! 1838: {"fjngt", one(0xF09D), one(0xF1FF), "IdBc"}, ! 1839: {"fjnle", one(0xF09A), one(0xF1FF), "IdBc"}, ! 1840: {"fjnlt", one(0xF09B), one(0xF1FF), "IdBc"}, ! 1841: {"fjoge", one(0xF083), one(0xF1FF), "IdBc"}, ! 1842: {"fjogl", one(0xF086), one(0xF1FF), "IdBc"}, ! 1843: {"fjogt", one(0xF082), one(0xF1FF), "IdBc"}, ! 1844: {"fjole", one(0xF085), one(0xF1FF), "IdBc"}, ! 1845: {"fjolt", one(0xF084), one(0xF1FF), "IdBc"}, ! 1846: {"fjor", one(0xF087), one(0xF1FF), "IdBc"}, ! 1847: {"fjseq", one(0xF091), one(0xF1FF), "IdBc"}, ! 1848: {"fjsf", one(0xF090), one(0xF1FF), "IdBc"}, ! 1849: {"fjsne", one(0xF09E), one(0xF1FF), "IdBc"}, ! 1850: {"fjst", one(0xF09F), one(0xF1FF), "IdBc"}, ! 1851: {"fjt", one(0xF08F), one(0xF1FF), "IdBc"}, ! 1852: {"fjueq", one(0xF089), one(0xF1FF), "IdBc"}, ! 1853: {"fjuge", one(0xF08B), one(0xF1FF), "IdBc"}, ! 1854: {"fjugt", one(0xF08A), one(0xF1FF), "IdBc"}, ! 1855: {"fjule", one(0xF08D), one(0xF1FF), "IdBc"}, ! 1856: {"fjult", one(0xF08C), one(0xF1FF), "IdBc"}, ! 1857: {"fjun", one(0xF088), one(0xF1FF), "IdBc"}, ! 1858: ! 1859: /* The assembler will ignore attempts to force a short offset */ ! 1860: ! 1861: {"bhis", one(0061000), one(0177400), "Bg"}, ! 1862: {"blss", one(0061400), one(0177400), "Bg"}, ! 1863: {"bccs", one(0062000), one(0177400), "Bg"}, ! 1864: {"bcss", one(0062400), one(0177400), "Bg"}, ! 1865: {"bnes", one(0063000), one(0177400), "Bg"}, ! 1866: {"beqs", one(0063400), one(0177400), "Bg"}, ! 1867: {"bvcs", one(0064000), one(0177400), "Bg"}, ! 1868: {"bvss", one(0064400), one(0177400), "Bg"}, ! 1869: {"bpls", one(0065000), one(0177400), "Bg"}, ! 1870: {"bmis", one(0065400), one(0177400), "Bg"}, ! 1871: {"bges", one(0066000), one(0177400), "Bg"}, ! 1872: {"blts", one(0066400), one(0177400), "Bg"}, ! 1873: {"bgts", one(0067000), one(0177400), "Bg"}, ! 1874: {"bles", one(0067400), one(0177400), "Bg"}, ! 1875: ! 1876: /* Alternate mnemonics for SUN */ ! 1877: ! 1878: {"jbsr", one(0060400), one(0177400), "Bg"}, ! 1879: {"jbsr", one(0047200), one(0177700), "!s"}, ! 1880: {"jra", one(0060000), one(0177400), "Bg"}, ! 1881: {"jra", one(0047300), one(0177700), "!s"}, ! 1882: ! 1883: {"jhi", one(0061000), one(0177400), "Bg"}, ! 1884: {"jls", one(0061400), one(0177400), "Bg"}, ! 1885: {"jcc", one(0062000), one(0177400), "Bg"}, ! 1886: {"jcs", one(0062400), one(0177400), "Bg"}, ! 1887: {"jne", one(0063000), one(0177400), "Bg"}, ! 1888: {"jeq", one(0063400), one(0177400), "Bg"}, ! 1889: {"jvc", one(0064000), one(0177400), "Bg"}, ! 1890: {"jvs", one(0064400), one(0177400), "Bg"}, ! 1891: {"jpl", one(0065000), one(0177400), "Bg"}, ! 1892: {"jmi", one(0065400), one(0177400), "Bg"}, ! 1893: {"jge", one(0066000), one(0177400), "Bg"}, ! 1894: {"jlt", one(0066400), one(0177400), "Bg"}, ! 1895: {"jgt", one(0067000), one(0177400), "Bg"}, ! 1896: {"jle", one(0067400), one(0177400), "Bg"}, ! 1897: ! 1898: /* Short offsets are ignored */ ! 1899: ! 1900: {"jbsrs", one(0060400), one(0177400), "Bg"}, ! 1901: {"jras", one(0060000), one(0177400), "Bg"}, ! 1902: {"jhis", one(0061000), one(0177400), "Bg"}, ! 1903: {"jlss", one(0061400), one(0177400), "Bg"}, ! 1904: {"jccs", one(0062000), one(0177400), "Bg"}, ! 1905: {"jcss", one(0062400), one(0177400), "Bg"}, ! 1906: {"jnes", one(0063000), one(0177400), "Bg"}, ! 1907: {"jeqs", one(0063400), one(0177400), "Bg"}, ! 1908: {"jvcs", one(0064000), one(0177400), "Bg"}, ! 1909: {"jvss", one(0064400), one(0177400), "Bg"}, ! 1910: {"jpls", one(0065000), one(0177400), "Bg"}, ! 1911: {"jmis", one(0065400), one(0177400), "Bg"}, ! 1912: {"jges", one(0066000), one(0177400), "Bg"}, ! 1913: {"jlts", one(0066400), one(0177400), "Bg"}, ! 1914: {"jgts", one(0067000), one(0177400), "Bg"}, ! 1915: {"jles", one(0067400), one(0177400), "Bg"}, ! 1916: ! 1917: {"movql", one(0070000), one(0170400), "MsDd"}, ! 1918: {"moveql", one(0070000), one(0170400), "MsDd"}, ! 1919: {"moval", one(0020100), one(0170700), "*lAd"}, ! 1920: {"movaw", one(0030100), one(0170700), "*wAd"}, ! 1921: {"movb", one(0010000), one(0170000), ";b$d"}, /* mov */ ! 1922: {"movl", one(0070000), one(0170400), "MsDd"}, /* movq written as mov */ ! 1923: {"movl", one(0020000), one(0170000), "*l$d"}, ! 1924: {"movl", one(0020100), one(0170700), "*lAd"}, ! 1925: {"movl", one(0047140), one(0177770), "AsUd"}, /* mov to USP */ ! 1926: {"movl", one(0047150), one(0177770), "UdAs"}, /* mov from USP */ ! 1927: {"movc", one(0047173), one(0177777), "R1Jj"}, ! 1928: {"movc", one(0047173), one(0177777), "R1#j"}, ! 1929: {"movc", one(0047172), one(0177777), "JjR1"}, ! 1930: {"movc", one(0047172), one(0177777), "#jR1"}, ! 1931: {"movml", one(0044300), one(0177700), "#w&s"}, /* movm reg to mem. */ ! 1932: {"movml", one(0044340), one(0177770), "#w-s"}, /* movm reg to autodecrement. */ ! 1933: {"movml", one(0046300), one(0177700), "!s#w"}, /* movm mem to reg. */ ! 1934: {"movml", one(0046330), one(0177770), "+s#w"}, /* movm autoinc to reg. */ ! 1935: {"movml", one(0044300), one(0177700), "Lw&s"}, /* movm reg to mem. */ ! 1936: {"movml", one(0044340), one(0177770), "lw-s"}, /* movm reg to autodecrement. */ ! 1937: {"movml", one(0046300), one(0177700), "!sLw"}, /* movm mem to reg. */ ! 1938: {"movml", one(0046330), one(0177770), "+sLw"}, /* movm autoinc to reg. */ ! 1939: {"movmw", one(0044200), one(0177700), "#w&s"}, /* movm reg to mem. */ ! 1940: {"movmw", one(0044240), one(0177770), "#w-s"}, /* movm reg to autodecrement. */ ! 1941: {"movmw", one(0046200), one(0177700), "!s#w"}, /* movm mem to reg. */ ! 1942: {"movmw", one(0046230), one(0177770), "+s#w"}, /* movm autoinc to reg. */ ! 1943: {"movmw", one(0044200), one(0177700), "Lw&s"}, /* movm reg to mem. */ ! 1944: {"movmw", one(0044240), one(0177770), "lw-s"}, /* movm reg to autodecrement. */ ! 1945: {"movmw", one(0046200), one(0177700), "!sLw"}, /* movm mem to reg. */ ! 1946: {"movmw", one(0046230), one(0177770), "+sLw"}, /* movm autoinc to reg. */ ! 1947: {"movpl", one(0000510), one(0170770), "dsDd"}, /* memory to register */ ! 1948: {"movpl", one(0000710), one(0170770), "Ddds"}, /* register to memory */ ! 1949: {"movpw", one(0000410), one(0170770), "dsDd"}, /* memory to register */ ! 1950: {"movpw", one(0000610), one(0170770), "Ddds"}, /* register to memory */ ! 1951: {"movq", one(0070000), one(0170400), "MsDd"}, ! 1952: {"movw", one(0030000), one(0170000), "*w$d"}, ! 1953: {"movw", one(0030100), one(0170700), "*wAd"}, /* mova, written as mov */ ! 1954: {"movw", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */ ! 1955: {"movw", one(0041300), one(0177700), "Cs$s"}, /* Move from ccr */ ! 1956: {"movw", one(0042300), one(0177700), ";wCd"}, /* mov to ccr */ ! 1957: {"movw", one(0043300), one(0177700), ";wSd"}, /* mov to sr */ ! 1958: ! 1959: {"movsb", two(0007000, 0), two(0177700, 07777), "~sR1"}, ! 1960: {"movsb", two(0007000, 04000), two(0177700, 07777), "R1~s"}, ! 1961: {"movsl", two(0007200, 0), two(0177700, 07777), "~sR1"}, ! 1962: {"movsl", two(0007200, 04000), two(0177700, 07777), "R1~s"}, ! 1963: {"movsw", two(0007100, 0), two(0177700, 07777), "~sR1"}, ! 1964: {"movsw", two(0007100, 04000), two(0177700, 07777), "R1~s"}, ! 1965: ! 1966: #ifdef BUILTIN_MMUS ! 1967: /* name */ /* opcode */ /* match */ /* args */ ! 1968: ! 1969: {"pflusha030", two(0xf000, 0x2400), two(0xffff, 0xffff), "", "3" }, ! 1970: {"pflusha040", one(0xf518), one(0xfff8), "", "4" }, ! 1971: ! 1972: {"pflush", two(0xf000, 0x3010), two(0xffc0, 0xfe10), "Q3Q9", "3" }, ! 1973: {"pflush", two(0xf000, 0x3810), two(0xffc0, 0xfe10), "Q3Q9&s", "3" }, ! 1974: {"pflush", two(0xf000, 0x3008), two(0xffc0, 0xfe18), "D3Q9", "3" }, ! 1975: {"pflush", two(0xf000, 0x3808), two(0xffc0, 0xfe18), "D3Q9&s", "3" }, ! 1976: {"pflush", two(0xf000, 0x3000), two(0xffc0, 0xfe1e), "f3Q9", "3" }, ! 1977: {"pflush", two(0xf000, 0x3800), two(0xffc0, 0xfe1e), "f3Q9&s", "3" }, ! 1978: ! 1979: {"pflush", one(0xf508), one(0xfff8), "0s", "4" }, ! 1980: {"pflushn", one(0xf500), one(0xfff8), "0s", "4" }, ! 1981: {"pflushan", one(0xf510), one(0xfff8), "", "4" }, ! 1982: ! 1983: {"ploadr", two(0xf000, 0x2210), two(0xffc0, 0xfff0), "Q3&s", "3" }, ! 1984: {"ploadr", two(0xf000, 0x2208), two(0xffc0, 0xfff8), "D3&s", "3" }, ! 1985: {"ploadr", two(0xf000, 0x2200), two(0xffc0, 0xfffe), "f3&s", "3" }, ! 1986: {"ploadw", two(0xf000, 0x2010), two(0xffc0, 0xfff0), "Q3&s", "3" }, ! 1987: {"ploadw", two(0xf000, 0x2008), two(0xffc0, 0xfff8), "D3&s", "3" }, ! 1988: {"ploadw", two(0xf000, 0x2000), two(0xffc0, 0xfffe), "f3&s", "3" }, ! 1989: ! 1990: /* TC, CRP, SRP */ ! 1991: {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "&sa8", "3" }, ! 1992: {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "a8&s", "3" }, ! 1993: /* MMUSR */ ! 1994: {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xffff), "&sb3", "3" }, ! 1995: {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xffff), "b3&s", "3" }, ! 1996: /* TT0, TT1 */ ! 1997: {"pmove", two(0xf000, 0x0000), two(0xffc0, 0xe3ff), "&se8", "3" }, ! 1998: {"pmove", two(0xf000, 0x0200), two(0xffc0, 0xe3ff), "e8&s", "3" }, ! 1999: ! 2000: /* TC, CRP, SRP */ ! 2001: {"pmovefd", two(0xf000, 0x4100), two(0xffc0, 0xe3ff), "&sa8", "3" }, ! 2002: /* TT0, TT1 */ ! 2003: {"pmovefd", two(0xf000, 0x0100), two(0xffc0, 0xe3ff), "&se8", "3" }, ! 2004: ! 2005: {"ptestr", two(0xf000, 0x8210), two(0xffc0, 0xe3f0), "Q3&sQ8", "3"}, ! 2006: {"ptestr", two(0xf000, 0x8310), two(0xffc0, 0xe310), "Q3&sQ8A9","3"}, ! 2007: {"ptestr", two(0xf000, 0x8208), two(0xffc0, 0xe3f8), "D3&sQ8", "3"}, ! 2008: {"ptestr", two(0xf000, 0x8308), two(0xffc0, 0xe318), "D3&sQ8A9","3"}, ! 2009: {"ptestr", two(0xf000, 0x8200), two(0xffc0, 0xe3fe), "f3&sQ8", "3"}, ! 2010: {"ptestr", two(0xf000, 0x8300), two(0xffc0, 0xe31e), "f3&sQ8A9","3"}, ! 2011: {"ptestr", one(0xf568), one(0xfff8), "0s", "4"}, ! 2012: ! 2013: {"ptestw", two(0xf000, 0x8010), two(0xffc0, 0xe3f0), "Q3&sQ8", "3"}, ! 2014: {"ptestw", two(0xf000, 0x8110), two(0xffc0, 0xe310), "Q3&sQ8A9","3"}, ! 2015: {"ptestw", two(0xf000, 0x8008), two(0xffc0, 0xe3f8), "D3&sQ8", "3"}, ! 2016: {"ptestw", two(0xf000, 0x8108), two(0xffc0, 0xe318), "D3&sQ8A9","3"}, ! 2017: {"ptestw", two(0xf000, 0x8000), two(0xffc0, 0xe3fe), "f3&sQ8", "3"}, ! 2018: {"ptestw", two(0xf000, 0x8100), two(0xffc0, 0xe31e), "f3&sQ8A9","3"}, ! 2019: {"ptestw", one(0xf548), one(0xfff8), "0s", "4"}, ! 2020: ! 2021: {"cinva", one(0xf418), one(0xff38), "cS", "4" }, ! 2022: {"cinvl", one(0xf408), one(0xff38), "cS0s", "4" }, ! 2023: {"cinvp", one(0xf410), one(0xff38), "cS0s", "4" }, ! 2024: ! 2025: {"cpusha", one(0xf438), one(0xff38), "cS", "4" }, ! 2026: {"cpushl", one(0xf428), one(0xff38), "cS0s", "4" }, ! 2027: {"cpushp", one(0xf430), one(0xff38), "cS0s", "4" }, ! 2028: ! 2029: #endif BUILTIN_MMUS ! 2030: ! 2031: #ifdef m68851 ! 2032: /* name */ /* opcode */ /* match */ /* args */ ! 2033: ! 2034: {"pbac", one(0xf0c7), one(0xffbf), "Bc"}, ! 2035: {"pbacw", one(0xf087), one(0xffbf), "Bc"}, ! 2036: {"pbas", one(0xf0c6), one(0xffbf), "Bc"}, ! 2037: {"pbasw", one(0xf086), one(0xffbf), "Bc"}, ! 2038: {"pbbc", one(0xf0c1), one(0xffbf), "Bc"}, ! 2039: {"pbbcw", one(0xf081), one(0xffbf), "Bc"}, ! 2040: {"pbbs", one(0xf0c0), one(0xffbf), "Bc"}, ! 2041: {"pbbsw", one(0xf080), one(0xffbf), "Bc"}, ! 2042: {"pbcc", one(0xf0cf), one(0xffbf), "Bc"}, ! 2043: {"pbccw", one(0xf08f), one(0xffbf), "Bc"}, ! 2044: {"pbcs", one(0xf0ce), one(0xffbf), "Bc"}, ! 2045: {"pbcsw", one(0xf08e), one(0xffbf), "Bc"}, ! 2046: {"pbgc", one(0xf0cd), one(0xffbf), "Bc"}, ! 2047: {"pbgcw", one(0xf08d), one(0xffbf), "Bc"}, ! 2048: {"pbgs", one(0xf0cc), one(0xffbf), "Bc"}, ! 2049: {"pbgsw", one(0xf08c), one(0xffbf), "Bc"}, ! 2050: {"pbic", one(0xf0cb), one(0xffbf), "Bc"}, ! 2051: {"pbicw", one(0xf08b), one(0xffbf), "Bc"}, ! 2052: {"pbis", one(0xf0ca), one(0xffbf), "Bc"}, ! 2053: {"pbisw", one(0xf08a), one(0xffbf), "Bc"}, ! 2054: {"pblc", one(0xf0c3), one(0xffbf), "Bc"}, ! 2055: {"pblcw", one(0xf083), one(0xffbf), "Bc"}, ! 2056: {"pbls", one(0xf0c2), one(0xffbf), "Bc"}, ! 2057: {"pblsw", one(0xf082), one(0xffbf), "Bc"}, ! 2058: {"pbsc", one(0xf0c5), one(0xffbf), "Bc"}, ! 2059: {"pbscw", one(0xf085), one(0xffbf), "Bc"}, ! 2060: {"pbss", one(0xf0c4), one(0xffbf), "Bc"}, ! 2061: {"pbssw", one(0xf084), one(0xffbf), "Bc"}, ! 2062: {"pbwc", one(0xf0c9), one(0xffbf), "Bc"}, ! 2063: {"pbwcw", one(0xf089), one(0xffbf), "Bc"}, ! 2064: {"pbws", one(0xf0c8), one(0xffbf), "Bc"}, ! 2065: {"pbwsw", one(0xf088), one(0xffbf), "Bc"}, ! 2066: ! 2067: ! 2068: {"pdbac", two(0xf048, 0x0007), two(0xfff8, 0xffff), "DsBw"}, ! 2069: {"pdbas", two(0xf048, 0x0006), two(0xfff8, 0xffff), "DsBw"}, ! 2070: {"pdbbc", two(0xf048, 0x0001), two(0xfff8, 0xffff), "DsBw"}, ! 2071: {"pdbbs", two(0xf048, 0x0000), two(0xfff8, 0xffff), "DsBw"}, ! 2072: {"pdbcc", two(0xf048, 0x000f), two(0xfff8, 0xffff), "DsBw"}, ! 2073: {"pdbcs", two(0xf048, 0x000e), two(0xfff8, 0xffff), "DsBw"}, ! 2074: {"pdbgc", two(0xf048, 0x000d), two(0xfff8, 0xffff), "DsBw"}, ! 2075: {"pdbgs", two(0xf048, 0x000c), two(0xfff8, 0xffff), "DsBw"}, ! 2076: {"pdbic", two(0xf048, 0x000b), two(0xfff8, 0xffff), "DsBw"}, ! 2077: {"pdbis", two(0xf048, 0x000a), two(0xfff8, 0xffff), "DsBw"}, ! 2078: {"pdblc", two(0xf048, 0x0003), two(0xfff8, 0xffff), "DsBw"}, ! 2079: {"pdbls", two(0xf048, 0x0002), two(0xfff8, 0xffff), "DsBw"}, ! 2080: {"pdbsc", two(0xf048, 0x0005), two(0xfff8, 0xffff), "DsBw"}, ! 2081: {"pdbss", two(0xf048, 0x0004), two(0xfff8, 0xffff), "DsBw"}, ! 2082: {"pdbwc", two(0xf048, 0x0009), two(0xfff8, 0xffff), "DsBw"}, ! 2083: {"pdbws", two(0xf048, 0x0008), two(0xfff8, 0xffff), "DsBw"}, ! 2084: ! 2085: {"pflusha", two(0xf000, 0x2400), two(0xffff, 0xffff), "" }, ! 2086: ! 2087: {"pflush", two(0xf000, 0x3010), two(0xffc0, 0xfe10), "T3T9" }, ! 2088: {"pflush", two(0xf000, 0x3810), two(0xffc0, 0xfe10), "T3T9&s" }, ! 2089: {"pflush", two(0xf000, 0x3008), two(0xffc0, 0xfe18), "D3T9" }, ! 2090: {"pflush", two(0xf000, 0x3808), two(0xffc0, 0xfe18), "D3T9&s" }, ! 2091: {"pflush", two(0xf000, 0x3000), two(0xffc0, 0xfe1e), "f3T9" }, ! 2092: {"pflush", two(0xf000, 0x3800), two(0xffc0, 0xfe1e), "f3T9&s" }, ! 2093: ! 2094: {"pflushs", two(0xf000, 0x3410), two(0xfff8, 0xfe10), "T3T9" }, ! 2095: {"pflushs", two(0xf000, 0x3c00), two(0xfff8, 0xfe00), "T3T9&s" }, ! 2096: {"pflushs", two(0xf000, 0x3408), two(0xfff8, 0xfe18), "D3T9" }, ! 2097: {"pflushs", two(0xf000, 0x3c08), two(0xfff8, 0xfe18), "D3T9&s" }, ! 2098: {"pflushs", two(0xf000, 0x3400), two(0xfff8, 0xfe1e), "f3T9" }, ! 2099: {"pflushs", two(0xf000, 0x3c00), two(0xfff8, 0xfe1e), "f3T9&s"}, ! 2100: ! 2101: {"pflushr", two(0xf000, 0xa000), two(0xffc0, 0xffff), "|s" }, ! 2102: ! 2103: {"ploadr", two(0xf000, 0x2210), two(0xffc0, 0xfff0), "T3&s" }, ! 2104: {"ploadr", two(0xf000, 0x2208), two(0xffc0, 0xfff8), "D3&s" }, ! 2105: {"ploadr", two(0xf000, 0x2200), two(0xffc0, 0xfffe), "f3&s" }, ! 2106: {"ploadw", two(0xf000, 0x2010), two(0xffc0, 0xfff0), "T3&s" }, ! 2107: {"ploadw", two(0xf000, 0x2008), two(0xffc0, 0xfff8), "D3&s" }, ! 2108: {"ploadw", two(0xf000, 0x2000), two(0xffc0, 0xfffe), "f3&s" }, ! 2109: ! 2110: /* TC, CRP, DRP, SRP, CAL, VAL, SCC, AC */ ! 2111: {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "&sP8" }, ! 2112: {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "P8%s" }, ! 2113: {"pmove", two(0xf000, 0x4000), two(0xffc0, 0xe3ff), "|sW8" }, ! 2114: {"pmove", two(0xf000, 0x4200), two(0xffc0, 0xe3ff), "W8~s" }, ! 2115: ! 2116: /* BADx, BACx */ ! 2117: {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xe3e3), "*sX3" }, ! 2118: {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xe3e3), "X3%s" }, ! 2119: ! 2120: /* PSR, PCSR */ ! 2121: /* {"pmove", two(0xf000, 0x6100), two(oxffc0, oxffff), "*sZ8" }, */ ! 2122: {"pmove", two(0xf000, 0x6000), two(0xffc0, 0xffff), "*sY8" }, ! 2123: {"pmove", two(0xf000, 0x6200), two(0xffc0, 0xffff), "Y8%s" }, ! 2124: {"pmove", two(0xf000, 0x6600), two(0xffc0, 0xffff), "Z8%s" }, ! 2125: ! 2126: {"prestore", one(0xf140), one(0xffc0), "&s"}, ! 2127: {"prestore", one(0xf158), one(0xfff8), "+s"}, ! 2128: {"psave", one(0xf100), one(0xffc0), "&s"}, ! 2129: {"psave", one(0xf100), one(0xffc0), "+s"}, ! 2130: ! 2131: {"psac", two(0xf040, 0x0007), two(0xffc0, 0xffff), "@s"}, ! 2132: {"psas", two(0xf040, 0x0006), two(0xffc0, 0xffff), "@s"}, ! 2133: {"psbc", two(0xf040, 0x0001), two(0xffc0, 0xffff), "@s"}, ! 2134: {"psbs", two(0xf040, 0x0000), two(0xffc0, 0xffff), "@s"}, ! 2135: {"pscc", two(0xf040, 0x000f), two(0xffc0, 0xffff), "@s"}, ! 2136: {"pscs", two(0xf040, 0x000e), two(0xffc0, 0xffff), "@s"}, ! 2137: {"psgc", two(0xf040, 0x000d), two(0xffc0, 0xffff), "@s"}, ! 2138: {"psgs", two(0xf040, 0x000c), two(0xffc0, 0xffff), "@s"}, ! 2139: {"psic", two(0xf040, 0x000b), two(0xffc0, 0xffff), "@s"}, ! 2140: {"psis", two(0xf040, 0x000a), two(0xffc0, 0xffff), "@s"}, ! 2141: {"pslc", two(0xf040, 0x0003), two(0xffc0, 0xffff), "@s"}, ! 2142: {"psls", two(0xf040, 0x0002), two(0xffc0, 0xffff), "@s"}, ! 2143: {"pssc", two(0xf040, 0x0005), two(0xffc0, 0xffff), "@s"}, ! 2144: {"psss", two(0xf040, 0x0004), two(0xffc0, 0xffff), "@s"}, ! 2145: {"pswc", two(0xf040, 0x0009), two(0xffc0, 0xffff), "@s"}, ! 2146: {"psws", two(0xf040, 0x0008), two(0xffc0, 0xffff), "@s"}, ! 2147: ! 2148: {"ptestr", two(0xf000, 0x8210), two(0xffc0, 0xe3f0), "T3&sQ8" }, ! 2149: {"ptestr", two(0xf000, 0x8310), two(0xffc0, 0xe310), "T3&sQ8A9" }, ! 2150: {"ptestr", two(0xf000, 0x8208), two(0xffc0, 0xe3f8), "D3&sQ8" }, ! 2151: {"ptestr", two(0xf000, 0x8308), two(0xffc0, 0xe318), "D3&sQ8A9" }, ! 2152: {"ptestr", two(0xf000, 0x8200), two(0xffc0, 0xe3fe), "f3&sQ8" }, ! 2153: {"ptestr", two(0xf000, 0x8300), two(0xffc0, 0xe31e), "f3&sQ8A9" }, ! 2154: ! 2155: {"ptestw", two(0xf000, 0x8010), two(0xffc0, 0xe3f0), "T3&sQ8" }, ! 2156: {"ptestw", two(0xf000, 0x8110), two(0xffc0, 0xe310), "T3&sQ8A9" }, ! 2157: {"ptestw", two(0xf000, 0x8008), two(0xffc0, 0xe3f8), "D3&sQ8" }, ! 2158: {"ptestw", two(0xf000, 0x8108), two(0xffc0, 0xe318), "D3&sQ8A9" }, ! 2159: {"ptestw", two(0xf000, 0x8000), two(0xffc0, 0xe3fe), "f3&sQ8" }, ! 2160: {"ptestw", two(0xf000, 0x8100), two(0xffc0, 0xe31e), "f3&sQ8A9" }, ! 2161: ! 2162: {"ptrapacw", two(0xf07a, 0x0007), two(0xffff, 0xffff), "#w"}, ! 2163: {"ptrapacl", two(0xf07b, 0x0007), two(0xffff, 0xffff), "#l"}, ! 2164: {"ptrapac", two(0xf07c, 0x0007), two(0xffff, 0xffff), ""}, ! 2165: ! 2166: {"ptrapasw", two(0xf07a, 0x0006), two(0xffff, 0xffff), "#w"}, ! 2167: {"ptrapasl", two(0xf07b, 0x0006), two(0xffff, 0xffff), "#l"}, ! 2168: {"ptrapas", two(0xf07c, 0x0006), two(0xffff, 0xffff), ""}, ! 2169: ! 2170: {"ptrapbcw", two(0xf07a, 0x0001), two(0xffff, 0xffff), "#w"}, ! 2171: {"ptrapbcl", two(0xf07b, 0x0001), two(0xffff, 0xffff), "#l"}, ! 2172: {"ptrapbc", two(0xf07c, 0x0001), two(0xffff, 0xffff), ""}, ! 2173: ! 2174: {"ptrapbsw", two(0xf07a, 0x0000), two(0xffff, 0xffff), "#w"}, ! 2175: {"ptrapbsl", two(0xf07b, 0x0000), two(0xffff, 0xffff), "#l"}, ! 2176: {"ptrapbs", two(0xf07c, 0x0000), two(0xffff, 0xffff), ""}, ! 2177: ! 2178: {"ptrapccw", two(0xf07a, 0x000f), two(0xffff, 0xffff), "#w"}, ! 2179: {"ptrapccl", two(0xf07b, 0x000f), two(0xffff, 0xffff), "#l"}, ! 2180: {"ptrapcc", two(0xf07c, 0x000f), two(0xffff, 0xffff), ""}, ! 2181: ! 2182: {"ptrapcsw", two(0xf07a, 0x000e), two(0xffff, 0xffff), "#w"}, ! 2183: {"ptrapcsl", two(0xf07b, 0x000e), two(0xffff, 0xffff), "#l"}, ! 2184: {"ptrapcs", two(0xf07c, 0x000e), two(0xffff, 0xffff), ""}, ! 2185: ! 2186: {"ptrapgcw", two(0xf07a, 0x000d), two(0xffff, 0xffff), "#w"}, ! 2187: {"ptrapgcl", two(0xf07b, 0x000d), two(0xffff, 0xffff), "#l"}, ! 2188: {"ptrapgc", two(0xf07c, 0x000d), two(0xffff, 0xffff), ""}, ! 2189: ! 2190: {"ptrapgsw", two(0xf07a, 0x000c), two(0xffff, 0xffff), "#w"}, ! 2191: {"ptrapgsl", two(0xf07b, 0x000c), two(0xffff, 0xffff), "#l"}, ! 2192: {"ptrapgs", two(0xf07c, 0x000c), two(0xffff, 0xffff), ""}, ! 2193: ! 2194: {"ptrapicw", two(0xf07a, 0x000b), two(0xffff, 0xffff), "#w"}, ! 2195: {"ptrapicl", two(0xf07b, 0x000b), two(0xffff, 0xffff), "#l"}, ! 2196: {"ptrapic", two(0xf07c, 0x000b), two(0xffff, 0xffff), ""}, ! 2197: ! 2198: {"ptrapisw", two(0xf07a, 0x000a), two(0xffff, 0xffff), "#w"}, ! 2199: {"ptrapisl", two(0xf07b, 0x000a), two(0xffff, 0xffff), "#l"}, ! 2200: {"ptrapis", two(0xf07c, 0x000a), two(0xffff, 0xffff), ""}, ! 2201: ! 2202: {"ptraplcw", two(0xf07a, 0x0003), two(0xffff, 0xffff), "#w"}, ! 2203: {"ptraplcl", two(0xf07b, 0x0003), two(0xffff, 0xffff), "#l"}, ! 2204: {"ptraplc", two(0xf07c, 0x0003), two(0xffff, 0xffff), ""}, ! 2205: ! 2206: {"ptraplsw", two(0xf07a, 0x0002), two(0xffff, 0xffff), "#w"}, ! 2207: {"ptraplsl", two(0xf07b, 0x0002), two(0xffff, 0xffff), "#l"}, ! 2208: {"ptrapls", two(0xf07c, 0x0002), two(0xffff, 0xffff), ""}, ! 2209: ! 2210: {"ptrapscw", two(0xf07a, 0x0005), two(0xffff, 0xffff), "#w"}, ! 2211: {"ptrapscl", two(0xf07b, 0x0005), two(0xffff, 0xffff), "#l"}, ! 2212: {"ptrapsc", two(0xf07c, 0x0005), two(0xffff, 0xffff), ""}, ! 2213: ! 2214: {"ptrapssw", two(0xf07a, 0x0004), two(0xffff, 0xffff), "#w"}, ! 2215: {"ptrapssl", two(0xf07b, 0x0004), two(0xffff, 0xffff), "#l"}, ! 2216: {"ptrapss", two(0xf07c, 0x0004), two(0xffff, 0xffff), ""}, ! 2217: ! 2218: {"ptrapwcw", two(0xf07a, 0x0009), two(0xffff, 0xffff), "#w"}, ! 2219: {"ptrapwcl", two(0xf07b, 0x0009), two(0xffff, 0xffff), "#l"}, ! 2220: {"ptrapwc", two(0xf07c, 0x0009), two(0xffff, 0xffff), ""}, ! 2221: ! 2222: {"ptrapwsw", two(0xf07a, 0x0008), two(0xffff, 0xffff), "#w"}, ! 2223: {"ptrapwsl", two(0xf07b, 0x0008), two(0xffff, 0xffff), "#l"}, ! 2224: {"ptrapws", two(0xf07c, 0x0008), two(0xffff, 0xffff), ""}, ! 2225: ! 2226: {"pvalid", two(0xf000, 0x2800), two(0xffc0, 0xffff), "Vs&s"}, ! 2227: {"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s" }, ! 2228: ! 2229: #endif /* m68851 */ ! 2230: ! 2231: ! 2232: }; ! 2233: ! 2234: static const struct m68k_opcode *endop = ! 2235: m68k_opcodes + sizeof(m68k_opcodes) / sizeof(m68k_opcodes[0]);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.