|
|
1.1 ! root 1: /* Opcode table for m68000/m68020 and m68881. */ ! 2: ! 3: struct m68k_opcode ! 4: { ! 5: char *name; ! 6: unsigned long opcode; ! 7: unsigned long match; ! 8: char *args; ! 9: }; ! 10: ! 11: /* We store four bytes of opcode for all opcodes because that ! 12: is the most any of them need. The actual length of an instruction ! 13: is always at least 2 bytes, and is as much longer as necessary to ! 14: hold the operands it has. ! 15: ! 16: The match component is a mask saying which bits must match ! 17: particular opcode in order for an instruction to be an instance ! 18: of that opcode. ! 19: ! 20: The args component is a string containing two characters ! 21: for each operand of the instruction. The first specifies ! 22: the kind of operand; the second, the place it is stored. */ ! 23: ! 24: /* Kinds of operands: ! 25: D data register only. Stored as 3 bits. ! 26: A address register only. Stored as 3 bits. ! 27: R either kind of register. Stored as 4 bits. ! 28: F floating point coprocessor register only. Stored as 3 bits. ! 29: O an offset (or width): immediate data 0-31 or data register. ! 30: Stored as 6 bits in special format for BF... insns. ! 31: + autoincrement only. Stored as 3 bits (number of the address register). ! 32: - autodecrement only. Stored as 3 bits (number of the address register). ! 33: Q quick immediate data. Stored as 3 bits. ! 34: This matches an immediate operand only when value is in range 1 .. 8. ! 35: M moveq immediate data. Stored as 8 bits. ! 36: This matches an immediate operand only when value is in range -128..127 ! 37: T trap vector immediate data. Stored as 4 bits. ! 38: ! 39: k K-factor for fmove.p instruction. Stored as a 7-bit constant or ! 40: a three bit register offset, depending on the field type. ! 41: ! 42: # immediate data. Stored in special places (b, w or l) ! 43: which say how many bits to store. ! 44: ^ immediate data for floating point instructions. Special places ! 45: are offset by 2 bytes from '#'... ! 46: B pc-relative address, converted to an offset ! 47: that is treated as immediate data. ! 48: d displacement and register. Stores the register as 3 bits ! 49: and stores the displacement in the entire second word. ! 50: ! 51: C the CCR. No need to store it; this is just for filtering validity. ! 52: S the SR. No need to store, just as with CCR. ! 53: U the USP. No need to store, just as with CCR. ! 54: ! 55: I Coprocessor ID. Not printed if 1. The Coprocessor ID is always ! 56: extracted from the 'd' field of word one, which means that an extended ! 57: coprocessor opcode can be skipped using the 'i' place, if needed. ! 58: ! 59: s System Control register for the floating point coprocessor. ! 60: ! 61: J Misc register for movec instruction, stored in 'j' format. ! 62: Possible values: ! 63: 000 SFC Source Function Code reg ! 64: 001 DFC Data Function Code reg ! 65: 002 CACR Cache Control Register ! 66: 800 USP User Stack Pointer ! 67: 801 VBR Vector Base reg ! 68: 802 CAAR Cache Address Register ! 69: 803 MSP Master Stack Pointer ! 70: 804 ISP Interrupt Stack Pointer ! 71: ! 72: These specify various classes of addressing modes. ! 73: They are all stored as 6 bits using an address mode and a register number; ! 74: they differ in which addressing modes they match. ! 75: ! 76: * all (modes 0-6,7.*) ! 77: ~ alterable memory (modes 2-6,7.0,7.1)(not 0,1,7.~) ! 78: % alterable (modes 0-6,7.0,7.1)(not 7.~) ! 79: ; data (modes 0,2-6,7.*)(not 1) ! 80: @ data, but not immediate (modes 0,2-6,7.???)(not 1,7.?) This may really be ;, the 68020 book says it is ! 81: ! control (modes 2,5,6,7.*-)(not 0,1,3,4,7.4) ! 82: & alterable control (modes 2,5,6,7.0,7.1)(not 0,1,7.???) ! 83: $ alterable data (modes 0,2-6,7.0,7.1)(not 1,7.~) ! 84: ? alterable control, or data register (modes 0,2,5,6,7.0,7.1)(not 1,3,4,7.~) ! 85: / control, or data register (modes 0,2,5,6,7.0,7.1,7.2,7.3)(not 1,3,4,7.4) ! 86: */ ! 87: ! 88: /* Places to put an operand, for non-general operands: ! 89: s source, low bits of first word. ! 90: d dest, shifted 9 in first word ! 91: 1 second word, shifted 12 ! 92: 2 second word, shifted 6 ! 93: 3 second word, shifted 0 ! 94: 4 third word, shifted 12 ! 95: 5 third word, shifted 6 ! 96: 6 third word, shifted 0 ! 97: 7 second word, shifted 7 ! 98: 8 second word, shifted 10 ! 99: D store in both place 1 and place 3; for divul and divsl. ! 100: b second word, low byte ! 101: w second word (entire) ! 102: l second and third word (entire) ! 103: g branch offset for bra and similar instructions. ! 104: The place to store depends on the magnitude of offset. ! 105: t store in both place 7 and place 8; for floating point operations ! 106: c branch offset for cpBcc operations. ! 107: The place to store is word two if bit six of word one is zero, ! 108: and words two and three if bit six of word one is one. ! 109: i Increment by two, to skip over coprocessor extended operands. Only ! 110: works with the 'I' format. ! 111: k Dynamic K-factor field. Bits 6-4 of word 2, used as a register number. ! 112: Also used for dynamic fmovem instruction. ! 113: C floating point coprocessor constant - 7 bits. Also used for static ! 114: K-factors... ! 115: j Movec register #, stored in 12 low bits of second word. ! 116: ! 117: Places to put operand, for general operands: ! 118: d destination, shifted 6 bits in first word ! 119: b source, at low bit of first word, and immediate uses one byte ! 120: w source, at low bit of first word, and immediate uses two bytes ! 121: l source, at low bit of first word, and immediate uses four bytes ! 122: s source, at low bit of first word. ! 123: Used sometimes in contexts where immediate is not allowed anyway. ! 124: f single precision float, low bit of 1st word, immediate uses 4 bytes ! 125: F double precision float, low bit of 1st word, immediate uses 8 bytes ! 126: x extended precision float, low bit of 1st word, immediate uses 12 bytes ! 127: p packed float, low bit of 1st word, immediate uses 12 bytes ! 128: */ ! 129: ! 130: #define one(x) ((x) << 16) ! 131: #define two(x, y) (((x) << 16) + y) ! 132: ! 133: /* The assembler requires that this array be sorted as follows: ! 134: all instances of the same mnemonic must be consecutive. ! 135: All instances of the same mnemonic with the same number of operands ! 136: must be consecutive. ! 137: */ ! 138: struct m68k_opcode m68k_opcodes[] = ! 139: { ! 140: {"abcd", one(0140400), one(0170770), "DsDd"}, ! 141: {"abcd", one(0140410), one(0170770), "-s-d"}, ! 142: ! 143: /* Add instructions */ ! 144: {"addal", one(0150700), one(0170700), "*lAd"}, ! 145: {"addaw", one(0150300), one(0170700), "*wAd"}, ! 146: {"addib", one(0003000), one(0177700), "#b$b"}, ! 147: {"addil", one(0003200), one(0177700), "#l$l"}, ! 148: {"addiw", one(0003100), one(0177700), "#w$w"}, ! 149: {"addqb", one(0050000), one(0170700), "Qd$b"}, ! 150: {"addql", one(0050200), one(0170700), "Qd%l"}, ! 151: {"addqw", one(0050100), one(0170700), "Qd%w"}, ! 152: ! 153: {"addb", one(0003000), one(0177700), "#b$b"}, /* addi written as add */ ! 154: {"addb", one(0050000), one(0170700), "Qd$b"}, /* addq written as add */ ! 155: {"addb", one(0150000), one(0170700), ";bDd"}, /* addb <ea>, Dd */ ! 156: {"addb", one(0150400), one(0170700), "Dd~b"}, /* addb Dd, <ea> */ ! 157: ! 158: {"addw", one(0003100), one(0177700), "#w$w"}, /* addi written as add */ ! 159: {"addw", one(0150300), one(0170700), "*wAd"}, /* adda written as add */ ! 160: {"addw", one(0050100), one(0170700), "Qd%w"}, /* addq written as add */ ! 161: {"addw", one(0150100), one(0170700), "*wDd"}, /* addw <ea>, Dd */ ! 162: {"addw", one(0150500), one(0170700), "Dd~w"}, /* addw Dd, <ea> */ ! 163: ! 164: {"addl", one(0003200), one(0177700), "#l$l"}, /* addi written as add */ ! 165: {"addl", one(0150700), one(0170700), "*lAd"}, /* adda written as add */ ! 166: {"addl", one(0050200), one(0170700), "Qd%l"}, /* addq written as add */ ! 167: {"addl", one(0150200), one(0170700), "*lDd"}, /* addl <ea>, Dd */ ! 168: {"addl", one(0150600), one(0170700), "Dd~l"}, /* addl Dd, <ea> */ ! 169: ! 170: {"addxb", one(0150400), one(0170770), "DsDd"}, ! 171: {"addxb", one(0150410), one(0170770), "-s-d"}, ! 172: {"addxl", one(0150600), one(0170770), "DsDd"}, ! 173: {"addxl", one(0150610), one(0170770), "-s-d"}, ! 174: {"addxw", one(0150500), one(0170770), "DsDd"}, ! 175: {"addxw", one(0150510), one(0170770), "-s-d"}, ! 176: ! 177: {"andib", one(0001000), one(0177700), "#b$b"}, ! 178: {"andib", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */ ! 179: {"andiw", one(0001100), one(0177700), "#w$w"}, ! 180: {"andiw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */ ! 181: {"andil", one(0001200), one(0177700), "#l$l"}, ! 182: ! 183: {"andb", one(0001000), one(0177700), "#b$b"}, /* andi written as or */ ! 184: {"andb", one(0001074), one(0177777), "#bCb"}, /* andi to ccr */ ! 185: {"andb", one(0140000), one(0170700), ";bDd"}, /* memory to register */ ! 186: {"andb", one(0140400), one(0170700), "Dd~b"}, /* register to memory */ ! 187: {"andw", one(0001100), one(0177700), "#w$w"}, /* andi written as or */ ! 188: {"andw", one(0001174), one(0177777), "#wSw"}, /* andi to sr */ ! 189: {"andw", one(0140100), one(0170700), ";wDd"}, /* memory to register */ ! 190: {"andw", one(0140500), one(0170700), "Dd~w"}, /* register to memory */ ! 191: {"andl", one(0001200), one(0177700), "#l$l"}, /* andi written as or */ ! 192: {"andl", one(0140200), one(0170700), ";lDd"}, /* memory to register */ ! 193: {"andl", one(0140600), one(0170700), "Dd~l"}, /* register to memory */ ! 194: ! 195: {"aslb", one(0160400), one(0170770), "QdDs"}, ! 196: {"aslb", one(0160440), one(0170770), "DdDs"}, ! 197: {"asll", one(0160600), one(0170770), "QdDs"}, ! 198: {"asll", one(0160640), one(0170770), "DdDs"}, ! 199: {"aslw", one(0160500), one(0170770), "QdDs"}, ! 200: {"aslw", one(0160540), one(0170770), "DdDs"}, ! 201: {"aslw", one(0160700), one(0177700), "~s"}, /* Shift memory */ ! 202: {"asrb", one(0160000), one(0170770), "QdDs"}, ! 203: {"asrb", one(0160040), one(0170770), "DdDs"}, ! 204: {"asrl", one(0160200), one(0170770), "QdDs"}, ! 205: {"asrl", one(0160240), one(0170770), "DdDs"}, ! 206: {"asrw", one(0160100), one(0170770), "QdDs"}, ! 207: {"asrw", one(0160140), one(0170770), "DdDs"}, ! 208: {"asrw", one(0160300), one(0177700), "~s"}, /* Shift memory */ ! 209: ! 210: {"bhi", one(0061000), one(0177400), "Bg"}, ! 211: {"bls", one(0061400), one(0177400), "Bg"}, ! 212: {"bcc", one(0062000), one(0177400), "Bg"}, ! 213: {"bcs", one(0062400), one(0177400), "Bg"}, ! 214: {"bne", one(0063000), one(0177400), "Bg"}, ! 215: {"beq", one(0063400), one(0177400), "Bg"}, ! 216: {"bvc", one(0064000), one(0177400), "Bg"}, ! 217: {"bvs", one(0064400), one(0177400), "Bg"}, ! 218: {"bpl", one(0065000), one(0177400), "Bg"}, ! 219: {"bmi", one(0065400), one(0177400), "Bg"}, ! 220: {"bge", one(0066000), one(0177400), "Bg"}, ! 221: {"blt", one(0066400), one(0177400), "Bg"}, ! 222: {"bgt", one(0067000), one(0177400), "Bg"}, ! 223: {"ble", one(0067400), one(0177400), "Bg"}, ! 224: ! 225: {"bchg", one(0000500), one(0170700), "Dd$s"}, ! 226: {"bchg", one(0004100), one(0177700), "#b$s"}, ! 227: {"bclr", one(0000600), one(0170700), "Dd$s"}, ! 228: {"bclr", one(0004200), one(0177700), "#b$s"}, ! 229: {"bfchg", two(0165300, 0), two(0177700, 0170000), "?sO2O3"}, ! 230: {"bfclr", two(0166300, 0), two(0177700, 0170000), "?sO2O3"}, ! 231: {"bfexts", two(0165700, 0), two(0177700, 0100000), "/sO2O3D1"}, ! 232: {"bfextu", two(0164700, 0), two(0177700, 0100000), "/sO2O3D1"}, ! 233: {"bfffo", two(0166700, 0), two(0177700, 0100000), "/sO2O3D1"}, ! 234: {"bfins", two(0167700, 0), two(0177700, 0100000), "D1?sO2O3"}, ! 235: {"bfset", two(0167300, 0), two(0177700, 0170000), "?sO2O3"}, ! 236: {"bftst", two(0164300, 0), two(0177700, 0170000), "/sO2O3"}, ! 237: {"bset", one(0000700), one(0170700), "Dd$s"}, ! 238: {"bset", one(0004300), one(0177700), "#b$s"}, ! 239: {"btst", one(0000400), one(0170700), "Dd@s"}, ! 240: {"btst", one(0004000), one(0177700), "#b@s"}, ! 241: ! 242: {"bkpt", one(0044110), one(0177770), "Qs"}, ! 243: {"bra", one(0060000), one(0177400), "Bg"}, ! 244: {"bsr", one(0060400), one(0177400), "Bg"}, ! 245: {"callm", one(0003300), one(0177700), "#b!s"}, ! 246: {"cas2l", two(0007374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF FOO this is really a 3 word ins */ ! 247: {"cas2w", two(0006374, 0), two(0177777, 0107070), "D3D6D2D5R1R4"}, /* JF ditto */ ! 248: {"casb", two(0005300, 0), two(0177700, 0177070), "D3D2~s"}, ! 249: {"casl", two(0007300, 0), two(0177700, 0177070), "D3D2~s"}, ! 250: {"casw", two(0006300, 0), two(0177700, 0177070), "D3D2~s"}, ! 251: ! 252: /* {"chk", one(0040600), one(0170700), ";wDd"}, JF FOO this looks wrong */ ! 253: {"chk2b", two(0000300, 0004000), two(0177700, 07777), "!sR1"}, ! 254: {"chk2l", two(0002300, 0004000), two(0177700, 07777), "!sR1"}, ! 255: {"chk2w", two(0001300, 0004000), two(0177700, 07777), "!sR1"}, ! 256: {"chkl", one(0040400), one(0170700), ";lDd"}, ! 257: {"chkw", one(0040600), one(0170700), ";wDd"}, ! 258: {"clrb", one(0041000), one(0177700), "$s"}, ! 259: {"clrl", one(0041200), one(0177700), "$s"}, ! 260: {"clrw", one(0041100), one(0177700), "$s"}, ! 261: ! 262: {"cmp2b", two(0000300, 0), two(0177700, 07777), "!sR1"}, ! 263: {"cmp2l", two(0002300, 0), two(0177700, 07777), "!sR1"}, ! 264: {"cmp2w", two(0001300, 0), two(0177700, 07777), "!sR1"}, ! 265: {"cmpal", one(0130700), one(0170700), "*lAd"}, ! 266: {"cmpaw", one(0130300), one(0170700), "*wAd"}, ! 267: {"cmpib", one(0006000), one(0177700), "#b;b"}, ! 268: {"cmpil", one(0006200), one(0177700), "#l;l"}, ! 269: {"cmpiw", one(0006100), one(0177700), "#w;w"}, ! 270: {"cmpb", one(0006000), one(0177700), "#b;b"}, /* cmpi written as cmp */ ! 271: {"cmpb", one(0130000), one(0170700), ";bDd"}, ! 272: {"cmpw", one(0006100), one(0177700), "#w;w"}, ! 273: {"cmpw", one(0130100), one(0170700), "*wDd"}, ! 274: {"cmpw", one(0130300), one(0170700), "*wAd"}, /* cmpa written as cmp */ ! 275: {"cmpl", one(0006200), one(0177700), "#l;l"}, ! 276: {"cmpl", one(0130200), one(0170700), "*lDd"}, ! 277: {"cmpl", one(0130700), one(0170700), "*lAd"}, ! 278: {"cmpmb", one(0130410), one(0170770), "+s+d"}, ! 279: {"cmpml", one(0130610), one(0170770), "+s+d"}, ! 280: {"cmpmw", one(0130510), one(0170770), "+s+d"}, ! 281: ! 282: {"dbcc", one(0052310), one(0177770), "DsBw"}, ! 283: {"dbcs", one(0052710), one(0177770), "DsBw"}, ! 284: {"dbeq", one(0053710), one(0177770), "DsBw"}, ! 285: {"dbf", one(0050710), one(0177770), "DsBw"}, ! 286: {"dbge", one(0056310), one(0177770), "DsBw"}, ! 287: {"dbgt", one(0057310), one(0177770), "DsBw"}, ! 288: {"dbhi", one(0051310), one(0177770), "DsBw"}, ! 289: {"dble", one(0057710), one(0177770), "DsBw"}, ! 290: {"dbls", one(0051710), one(0177770), "DsBw"}, ! 291: {"dblt", one(0056710), one(0177770), "DsBw"}, ! 292: {"dbmi", one(0055710), one(0177770), "DsBw"}, ! 293: {"dbne", one(0053310), one(0177770), "DsBw"}, ! 294: {"dbpl", one(0055310), one(0177770), "DsBw"}, ! 295: {"dbra", one(0050710), one(0177770), "DsBw"}, ! 296: {"dbt", one(0050310), one(0177770), "DsBw"}, ! 297: {"dbvc", one(0054310), one(0177770), "DsBw"}, ! 298: {"dbvs", one(0054710), one(0177770), "DsBw"}, ! 299: ! 300: {"divsl", two(0046100, 0006000), two(0177700, 0107770), ";lD3D1"}, ! 301: {"divsl", two(0046100, 0004000), two(0177700, 0107770), ";lDD"}, ! 302: {"divsll", two(0046100, 0004000), two(0177700, 0107770), ";lD3D1"}, ! 303: {"divsw", one(0100700), one(0170700), ";wDd"}, ! 304: {"divs", one(0100700), one(0170700), ";wDd"}, ! 305: {"divul", two(0046100, 0002000), two(0177700, 0107770), ";lD3D1"}, ! 306: {"divul", two(0046100, 0000000), two(0177700, 0107770), ";lDD"}, ! 307: {"divull", two(0046100, 0000000), two(0177700, 0107770), ";lD3D1"}, ! 308: {"divuw", one(0100300), one(0170700), ";wDd"}, ! 309: {"divu", one(0100300), one(0170700), ";wDd"}, ! 310: {"eorb", one(0005000), one(0177700), "#b$s"}, /* eori written as or */ ! 311: {"eorb", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */ ! 312: {"eorb", one(0130400), one(0170700), "Dd$s"}, /* register to memory */ ! 313: {"eorib", one(0005000), one(0177700), "#b$s"}, ! 314: {"eorib", one(0005074), one(0177777), "#bCs"}, /* eori to ccr */ ! 315: {"eoril", one(0005200), one(0177700), "#l$s"}, ! 316: {"eoriw", one(0005100), one(0177700), "#w$s"}, ! 317: {"eoriw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */ ! 318: {"eorl", one(0005200), one(0177700), "#l$s"}, ! 319: {"eorl", one(0130600), one(0170700), "Dd$s"}, ! 320: {"eorw", one(0005100), one(0177700), "#w$s"}, ! 321: {"eorw", one(0005174), one(0177777), "#wSs"}, /* eori to sr */ ! 322: {"eorw", one(0130500), one(0170700), "Dd$s"}, ! 323: ! 324: {"exg", one(0140500), one(0170770), "DdDs"}, ! 325: {"exg", one(0140510), one(0170770), "AdAs"}, ! 326: {"exg", one(0140610), one(0170770), "DdAs"}, ! 327: {"exg", one(0140610), one(0170770), "AsDd"}, ! 328: ! 329: {"extw", one(0044200), one(0177770), "Ds"}, ! 330: {"extl", one(0044300), one(0177770), "Ds"}, ! 331: {"extbl", one(0044700), one(0177770), "Ds"}, ! 332: {"extb.l", one(0044700), one(0177770), "Ds"}, /* Not sure we should support this one*/ ! 333: ! 334: {"illegal", one(0045374), one(0177777), ""}, ! 335: {"jmp", one(0047300), one(0177700), "!s"}, ! 336: {"jsr", one(0047200), one(0177700), "!s"}, ! 337: {"lea", one(0040700), one(0170700), "!sAd"}, ! 338: {"linkw", one(0047120), one(0177770), "As#w"}, ! 339: {"linkl", one(0044010), one(0177770), "As#l"}, ! 340: {"link", one(0047120), one(0177770), "As#w"}, ! 341: {"link", one(0044010), one(0177770), "As#l"}, ! 342: ! 343: {"lslb", one(0160410), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 344: {"lslb", one(0160450), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ ! 345: {"lslw", one(0160510), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 346: {"lslw", one(0160550), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ ! 347: {"lslw", one(0161700), one(0177700), "~s"}, /* Shift memory */ ! 348: {"lsll", one(0160610), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 349: {"lsll", one(0160650), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ ! 350: ! 351: {"lsrb", one(0160010), one(0170770), "QdDs"} /* lsrb #Q, Ds */, ! 352: {"lsrb", one(0160050), one(0170770), "DdDs"}, /* lsrb Dd, Ds */ ! 353: {"lsrl", one(0160210), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 354: {"lsrl", one(0160250), one(0170770), "DdDs"}, /* lsrb #Q, Ds */ ! 355: {"lsrw", one(0160110), one(0170770), "QdDs"}, /* lsrb #Q, Ds */ ! 356: {"lsrw", one(0160150), one(0170770), "DdDs"}, /* lsrb #Q, Ds */ ! 357: {"lsrw", one(0161300), one(0177700), "~s"}, /* Shift memory */ ! 358: ! 359: {"moveal", one(0020100), one(0170700), "*lAd"}, ! 360: {"moveaw", one(0030100), one(0170700), "*wAd"}, ! 361: {"moveb", one(0010000), one(0170000), ";b$d"}, /* move */ ! 362: ! 363: {"movec", one(0047173), one(0177777), "R1Jj"}, ! 364: {"movec", one(0047173), one(0177777), "R1#j"}, ! 365: {"movec", one(0047172), one(0177777), "JjR1"}, ! 366: {"movec", one(0047172), one(0177777), "#jR1"}, ! 367: ! 368: {"movel", one(0020000), one(0170000), "*l$d"}, ! 369: {"movel", one(0020100), one(0170700), "*lAd"}, ! 370: {"movel", one(0047140), one(0177770), "AsUd"}, /* move to USP */ ! 371: {"movel", one(0047150), one(0177770), "UdAs"}, /* move from USP */ ! 372: {"movel", one(0070000), one(0170400), "MsDd"}, /* moveq written as move */ ! 373: ! 374: {"moveml", one(0044300), one(0177700), "#w&s"}, /* movem reg to mem. */ ! 375: {"moveml", one(0044340), one(0177770), "#w-s"}, /* movem reg to autodecrement. */ ! 376: {"moveml", one(0046300), one(0177700), "!s#w"}, /* movem mem to reg. */ ! 377: {"moveml", one(0046330), one(0177770), "+s#w"}, /* movem autoinc to reg. */ ! 378: ! 379: {"movemw", one(0044200), one(0177700), "#w&s"}, /* movem reg to mem. */ ! 380: {"movemw", one(0044240), one(0177770), "#w-s"}, /* movem reg to autodecrement. */ ! 381: {"movemw", one(0046200), one(0177700), "!s#w"}, /* movem mem to reg. */ ! 382: {"movemw", one(0046230), one(0177770), "+s#w"}, /* movem autoinc to reg. */ ! 383: ! 384: {"movepl", one(0000510), one(0170770), "dsDd"}, /* memory to register */ ! 385: {"movepl", one(0000710), one(0170770), "Ddds"}, /* register to memory */ ! 386: {"movepw", one(0000410), one(0170770), "dsDd"}, /* memory to register */ ! 387: {"movepw", one(0000610), one(0170770), "Ddds"}, /* register to memory */ ! 388: {"moveq", one(0070000), one(0170400), "MsDd"}, ! 389: {"movew", one(0030000), one(0170000), "*w$d"}, ! 390: {"movew", one(0030100), one(0170700), "*wAd"}, /* movea, written as move */ ! 391: {"movew", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */ ! 392: {"movew", one(0041300), one(0177700), "Cs$s"}, /* Move from ccr */ ! 393: {"movew", one(0042300), one(0177700), ";wCd"}, /* move to ccr */ ! 394: {"movew", one(0043300), one(0177700), ";wSd"}, /* move to sr */ ! 395: ! 396: {"movesb", two(0007000, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */ ! 397: {"movesb", two(0007000, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */ ! 398: {"movesl", two(0007200, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */ ! 399: {"movesl", two(0007200, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */ ! 400: {"movesw", two(0007100, 0), two(0177700, 07777), "~sR1"}, /* moves from memory */ ! 401: {"movesw", two(0007100, 04000), two(0177700, 07777), "R1~s"}, /* moves to memory */ ! 402: ! 403: {"mulsl", two(0046000, 004000), two(0177700, 0107770), ";lD1"}, ! 404: {"mulsl", two(0046000, 006000), two(0177700, 0107770), ";lD3D1"}, ! 405: {"mulsw", one(0140700), one(0170700), ";wDd"}, ! 406: {"muls", one(0140700), one(0170700), ";wDd"}, ! 407: {"mulul", two(0046000, 000000), two(0177700, 0107770), ";lD1"}, ! 408: {"mulul", two(0046000, 002000), two(0177700, 0107770), ";lD3D1"}, ! 409: {"muluw", one(0140300), one(0170700), ";wDd"}, ! 410: {"mulu", one(0140300), one(0170700), ";wDd"}, ! 411: {"nbcd", one(0044000), one(0177700), "$s"}, ! 412: {"negb", one(0042000), one(0177700), "$s"}, ! 413: {"negl", one(0042200), one(0177700), "$s"}, ! 414: {"negw", one(0042100), one(0177700), "$s"}, ! 415: {"negxb", one(0040000), one(0177700), "$s"}, ! 416: {"negxl", one(0040200), one(0177700), "$s"}, ! 417: {"negxw", one(0040100), one(0177700), "$s"}, ! 418: {"nop", one(0047161), one(0177777), ""}, ! 419: {"notb", one(0043000), one(0177700), "$s"}, ! 420: {"notl", one(0043200), one(0177700), "$s"}, ! 421: {"notw", one(0043100), one(0177700), "$s"}, ! 422: ! 423: {"orb", one(0000000), one(0177700), "#b$s"}, /* ori written as or */ ! 424: {"orb", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */ ! 425: {"orb", one(0100000), one(0170700), ";bDd"}, /* memory to register */ ! 426: {"orb", one(0100400), one(0170700), "Dd~s"}, /* register to memory */ ! 427: {"orib", one(0000000), one(0177700), "#b$s"}, ! 428: {"orib", one(0000074), one(0177777), "#bCs"}, /* ori to ccr */ ! 429: {"oril", one(0000200), one(0177700), "#l$s"}, ! 430: {"oriw", one(0000100), one(0177700), "#w$s"}, ! 431: {"oriw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */ ! 432: {"orl", one(0000200), one(0177700), "#l$s"}, ! 433: {"orl", one(0100200), one(0170700), ";lDd"}, /* memory to register */ ! 434: {"orl", one(0100600), one(0170700), "Dd~s"}, /* register to memory */ ! 435: {"orw", one(0000100), one(0177700), "#w$s"}, ! 436: {"orw", one(0000174), one(0177777), "#wSs"}, /* ori to sr */ ! 437: {"orw", one(0100100), one(0170700), ";wDd"}, /* memory to register */ ! 438: {"orw", one(0100500), one(0170700), "Dd~s"}, /* register to memory */ ! 439: ! 440: {"pack", one(0100500), one(0170770), "DsDd#w"}, /* pack Ds, Dd, #w */ ! 441: {"pack", one(0100510), one(0170770), "-s-d#w"}, /* pack -(As), -(Ad), #w */ ! 442: {"pea", one(0044100), one(0177700), "!s"}, ! 443: {"reset", one(0047160), one(0177777), ""}, ! 444: ! 445: {"rolb", one(0160430), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 446: {"rolb", one(0160470), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 447: {"roll", one(0160630), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 448: {"roll", one(0160670), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 449: {"rolw", one(0160530), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 450: {"rolw", one(0160570), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 451: {"rolw", one(0163700), one(0177700), "~s"}, /* Rotate memory */ ! 452: {"rorb", one(0160030), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 453: {"rorb", one(0160070), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 454: {"rorl", one(0160230), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 455: {"rorl", one(0160270), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 456: {"rorw", one(0160130), one(0170770), "QdDs"}, /* rorb #Q, Ds */ ! 457: {"rorw", one(0160170), one(0170770), "DdDs"}, /* rorb Dd, Ds */ ! 458: {"rorw", one(0163300), one(0177700), "~s"}, /* Rotate memory */ ! 459: ! 460: {"roxlb", one(0160420), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 461: {"roxlb", one(0160460), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 462: {"roxll", one(0160620), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 463: {"roxll", one(0160660), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 464: {"roxlw", one(0160520), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 465: {"roxlw", one(0160560), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 466: {"roxlw", one(0162700), one(0177700), "~s"}, /* Rotate memory */ ! 467: {"roxrb", one(0160020), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 468: {"roxrb", one(0160060), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 469: {"roxrl", one(0160220), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 470: {"roxrl", one(0160260), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 471: {"roxrw", one(0160120), one(0170770), "QdDs"}, /* roxrb #Q, Ds */ ! 472: {"roxrw", one(0160160), one(0170770), "DdDs"}, /* roxrb Dd, Ds */ ! 473: {"roxrw", one(0162300), one(0177700), "~s"}, /* Rotate memory */ ! 474: ! 475: {"rtd", one(0047164), one(0177777), "#w"}, ! 476: {"rte", one(0047163), one(0177777), ""}, ! 477: {"rtm", one(0003300), one(0177760), "Rs"}, ! 478: {"rtr", one(0047167), one(0177777), ""}, ! 479: {"rts", one(0047165), one(0177777), ""}, ! 480: ! 481: {"scc", one(0052300), one(0177700), "$s"}, ! 482: {"scs", one(0052700), one(0177700), "$s"}, ! 483: {"seq", one(0053700), one(0177700), "$s"}, ! 484: {"sf", one(0050700), one(0177700), "$s"}, ! 485: {"sge", one(0056300), one(0177700), "$s"}, ! 486: {"sgt", one(0057300), one(0177700), "$s"}, ! 487: {"shi", one(0051300), one(0177700), "$s"}, ! 488: {"sle", one(0057700), one(0177700), "$s"}, ! 489: {"sls", one(0051700), one(0177700), "$s"}, ! 490: {"slt", one(0056700), one(0177700), "$s"}, ! 491: {"smi", one(0055700), one(0177700), "$s"}, ! 492: {"sne", one(0053300), one(0177700), "$s"}, ! 493: {"spl", one(0055300), one(0177700), "$s"}, ! 494: {"st", one(0050300), one(0177700), "$s"}, ! 495: {"svc", one(0054300), one(0177700), "$s"}, ! 496: {"svs", one(0054700), one(0177700), "$s"}, ! 497: ! 498: {"sbcd", one(0100400), one(0170770), "DsDd"}, ! 499: {"sbcd", one(0100410), one(0170770), "-s-d"}, ! 500: {"stop", one(0047162), one(0177777), "#w"}, ! 501: ! 502: {"subal", one(0110700), one(0170700), "*lAd"}, ! 503: {"subaw", one(0110300), one(0170700), "*wAd"}, ! 504: {"subb", one(0002000), one(0177700), "#b$s"}, /* subi written as sub */ ! 505: {"subb", one(0050400), one(0170700), "Qd%s"}, /* subq written as sub */ ! 506: {"subb", one(0110000), one(0170700), ";bDd"}, /* subb ??, Dd */ ! 507: {"subb", one(0110400), one(0170700), "Dd~s"}, /* subb Dd, ?? */ ! 508: {"subib", one(0002000), one(0177700), "#b$s"}, ! 509: {"subil", one(0002200), one(0177700), "#l$s"}, ! 510: {"subiw", one(0002100), one(0177700), "#w$s"}, ! 511: {"subl", one(0002200), one(0177700), "#l$s"}, ! 512: {"subl", one(0050600), one(0170700), "Qd%s"}, ! 513: {"subl", one(0110200), one(0170700), "*lDd"}, ! 514: {"subl", one(0110600), one(0170700), "Dd~s"}, ! 515: {"subl", one(0110700), one(0170700), "*lAd"}, ! 516: {"subqb", one(0050400), one(0170700), "Qd%s"}, ! 517: {"subql", one(0050600), one(0170700), "Qd%s"}, ! 518: {"subqw", one(0050500), one(0170700), "Qd%s"}, ! 519: {"subw", one(0002100), one(0177700), "#w$s"}, ! 520: {"subw", one(0050500), one(0170700), "Qd%s"}, ! 521: {"subw", one(0110100), one(0170700), "*wDd"}, ! 522: {"subw", one(0110300), one(0170700), "*wAd"}, /* suba written as sub */ ! 523: {"subw", one(0110500), one(0170700), "Dd~s"}, ! 524: ! 525: {"subxb", one(0110400), one(0170770), "DsDd"}, /* subxb Ds, Dd */ ! 526: {"subxb", one(0110410), one(0170770), "-s-d"}, /* subxb -(As), -(Ad) */ ! 527: {"subxl", one(0110600), one(0170770), "DsDd"}, ! 528: {"subxl", one(0110610), one(0170770), "-s-d"}, ! 529: {"subxw", one(0110500), one(0170770), "DsDd"}, ! 530: {"subxw", one(0110510), one(0170770), "-s-d"}, ! 531: ! 532: {"swap", one(0044100), one(0177770), "Ds"}, ! 533: ! 534: {"tas", one(0045300), one(0177700), "$s"}, ! 535: {"trap", one(0047100), one(0177760), "Ts"}, ! 536: ! 537: {"trapcc", one(0052374), one(0177777), ""}, ! 538: {"trapcs", one(0052774), one(0177777), ""}, ! 539: {"trapeq", one(0053774), one(0177777), ""}, ! 540: {"trapf", one(0050774), one(0177777), ""}, ! 541: {"trapge", one(0056374), one(0177777), ""}, ! 542: {"trapgt", one(0057374), one(0177777), ""}, ! 543: {"traphi", one(0051374), one(0177777), ""}, ! 544: {"traple", one(0057774), one(0177777), ""}, ! 545: {"trapls", one(0051774), one(0177777), ""}, ! 546: {"traplt", one(0056774), one(0177777), ""}, ! 547: {"trapmi", one(0055774), one(0177777), ""}, ! 548: {"trapne", one(0053374), one(0177777), ""}, ! 549: {"trappl", one(0055374), one(0177777), ""}, ! 550: {"trapt", one(0050374), one(0177777), ""}, ! 551: {"trapvc", one(0054374), one(0177777), ""}, ! 552: {"trapvs", one(0054774), one(0177777), ""}, ! 553: ! 554: {"trapcc.w", one(0052372), one(0177777), ""}, ! 555: {"trapcs.w", one(0052772), one(0177777), ""}, ! 556: {"trapeq.w", one(0053772), one(0177777), ""}, ! 557: {"trapf.w", one(0050772), one(0177777), ""}, ! 558: {"trapge.w", one(0056372), one(0177777), ""}, ! 559: {"trapgt.w", one(0057372), one(0177777), ""}, ! 560: {"traphi.w", one(0051372), one(0177777), ""}, ! 561: {"traple.w", one(0057772), one(0177777), ""}, ! 562: {"trapls.w", one(0051772), one(0177777), ""}, ! 563: {"traplt.w", one(0056772), one(0177777), ""}, ! 564: {"trapmi.w", one(0055772), one(0177777), ""}, ! 565: {"trapne.w", one(0053372), one(0177777), ""}, ! 566: {"trappl.w", one(0055372), one(0177777), ""}, ! 567: {"trapt.w", one(0050372), one(0177777), ""}, ! 568: {"trapvc.w", one(0054372), one(0177777), ""}, ! 569: {"trapvs.w", one(0054772), one(0177777), ""}, ! 570: ! 571: {"trapcc.l", one(0052373), one(0177777), ""}, ! 572: {"trapcs.l", one(0052773), one(0177777), ""}, ! 573: {"trapeq.l", one(0053773), one(0177777), ""}, ! 574: {"trapf.l", one(0050773), one(0177777), ""}, ! 575: {"trapge.l", one(0056373), one(0177777), ""}, ! 576: {"trapgt.l", one(0057373), one(0177777), ""}, ! 577: {"traphi.l", one(0051373), one(0177777), ""}, ! 578: {"traple.l", one(0057773), one(0177777), ""}, ! 579: {"trapls.l", one(0051773), one(0177777), ""}, ! 580: {"traplt.l", one(0056773), one(0177777), ""}, ! 581: {"trapmi.l", one(0055773), one(0177777), ""}, ! 582: {"trapne.l", one(0053373), one(0177777), ""}, ! 583: {"trappl.l", one(0055373), one(0177777), ""}, ! 584: {"trapt.l", one(0050373), one(0177777), ""}, ! 585: {"trapvc.l", one(0054373), one(0177777), ""}, ! 586: {"trapvs.l", one(0054773), one(0177777), ""}, ! 587: ! 588: {"trapv", one(0047166), one(0177777), ""}, ! 589: ! 590: {"tstb", one(0045000), one(0177700), ";b"}, ! 591: {"tstw", one(0045100), one(0177700), "*w"}, ! 592: {"tstl", one(0045200), one(0177700), "*l"}, ! 593: ! 594: {"unlk", one(0047130), one(0177770), "As"}, ! 595: {"unpk", one(0100600), one(0170770), "DsDd#w"}, ! 596: {"unpk", one(0100610), one(0170770), "-s-d#w"}, ! 597: /* JF floating pt stuff moved down here */ ! 598: ! 599: {"fabsb", two(0xF000, 0x5818), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 600: {"fabsd", two(0xF000, 0x5418), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 601: {"fabsl", two(0xF000, 0x4018), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 602: {"fabsp", two(0xF000, 0x4C18), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 603: {"fabss", two(0xF000, 0x4418), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 604: {"fabsw", two(0xF000, 0x5018), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 605: {"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 606: {"fabsx", two(0xF000, 0x4818), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 607: {"fabsx", two(0xF000, 0x0018), two(0xF1C0, 0xE07F), "IiFt"}, ! 608: ! 609: {"facosb", two(0xF000, 0x581C), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 610: {"facosd", two(0xF000, 0x541C), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 611: {"facosl", two(0xF000, 0x401C), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 612: {"facosp", two(0xF000, 0x4C1C), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 613: {"facoss", two(0xF000, 0x441C), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 614: {"facosw", two(0xF000, 0x501C), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 615: {"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 616: {"facosx", two(0xF000, 0x481C), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 617: {"facosx", two(0xF000, 0x001C), two(0xF1C0, 0xE07F), "IiFt"}, ! 618: ! 619: {"faddb", two(0xF000, 0x5822), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 620: {"faddd", two(0xF000, 0x5422), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 621: {"faddl", two(0xF000, 0x4022), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 622: {"faddp", two(0xF000, 0x4C22), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 623: {"fadds", two(0xF000, 0x4422), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 624: {"faddw", two(0xF000, 0x5022), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 625: {"faddx", two(0xF000, 0x0022), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 626: {"faddx", two(0xF000, 0x4822), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 627: ! 628: {"fasinb", two(0xF000, 0x580C), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 629: {"fasind", two(0xF000, 0x540C), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 630: {"fasinl", two(0xF000, 0x400C), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 631: {"fasinp", two(0xF000, 0x4C0C), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 632: {"fasins", two(0xF000, 0x440C), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 633: {"fasinw", two(0xF000, 0x500C), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 634: {"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 635: {"fasinx", two(0xF000, 0x480C), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 636: {"fasinx", two(0xF000, 0x000C), two(0xF1C0, 0xE07F), "IiFt"}, ! 637: ! 638: {"fatanb", two(0xF000, 0x580A), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 639: {"fatand", two(0xF000, 0x540A), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 640: {"fatanl", two(0xF000, 0x400A), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 641: {"fatanp", two(0xF000, 0x4C0A), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 642: {"fatans", two(0xF000, 0x440A), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 643: {"fatanw", two(0xF000, 0x500A), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 644: {"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 645: {"fatanx", two(0xF000, 0x480A), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 646: {"fatanx", two(0xF000, 0x000A), two(0xF1C0, 0xE07F), "IiFt"}, ! 647: ! 648: {"fatanhb", two(0xF000, 0x580D), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 649: {"fatanhd", two(0xF000, 0x540D), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 650: {"fatanhl", two(0xF000, 0x400D), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 651: {"fatanhp", two(0xF000, 0x4C0D), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 652: {"fatanhs", two(0xF000, 0x440D), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 653: {"fatanhw", two(0xF000, 0x500D), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 654: {"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 655: {"fatanhx", two(0xF000, 0x480D), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 656: {"fatanhx", two(0xF000, 0x000D), two(0xF1C0, 0xE07F), "IiFt"}, ! 657: ! 658: {"fbeq", one(0xF081), one(0xF1FF), "IdBc"}, ! 659: {"fbf", one(0xF080), one(0xF1FF), "IdBc"}, ! 660: {"fbge", one(0xF093), one(0xF1FF), "IdBc"}, ! 661: {"fbgl", one(0xF096), one(0xF1FF), "IdBc"}, ! 662: {"fbgle", one(0xF097), one(0xF1FF), "IdBc"}, ! 663: {"fbgt", one(0xF092), one(0xF1FF), "IdBc"}, ! 664: {"fble", one(0xF095), one(0xF1FF), "IdBc"}, ! 665: {"fblt", one(0xF094), one(0xF1FF), "IdBc"}, ! 666: {"fbne", one(0xF08E), one(0xF1FF), "IdBc"}, ! 667: {"fbnge", one(0xF09C), one(0xF1FF), "IdBc"}, ! 668: {"fbngl", one(0xF099), one(0xF1FF), "IdBc"}, ! 669: {"fbngle", one(0xF098), one(0xF1FF), "IdBc"}, ! 670: {"fbngt", one(0xF09D), one(0xF1FF), "IdBc"}, ! 671: {"fbnle", one(0xF09A), one(0xF1FF), "IdBc"}, ! 672: {"fbnlt", one(0xF09B), one(0xF1FF), "IdBc"}, ! 673: {"fboge", one(0xF083), one(0xF1FF), "IdBc"}, ! 674: {"fbogl", one(0xF086), one(0xF1FF), "IdBc"}, ! 675: {"fbogt", one(0xF082), one(0xF1FF), "IdBc"}, ! 676: {"fbole", one(0xF085), one(0xF1FF), "IdBc"}, ! 677: {"fbolt", one(0xF084), one(0xF1FF), "IdBc"}, ! 678: {"fbor", one(0xF087), one(0xF1FF), "IdBc"}, ! 679: {"fbseq", one(0xF091), one(0xF1FF), "IdBc"}, ! 680: {"fbsf", one(0xF090), one(0xF1FF), "IdBc"}, ! 681: {"fbsne", one(0xF09E), one(0xF1FF), "IdBc"}, ! 682: {"fbst", one(0xF09F), one(0xF1FF), "IdBc"}, ! 683: {"fbt", one(0xF08F), one(0xF1FF), "IdBc"}, ! 684: {"fbueq", one(0xF089), one(0xF1FF), "IdBc"}, ! 685: {"fbuge", one(0xF08B), one(0xF1FF), "IdBc"}, ! 686: {"fbugt", one(0xF08A), one(0xF1FF), "IdBc"}, ! 687: {"fbule", one(0xF08D), one(0xF1FF), "IdBc"}, ! 688: {"fbult", one(0xF08C), one(0xF1FF), "IdBc"}, ! 689: {"fbun", one(0xF088), one(0xF1FF), "IdBc"}, ! 690: ! 691: {"fcmpb", two(0xF000, 0x5838), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 692: {"fcmpd", two(0xF000, 0x5438), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 693: {"fcmpl", two(0xF000, 0x4038), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 694: {"fcmpp", two(0xF000, 0x4C38), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 695: {"fcmps", two(0xF000, 0x4438), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 696: {"fcmpw", two(0xF000, 0x5038), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 697: {"fcmpx", two(0xF000, 0x0038), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 698: {"fcmpx", two(0xF000, 0x4838), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 699: ! 700: {"fcosb", two(0xF000, 0x581D), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 701: {"fcosd", two(0xF000, 0x541D), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 702: {"fcosl", two(0xF000, 0x401D), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 703: {"fcosp", two(0xF000, 0x4C1D), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 704: {"fcoss", two(0xF000, 0x441D), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 705: {"fcosw", two(0xF000, 0x501D), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 706: {"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 707: {"fcosx", two(0xF000, 0x481D), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 708: {"fcosx", two(0xF000, 0x001D), two(0xF1C0, 0xE07F), "IiFt"}, ! 709: ! 710: {"fcoshb", two(0xF000, 0x5819), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 711: {"fcoshd", two(0xF000, 0x5419), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 712: {"fcoshl", two(0xF000, 0x4019), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 713: {"fcoshp", two(0xF000, 0x4C19), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 714: {"fcoshs", two(0xF000, 0x4419), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 715: {"fcoshw", two(0xF000, 0x5019), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 716: {"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 717: {"fcoshx", two(0xF000, 0x4819), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 718: {"fcoshx", two(0xF000, 0x0019), two(0xF1C0, 0xE07F), "IiFt"}, ! 719: ! 720: {"fdbeq", two(0xF048, 0x0001), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 721: {"fdbf", two(0xF048, 0x0000), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 722: {"fdbge", two(0xF048, 0x0013), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 723: {"fdbgl", two(0xF048, 0x0016), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 724: {"fdbgle", two(0xF048, 0x0017), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 725: {"fdbgt", two(0xF048, 0x0012), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 726: {"fdble", two(0xF048, 0x0015), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 727: {"fdblt", two(0xF048, 0x0014), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 728: {"fdbne", two(0xF048, 0x000E), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 729: {"fdbnge", two(0xF048, 0x001C), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 730: {"fdbngl", two(0xF048, 0x0019), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 731: {"fdbngle", two(0xF048, 0x0018), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 732: {"fdbngt", two(0xF048, 0x001D), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 733: {"fdbnle", two(0xF048, 0x001A), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 734: {"fdbnlt", two(0xF048, 0x001B), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 735: {"fdboge", two(0xF048, 0x0003), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 736: {"fdbogl", two(0xF048, 0x0006), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 737: {"fdbogt", two(0xF048, 0x0002), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 738: {"fdbole", two(0xF048, 0x0005), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 739: {"fdbolt", two(0xF048, 0x0004), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 740: {"fdbor", two(0xF048, 0x0007), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 741: {"fdbseq", two(0xF048, 0x0011), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 742: {"fdbsf", two(0xF048, 0x0010), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 743: {"fdbsne", two(0xF048, 0x001E), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 744: {"fdbst", two(0xF048, 0x001F), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 745: {"fdbt", two(0xF048, 0x000F), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 746: {"fdbueq", two(0xF048, 0x0009), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 747: {"fdbuge", two(0xF048, 0x000B), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 748: {"fdbugt", two(0xF048, 0x000A), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 749: {"fdbule", two(0xF048, 0x000D), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 750: {"fdbult", two(0xF048, 0x000C), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 751: {"fdbun", two(0xF048, 0x0008), two(0xF1F8, 0xFFFF), "IiDsBw"}, ! 752: ! 753: {"fdivb", two(0xF000, 0x5820), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 754: {"fdivd", two(0xF000, 0x5420), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 755: {"fdivl", two(0xF000, 0x4020), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 756: {"fdivp", two(0xF000, 0x4C20), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 757: {"fdivs", two(0xF000, 0x4420), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 758: {"fdivw", two(0xF000, 0x5020), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 759: {"fdivx", two(0xF000, 0x0020), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 760: {"fdivx", two(0xF000, 0x4820), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 761: ! 762: {"fetoxb", two(0xF000, 0x5810), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 763: {"fetoxd", two(0xF000, 0x5410), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 764: {"fetoxl", two(0xF000, 0x4010), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 765: {"fetoxp", two(0xF000, 0x4C10), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 766: {"fetoxs", two(0xF000, 0x4410), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 767: {"fetoxw", two(0xF000, 0x5010), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 768: {"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 769: {"fetoxx", two(0xF000, 0x4810), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 770: {"fetoxx", two(0xF000, 0x0010), two(0xF1C0, 0xE07F), "IiFt"}, ! 771: ! 772: {"fetoxm1b", two(0xF000, 0x5808), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 773: {"fetoxm1d", two(0xF000, 0x5408), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 774: {"fetoxm1l", two(0xF000, 0x4008), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 775: {"fetoxm1p", two(0xF000, 0x4C08), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 776: {"fetoxm1s", two(0xF000, 0x4408), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 777: {"fetoxm1w", two(0xF000, 0x5008), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 778: {"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 779: {"fetoxm1x", two(0xF000, 0x4808), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 780: {"fetoxm1x", two(0xF000, 0x0008), two(0xF1C0, 0xE07F), "IiFt"}, ! 781: ! 782: {"fgetexpb", two(0xF000, 0x581E), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 783: {"fgetexpd", two(0xF000, 0x541E), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 784: {"fgetexpl", two(0xF000, 0x401E), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 785: {"fgetexpp", two(0xF000, 0x4C1E), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 786: {"fgetexps", two(0xF000, 0x441E), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 787: {"fgetexpw", two(0xF000, 0x501E), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 788: {"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 789: {"fgetexpx", two(0xF000, 0x481E), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 790: {"fgetexpx", two(0xF000, 0x001E), two(0xF1C0, 0xE07F), "IiFt"}, ! 791: ! 792: {"fgetmanb", two(0xF000, 0x581F), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 793: {"fgetmand", two(0xF000, 0x541F), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 794: {"fgetmanl", two(0xF000, 0x401F), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 795: {"fgetmanp", two(0xF000, 0x4C1F), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 796: {"fgetmans", two(0xF000, 0x441F), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 797: {"fgetmanw", two(0xF000, 0x501F), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 798: {"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 799: {"fgetmanx", two(0xF000, 0x481F), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 800: {"fgetmanx", two(0xF000, 0x001F), two(0xF1C0, 0xE07F), "IiFt"}, ! 801: ! 802: {"fintb", two(0xF000, 0x5801), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 803: {"fintd", two(0xF000, 0x5401), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 804: {"fintl", two(0xF000, 0x4001), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 805: {"fintp", two(0xF000, 0x4C01), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 806: {"fints", two(0xF000, 0x4401), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 807: {"fintw", two(0xF000, 0x5001), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 808: {"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 809: {"fintx", two(0xF000, 0x4801), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 810: {"fintx", two(0xF000, 0x0001), two(0xF1C0, 0xE07F), "IiFt"}, ! 811: ! 812: {"fintrzb", two(0xF000, 0x5803), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 813: {"fintrzd", two(0xF000, 0x5403), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 814: {"fintrzl", two(0xF000, 0x4003), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 815: {"fintrzp", two(0xF000, 0x4C03), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 816: {"fintrzs", two(0xF000, 0x4403), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 817: {"fintrzw", two(0xF000, 0x5003), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 818: {"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 819: {"fintrzx", two(0xF000, 0x4803), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 820: {"fintrzx", two(0xF000, 0x0003), two(0xF1C0, 0xE07F), "IiFt"}, ! 821: ! 822: {"flog10b", two(0xF000, 0x5815), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 823: {"flog10d", two(0xF000, 0x5415), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 824: {"flog10l", two(0xF000, 0x4015), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 825: {"flog10p", two(0xF000, 0x4C15), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 826: {"flog10s", two(0xF000, 0x4415), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 827: {"flog10w", two(0xF000, 0x5015), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 828: {"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 829: {"flog10x", two(0xF000, 0x4815), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 830: {"flog10x", two(0xF000, 0x0015), two(0xF1C0, 0xE07F), "IiFt"}, ! 831: ! 832: {"flog2b", two(0xF000, 0x5816), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 833: {"flog2d", two(0xF000, 0x5416), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 834: {"flog2l", two(0xF000, 0x4016), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 835: {"flog2p", two(0xF000, 0x4C16), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 836: {"flog2s", two(0xF000, 0x4416), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 837: {"flog2w", two(0xF000, 0x5016), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 838: {"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 839: {"flog2x", two(0xF000, 0x4816), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 840: {"flog2x", two(0xF000, 0x0016), two(0xF1C0, 0xE07F), "IiFt"}, ! 841: ! 842: {"flognb", two(0xF000, 0x5814), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 843: {"flognd", two(0xF000, 0x5414), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 844: {"flognl", two(0xF000, 0x4014), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 845: {"flognp", two(0xF000, 0x4C14), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 846: {"flogns", two(0xF000, 0x4414), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 847: {"flognw", two(0xF000, 0x5014), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 848: {"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 849: {"flognx", two(0xF000, 0x4814), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 850: {"flognx", two(0xF000, 0x0014), two(0xF1C0, 0xE07F), "IiFt"}, ! 851: ! 852: {"flognp1b", two(0xF000, 0x5806), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 853: {"flognp1d", two(0xF000, 0x5406), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 854: {"flognp1l", two(0xF000, 0x4006), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 855: {"flognp1p", two(0xF000, 0x4C06), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 856: {"flognp1s", two(0xF000, 0x4406), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 857: {"flognp1w", two(0xF000, 0x5006), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 858: {"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 859: {"flognp1x", two(0xF000, 0x4806), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 860: {"flognp1x", two(0xF000, 0x0006), two(0xF1C0, 0xE07F), "IiFt"}, ! 861: ! 862: {"fmodb", two(0xF000, 0x5821), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 863: {"fmodd", two(0xF000, 0x5421), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 864: {"fmodl", two(0xF000, 0x4021), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 865: {"fmodp", two(0xF000, 0x4C21), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 866: {"fmods", two(0xF000, 0x4421), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 867: {"fmodw", two(0xF000, 0x5021), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 868: {"fmodx", two(0xF000, 0x0021), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 869: {"fmodx", two(0xF000, 0x4821), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 870: ! 871: {"fmoveb", two(0xF000, 0x5800), two(0xF1C0, 0xFC7F), "Ii;bF7"}, /* fmove from <ea> to fp<n> */ ! 872: {"fmoveb", two(0xF000, 0x7800), two(0xF1C0, 0xFC7F), "IiF7@b"}, /* fmove from fp<n> to <ea> */ ! 873: {"fmoved", two(0xF000, 0x5400), two(0xF1C0, 0xFC7F), "Ii;FF7"}, /* fmove from <ea> to fp<n> */ ! 874: {"fmoved", two(0xF000, 0x7400), two(0xF1C0, 0xFC7F), "IiF7@F"}, /* fmove from fp<n> to <ea> */ ! 875: {"fmovel", two(0xF000, 0x4000), two(0xF1C0, 0xFC7F), "Ii;lF7"}, /* fmove from <ea> to fp<n> */ ! 876: {"fmovel", two(0xF000, 0x6000), two(0xF1C0, 0xFC7F), "IiF7@l"}, /* fmove from fp<n> to <ea> */ ! 877: /* JF for the assembler */ ! 878: {"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8%l"}, ! 879: {"fmovel", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ls8"}, ! 880: /* JF {"fmovep", two(0xF000, 0x4C00), two(0xF1C0, 0xFC7F), "Ii;pF7"}, /* fmove from <ea> to fp<n> */ ! 881: {"fmovep", two(0xF000, 0x6C00), two(0xF1C0, 0xFC00), "IiF7@pkC"}, /* fmove.p with k-factors: */ ! 882: {"fmovep", two(0xF000, 0x7C00), two(0xF1C0, 0xFC0F), "IiF7@pDk"}, /* fmove.p with k-factors: */ ! 883: {"fmoves", two(0xF000, 0x4400), two(0xF1C0, 0xFC7F), "Ii;fF7"}, /* fmove from <ea> to fp<n> */ ! 884: {"fmoves", two(0xF000, 0x6400), two(0xF1C0, 0xFC7F), "IiF7@f"}, /* fmove from fp<n> to <ea> */ ! 885: {"fmovew", two(0xF000, 0x5000), two(0xF1C0, 0xFC7F), "Ii;wF7"}, /* fmove from <ea> to fp<n> */ ! 886: {"fmovew", two(0xF000, 0x7000), two(0xF1C0, 0xFC7F), "IiF7@w"}, /* fmove from fp<n> to <ea> */ ! 887: {"fmovex", two(0xF000, 0x0000), two(0xF1C0, 0xE07F), "IiF8F7"}, /* fmove from <ea> to fp<n> */ ! 888: {"fmovex", two(0xF000, 0x4800), two(0xF1C0, 0xFC7F), "Ii;xF7"}, /* fmove from <ea> to fp<n> */ ! 889: {"fmovex", two(0xF000, 0x6800), two(0xF1C0, 0xFC7F), "IiF7@x"}, /* fmove from fp<n> to <ea> */ ! 890: ! 891: /* fmove.l from/to system control registers: */ ! 892: ! 893: /* fmove.l and fmovem.l are the same instruction. fmovem.l makes sense in ! 894: more cases, so I've dumped fmove.l pro tem, but this is the wrong ! 895: way to solve the problem in the long run. Hmmm. */ ! 896: /* {"fmovel", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8@s"}, */ ! 897: /* {"fmovel", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii@ss8"}, */ ! 898: ! 899: {"fmovecrx", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"}, /* fmovecr.x #ccc, FPn */ ! 900: {"fmovecr", two(0xF000, 0x5C00), two(0xF1FF, 0xFC00), "Ii#CF7"}, ! 901: ! 902: {"fmovemx", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "Id#3-s"}, /* fmovem.x to autodecrement, static and dynamic */ ! 903: {"fmovemx", two(0xF020, 0xE800), two(0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */ ! 904: ! 905: {"fmovemx", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x to control, static and dynamic: */ ! 906: {"fmovemx", two(0xF000, 0xF800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */ ! 907: ! 908: {"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id#3+s"}, /* fmovem.x from autoincrement, static and dynamic: */ ! 909: {"fmovemx", two(0xF018, 0xD800), two(0xF1F8, 0xFF8F), "IiDk+s"}, /* fmovem.x from autoincrement, static and dynamic: */ ! 910: ! 911: {"fmovemx", two(0xF000, 0xD000), two(0xF1C0, 0xFF00), "Id#3&s"}, /* fmovem.x from control, static and dynamic: */ ! 912: {"fmovemx", two(0xF000, 0xD800), two(0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x from control, static and dynamic: */ ! 913: ! 914: /* fmoveml and fmovel are the same instruction. This may cause some ! 915: confusion in the assembler. */ ! 916: ! 917: {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Ii#8%s"}, /* fmovem.l to/from system control register(s): */ ! 918: {"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii%s#8"}, /* fmovem.l to/from system control register(s): */ ! 919: ! 920: {"fmulb", two(0xF000, 0x5823), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 921: {"fmuld", two(0xF000, 0x5423), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 922: {"fmull", two(0xF000, 0x4023), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 923: {"fmulp", two(0xF000, 0x4C23), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 924: {"fmuls", two(0xF000, 0x4423), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 925: {"fmulw", two(0xF000, 0x5023), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 926: {"fmulx", two(0xF000, 0x0023), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 927: {"fmulx", two(0xF000, 0x4823), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 928: ! 929: {"fnegb", two(0xF000, 0x581A), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 930: {"fnegd", two(0xF000, 0x541A), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 931: {"fnegl", two(0xF000, 0x401A), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 932: {"fnegp", two(0xF000, 0x4C1A), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 933: {"fnegs", two(0xF000, 0x441A), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 934: {"fnegw", two(0xF000, 0x501A), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 935: {"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 936: {"fnegx", two(0xF000, 0x481A), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 937: {"fnegx", two(0xF000, 0x001A), two(0xF1C0, 0xE07F), "IiFt"}, ! 938: ! 939: {"fremb", two(0xF000, 0x5825), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 940: {"fremd", two(0xF000, 0x5425), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 941: {"freml", two(0xF000, 0x4025), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 942: {"fremp", two(0xF000, 0x4C25), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 943: {"frems", two(0xF000, 0x4425), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 944: {"fremw", two(0xF000, 0x5025), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 945: {"fremx", two(0xF000, 0x0025), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 946: {"fremx", two(0xF000, 0x4825), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 947: ! 948: {"frestore", one(0xF140), one(0xF1C0), "Id&s"}, ! 949: {"frestore", one(0xF158), one(0xF1F8), "Id+s"}, ! 950: {"fsave", one(0xF100), one(0xF1C0), "Id&s"}, ! 951: {"fsave", one(0xF120), one(0xF1F8), "Id-s"}, ! 952: ! 953: {"fsincosb", two(0xF000, 0x5830), two(0xF1C0, 0xFC78), "Ii;bF7FC"}, ! 954: {"fsincosd", two(0xF000, 0x5430), two(0xF1C0, 0xFC78), "Ii;FF7FC"}, ! 955: {"fsincosl", two(0xF000, 0x4030), two(0xF1C0, 0xFC78), "Ii;lF7FC"}, ! 956: {"fsincosp", two(0xF000, 0x4C30), two(0xF1C0, 0xFC78), "Ii;pF7FC"}, ! 957: {"fsincoss", two(0xF000, 0x4430), two(0xF1C0, 0xFC78), "Ii;fF7FC"}, ! 958: {"fsincosw", two(0xF000, 0x5030), two(0xF1C0, 0xFC78), "Ii;wF7FC"}, ! 959: {"fsincosx", two(0xF000, 0x0030), two(0xF1C0, 0xE078), "IiF8F7FC"}, ! 960: {"fsincosx", two(0xF000, 0x4830), two(0xF1C0, 0xFC78), "Ii;xF7FC"}, ! 961: ! 962: {"fscaleb", two(0xF000, 0x5826), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 963: {"fscaled", two(0xF000, 0x5426), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 964: {"fscalel", two(0xF000, 0x4026), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 965: {"fscalep", two(0xF000, 0x4C26), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 966: {"fscales", two(0xF000, 0x4426), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 967: {"fscalew", two(0xF000, 0x5026), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 968: {"fscalex", two(0xF000, 0x0026), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 969: {"fscalex", two(0xF000, 0x4826), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 970: ! 971: {"fseq", two(0xF040, 0x0001), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 972: {"fsf", two(0xF040, 0x0000), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 973: {"fsge", two(0xF040, 0x0013), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 974: {"fsgl", two(0xF040, 0x0016), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 975: {"fsgle", two(0xF040, 0x0017), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 976: {"fsgt", two(0xF040, 0x0012), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 977: {"fsle", two(0xF040, 0x0015), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 978: {"fslt", two(0xF040, 0x0014), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 979: {"fsne", two(0xF040, 0x000E), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 980: {"fsnge", two(0xF040, 0x001C), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 981: {"fsngl", two(0xF040, 0x0019), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 982: {"fsngle", two(0xF040, 0x0018), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 983: {"fsngt", two(0xF040, 0x001D), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 984: {"fsnle", two(0xF040, 0x001A), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 985: {"fsnlt", two(0xF040, 0x001B), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 986: {"fsoge", two(0xF040, 0x0003), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 987: {"fsogl", two(0xF040, 0x0006), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 988: {"fsogt", two(0xF040, 0x0002), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 989: {"fsole", two(0xF040, 0x0005), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 990: {"fsolt", two(0xF040, 0x0004), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 991: {"fsor", two(0xF040, 0x0007), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 992: {"fsseq", two(0xF040, 0x0011), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 993: {"fssf", two(0xF040, 0x0010), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 994: {"fssne", two(0xF040, 0x001E), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 995: {"fsst", two(0xF040, 0x001F), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 996: {"fst", two(0xF040, 0x000F), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 997: {"fsueq", two(0xF040, 0x0009), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 998: {"fsuge", two(0xF040, 0x000B), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 999: {"fsugt", two(0xF040, 0x000A), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 1000: {"fsule", two(0xF040, 0x000D), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 1001: {"fsult", two(0xF040, 0x000C), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 1002: {"fsun", two(0xF040, 0x0008), two(0xF1C0, 0xFFFF), "Ii@s"}, ! 1003: ! 1004: {"fsgldivb", two(0xF000, 0x5824), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1005: {"fsgldivd", two(0xF000, 0x5424), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1006: {"fsgldivl", two(0xF000, 0x4024), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1007: {"fsgldivp", two(0xF000, 0x4C24), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1008: {"fsgldivs", two(0xF000, 0x4424), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1009: {"fsgldivw", two(0xF000, 0x5024), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1010: {"fsgldivx", two(0xF000, 0x0024), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1011: {"fsgldivx", two(0xF000, 0x4824), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1012: ! 1013: {"fsglmulb", two(0xF000, 0x5827), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1014: {"fsglmuld", two(0xF000, 0x5427), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1015: {"fsglmull", two(0xF000, 0x4027), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1016: {"fsglmulp", two(0xF000, 0x4C27), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1017: {"fsglmuls", two(0xF000, 0x4427), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1018: {"fsglmulw", two(0xF000, 0x5027), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1019: {"fsglmulx", two(0xF000, 0x0027), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1020: {"fsglmulx", two(0xF000, 0x4827), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1021: ! 1022: {"fsinb", two(0xF000, 0x580E), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1023: {"fsind", two(0xF000, 0x540E), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1024: {"fsinl", two(0xF000, 0x400E), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1025: {"fsinp", two(0xF000, 0x4C0E), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1026: {"fsins", two(0xF000, 0x440E), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1027: {"fsinw", two(0xF000, 0x500E), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1028: {"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1029: {"fsinx", two(0xF000, 0x480E), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1030: {"fsinx", two(0xF000, 0x000E), two(0xF1C0, 0xE07F), "IiFt"}, ! 1031: ! 1032: {"fsinhb", two(0xF000, 0x5802), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1033: {"fsinhd", two(0xF000, 0x5402), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1034: {"fsinhl", two(0xF000, 0x4002), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1035: {"fsinhp", two(0xF000, 0x4C02), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1036: {"fsinhs", two(0xF000, 0x4402), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1037: {"fsinhw", two(0xF000, 0x5002), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1038: {"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1039: {"fsinhx", two(0xF000, 0x4802), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1040: {"fsinhx", two(0xF000, 0x0002), two(0xF1C0, 0xE07F), "IiFt"}, ! 1041: ! 1042: {"fsqrtb", two(0xF000, 0x5804), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1043: {"fsqrtd", two(0xF000, 0x5404), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1044: {"fsqrtl", two(0xF000, 0x4004), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1045: {"fsqrtp", two(0xF000, 0x4C04), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1046: {"fsqrts", two(0xF000, 0x4404), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1047: {"fsqrtw", two(0xF000, 0x5004), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1048: {"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1049: {"fsqrtx", two(0xF000, 0x4804), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1050: {"fsqrtx", two(0xF000, 0x0004), two(0xF1C0, 0xE07F), "IiFt"}, ! 1051: ! 1052: {"fsubb", two(0xF000, 0x5828), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1053: {"fsubd", two(0xF000, 0x5428), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1054: {"fsubl", two(0xF000, 0x4028), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1055: {"fsubp", two(0xF000, 0x4C28), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1056: {"fsubs", two(0xF000, 0x4428), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1057: {"fsubw", two(0xF000, 0x5028), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1058: {"fsubx", two(0xF000, 0x0028), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1059: {"fsubx", two(0xF000, 0x4828), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1060: ! 1061: {"ftanb", two(0xF000, 0x580F), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1062: {"ftand", two(0xF000, 0x540F), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1063: {"ftanl", two(0xF000, 0x400F), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1064: {"ftanp", two(0xF000, 0x4C0F), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1065: {"ftans", two(0xF000, 0x440F), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1066: {"ftanw", two(0xF000, 0x500F), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1067: {"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1068: {"ftanx", two(0xF000, 0x480F), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1069: {"ftanx", two(0xF000, 0x000F), two(0xF1C0, 0xE07F), "IiFt"}, ! 1070: ! 1071: {"ftanhb", two(0xF000, 0x5809), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1072: {"ftanhd", two(0xF000, 0x5409), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1073: {"ftanhl", two(0xF000, 0x4009), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1074: {"ftanhp", two(0xF000, 0x4C09), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1075: {"ftanhs", two(0xF000, 0x4409), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1076: {"ftanhw", two(0xF000, 0x5009), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1077: {"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1078: {"ftanhx", two(0xF000, 0x4809), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1079: {"ftanhx", two(0xF000, 0x0009), two(0xF1C0, 0xE07F), "IiFt"}, ! 1080: ! 1081: {"ftentoxb", two(0xF000, 0x5812), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1082: {"ftentoxd", two(0xF000, 0x5412), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1083: {"ftentoxl", two(0xF000, 0x4012), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1084: {"ftentoxp", two(0xF000, 0x4C12), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1085: {"ftentoxs", two(0xF000, 0x4412), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1086: {"ftentoxw", two(0xF000, 0x5012), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1087: {"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1088: {"ftentoxx", two(0xF000, 0x4812), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1089: {"ftentoxx", two(0xF000, 0x0012), two(0xF1C0, 0xE07F), "IiFt"}, ! 1090: ! 1091: {"ftrapeq", two(0xF07C, 0x0001), two(0xF1FF, 0xFFFF), "Ii"}, ! 1092: {"ftrapf", two(0xF07C, 0x0000), two(0xF1FF, 0xFFFF), "Ii"}, ! 1093: {"ftrapge", two(0xF07C, 0x0013), two(0xF1FF, 0xFFFF), "Ii"}, ! 1094: {"ftrapgl", two(0xF07C, 0x0016), two(0xF1FF, 0xFFFF), "Ii"}, ! 1095: {"ftrapgle", two(0xF07C, 0x0017), two(0xF1FF, 0xFFFF), "Ii"}, ! 1096: {"ftrapgt", two(0xF07C, 0x0012), two(0xF1FF, 0xFFFF), "Ii"}, ! 1097: {"ftraple", two(0xF07C, 0x0015), two(0xF1FF, 0xFFFF), "Ii"}, ! 1098: {"ftraplt", two(0xF07C, 0x0014), two(0xF1FF, 0xFFFF), "Ii"}, ! 1099: {"ftrapne", two(0xF07C, 0x000E), two(0xF1FF, 0xFFFF), "Ii"}, ! 1100: {"ftrapnge", two(0xF07C, 0x001C), two(0xF1FF, 0xFFFF), "Ii"}, ! 1101: {"ftrapngl", two(0xF07C, 0x0019), two(0xF1FF, 0xFFFF), "Ii"}, ! 1102: {"ftrapngle", two(0xF07C, 0x0018), two(0xF1FF, 0xFFFF), "Ii"}, ! 1103: {"ftrapngt", two(0xF07C, 0x001D), two(0xF1FF, 0xFFFF), "Ii"}, ! 1104: {"ftrapnle", two(0xF07C, 0x001A), two(0xF1FF, 0xFFFF), "Ii"}, ! 1105: {"ftrapnlt", two(0xF07C, 0x001B), two(0xF1FF, 0xFFFF), "Ii"}, ! 1106: {"ftrapoge", two(0xF07C, 0x0003), two(0xF1FF, 0xFFFF), "Ii"}, ! 1107: {"ftrapogl", two(0xF07C, 0x0006), two(0xF1FF, 0xFFFF), "Ii"}, ! 1108: {"ftrapogt", two(0xF07C, 0x0002), two(0xF1FF, 0xFFFF), "Ii"}, ! 1109: {"ftrapole", two(0xF07C, 0x0005), two(0xF1FF, 0xFFFF), "Ii"}, ! 1110: {"ftrapolt", two(0xF07C, 0x0004), two(0xF1FF, 0xFFFF), "Ii"}, ! 1111: {"ftrapor", two(0xF07C, 0x0007), two(0xF1FF, 0xFFFF), "Ii"}, ! 1112: {"ftrapseq", two(0xF07C, 0x0011), two(0xF1FF, 0xFFFF), "Ii"}, ! 1113: {"ftrapsf", two(0xF07C, 0x0010), two(0xF1FF, 0xFFFF), "Ii"}, ! 1114: {"ftrapsne", two(0xF07C, 0x001E), two(0xF1FF, 0xFFFF), "Ii"}, ! 1115: {"ftrapst", two(0xF07C, 0x001F), two(0xF1FF, 0xFFFF), "Ii"}, ! 1116: {"ftrapt", two(0xF07C, 0x000F), two(0xF1FF, 0xFFFF), "Ii"}, ! 1117: {"ftrapueq", two(0xF07C, 0x0009), two(0xF1FF, 0xFFFF), "Ii"}, ! 1118: {"ftrapuge", two(0xF07C, 0x000B), two(0xF1FF, 0xFFFF), "Ii"}, ! 1119: {"ftrapugt", two(0xF07C, 0x000A), two(0xF1FF, 0xFFFF), "Ii"}, ! 1120: {"ftrapule", two(0xF07C, 0x000D), two(0xF1FF, 0xFFFF), "Ii"}, ! 1121: {"ftrapult", two(0xF07C, 0x000C), two(0xF1FF, 0xFFFF), "Ii"}, ! 1122: {"ftrapun", two(0xF07C, 0x0008), two(0xF1FF, 0xFFFF), "Ii"}, ! 1123: ! 1124: {"ftrapeqw", two(0xF07A, 0x0001), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1125: {"ftrapfw", two(0xF07A, 0x0000), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1126: {"ftrapgew", two(0xF07A, 0x0013), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1127: {"ftrapglw", two(0xF07A, 0x0016), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1128: {"ftrapglew", two(0xF07A, 0x0017), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1129: {"ftrapgtw", two(0xF07A, 0x0012), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1130: {"ftraplew", two(0xF07A, 0x0015), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1131: {"ftrapltw", two(0xF07A, 0x0014), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1132: {"ftrapnew", two(0xF07A, 0x000E), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1133: {"ftrapngew", two(0xF07A, 0x001C), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1134: {"ftrapnglw", two(0xF07A, 0x0019), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1135: {"ftrapnglew", two(0xF07A, 0x0018), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1136: {"ftrapngtw", two(0xF07A, 0x001D), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1137: {"ftrapnlew", two(0xF07A, 0x001A), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1138: {"ftrapnltw", two(0xF07A, 0x001B), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1139: {"ftrapogew", two(0xF07A, 0x0003), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1140: {"ftrapoglw", two(0xF07A, 0x0006), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1141: {"ftrapogtw", two(0xF07A, 0x0002), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1142: {"ftrapolew", two(0xF07A, 0x0005), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1143: {"ftrapoltw", two(0xF07A, 0x0004), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1144: {"ftraporw", two(0xF07A, 0x0007), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1145: {"ftrapseqw", two(0xF07A, 0x0011), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1146: {"ftrapsfw", two(0xF07A, 0x0010), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1147: {"ftrapsnew", two(0xF07A, 0x001E), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1148: {"ftrapstw", two(0xF07A, 0x001F), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1149: {"ftraptw", two(0xF07A, 0x000F), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1150: {"ftrapueqw", two(0xF07A, 0x0009), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1151: {"ftrapugew", two(0xF07A, 0x000B), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1152: {"ftrapugtw", two(0xF07A, 0x000A), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1153: {"ftrapulew", two(0xF07A, 0x000D), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1154: {"ftrapultw", two(0xF07A, 0x000C), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1155: {"ftrapunw", two(0xF07A, 0x0008), two(0xF1FF, 0xFFFF), "Ii^w"}, ! 1156: ! 1157: {"ftrapeql", two(0xF07B, 0x0001), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1158: {"ftrapfl", two(0xF07B, 0x0000), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1159: {"ftrapgel", two(0xF07B, 0x0013), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1160: {"ftrapgll", two(0xF07B, 0x0016), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1161: {"ftrapglel", two(0xF07B, 0x0017), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1162: {"ftrapgtl", two(0xF07B, 0x0012), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1163: {"ftraplel", two(0xF07B, 0x0015), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1164: {"ftrapltl", two(0xF07B, 0x0014), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1165: {"ftrapnel", two(0xF07B, 0x000E), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1166: {"ftrapngel", two(0xF07B, 0x001C), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1167: {"ftrapngll", two(0xF07B, 0x0019), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1168: {"ftrapnglel", two(0xF07B, 0x0018), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1169: {"ftrapngtl", two(0xF07B, 0x001D), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1170: {"ftrapnlel", two(0xF07B, 0x001A), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1171: {"ftrapnltl", two(0xF07B, 0x001B), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1172: {"ftrapogel", two(0xF07B, 0x0003), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1173: {"ftrapogll", two(0xF07B, 0x0006), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1174: {"ftrapogtl", two(0xF07B, 0x0002), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1175: {"ftrapolel", two(0xF07B, 0x0005), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1176: {"ftrapoltl", two(0xF07B, 0x0004), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1177: {"ftraporl", two(0xF07B, 0x0007), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1178: {"ftrapseql", two(0xF07B, 0x0011), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1179: {"ftrapsfl", two(0xF07B, 0x0010), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1180: {"ftrapsnel", two(0xF07B, 0x001E), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1181: {"ftrapstl", two(0xF07B, 0x001F), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1182: {"ftraptl", two(0xF07B, 0x000F), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1183: {"ftrapueql", two(0xF07B, 0x0009), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1184: {"ftrapugel", two(0xF07B, 0x000B), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1185: {"ftrapugtl", two(0xF07B, 0x000A), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1186: {"ftrapulel", two(0xF07B, 0x000D), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1187: {"ftrapultl", two(0xF07B, 0x000C), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1188: {"ftrapunl", two(0xF07B, 0x0008), two(0xF1FF, 0xFFFF), "Ii^l"}, ! 1189: ! 1190: {"ftstb", two(0xF000, 0x583A), two(0xF1C0, 0xFC7F), "Ii;b"}, ! 1191: {"ftstd", two(0xF000, 0x543A), two(0xF1C0, 0xFC7F), "Ii;F"}, ! 1192: {"ftstl", two(0xF000, 0x403A), two(0xF1C0, 0xFC7F), "Ii;l"}, ! 1193: {"ftstp", two(0xF000, 0x4C3A), two(0xF1C0, 0xFC7F), "Ii;p"}, ! 1194: {"ftsts", two(0xF000, 0x443A), two(0xF1C0, 0xFC7F), "Ii;f"}, ! 1195: {"ftstw", two(0xF000, 0x503A), two(0xF1C0, 0xFC7F), "Ii;w"}, ! 1196: {"ftstx", two(0xF000, 0x003A), two(0xF1C0, 0xE07F), "IiF8"}, ! 1197: {"ftstx", two(0xF000, 0x483A), two(0xF1C0, 0xFC7F), "Ii;x"}, ! 1198: ! 1199: {"ftwotoxb", two(0xF000, 0x5811), two(0xF1C0, 0xFC7F), "Ii;bF7"}, ! 1200: {"ftwotoxd", two(0xF000, 0x5411), two(0xF1C0, 0xFC7F), "Ii;FF7"}, ! 1201: {"ftwotoxl", two(0xF000, 0x4011), two(0xF1C0, 0xFC7F), "Ii;lF7"}, ! 1202: {"ftwotoxp", two(0xF000, 0x4C11), two(0xF1C0, 0xFC7F), "Ii;pF7"}, ! 1203: {"ftwotoxs", two(0xF000, 0x4411), two(0xF1C0, 0xFC7F), "Ii;fF7"}, ! 1204: {"ftwotoxw", two(0xF000, 0x5011), two(0xF1C0, 0xFC7F), "Ii;wF7"}, ! 1205: {"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiF8F7"}, ! 1206: {"ftwotoxx", two(0xF000, 0x4811), two(0xF1C0, 0xFC7F), "Ii;xF7"}, ! 1207: {"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiFt"}, ! 1208: ! 1209: /* Alternate mnemonics for SUN */ ! 1210: ! 1211: {"jbsr", one(0060400), one(0177400), "Bg"}, ! 1212: {"jbsr", one(0047200), one(0177700), "!s"}, ! 1213: {"jra", one(0060000), one(0177400), "Bg"}, ! 1214: {"jra", one(0047300), one(0177700), "!s"}, ! 1215: ! 1216: {"jhi", one(0061000), one(0177400), "Bg"}, ! 1217: {"jls", one(0061400), one(0177400), "Bg"}, ! 1218: {"jcc", one(0062000), one(0177400), "Bg"}, ! 1219: {"jcs", one(0062400), one(0177400), "Bg"}, ! 1220: {"jne", one(0063000), one(0177400), "Bg"}, ! 1221: {"jeq", one(0063400), one(0177400), "Bg"}, ! 1222: {"jvc", one(0064000), one(0177400), "Bg"}, ! 1223: {"jvs", one(0064400), one(0177400), "Bg"}, ! 1224: {"jpl", one(0065000), one(0177400), "Bg"}, ! 1225: {"jmi", one(0065400), one(0177400), "Bg"}, ! 1226: {"jge", one(0066000), one(0177400), "Bg"}, ! 1227: {"jlt", one(0066400), one(0177400), "Bg"}, ! 1228: {"jgt", one(0067000), one(0177400), "Bg"}, ! 1229: {"jle", one(0067400), one(0177400), "Bg"}, ! 1230: ! 1231: {"movql", one(0070000), one(0170400), "MsDd"}, ! 1232: {"moveql", one(0070000), one(0170400), "MsDd"}, ! 1233: {"moval", one(0020100), one(0170700), "*lAd"}, ! 1234: {"movaw", one(0030100), one(0170700), "*wAd"}, ! 1235: {"movb", one(0010000), one(0170000), ";b$d"}, /* mov */ ! 1236: {"movl", one(0020000), one(0170000), "*l$d"}, ! 1237: {"movl", one(0020100), one(0170700), "*lAd"}, ! 1238: {"movl", one(0047140), one(0177770), "AsUd"}, /* mov to USP */ ! 1239: {"movl", one(0047150), one(0177770), "UdAs"}, /* mov from USP */ ! 1240: {"movl", one(0070000), one(0170400), "MsDd"}, /* movq written as mov */ ! 1241: {"movml", one(0044300), one(0177700), "#w&s"}, /* movm reg to mem. */ ! 1242: {"movml", one(0044340), one(0177770), "#w-s"}, /* movm reg to autodecrement. */ ! 1243: {"movml", one(0046300), one(0177700), "!s#w"}, /* movm mem to reg. */ ! 1244: {"movml", one(0046330), one(0177770), "+s#w"}, /* movm autoinc to reg. */ ! 1245: {"movmw", one(0044200), one(0177700), "#w&s"}, /* movm reg to mem. */ ! 1246: {"movmw", one(0044240), one(0177770), "#w-s"}, /* movm reg to autodecrement. */ ! 1247: {"movmw", one(0046200), one(0177700), "!s#w"}, /* movm mem to reg. */ ! 1248: {"movmw", one(0046230), one(0177770), "+s#w"}, /* movm autoinc to reg. */ ! 1249: {"movpl", one(0000510), one(0170770), "dsDd"}, /* memory to register */ ! 1250: {"movpl", one(0000710), one(0170770), "Ddds"}, /* register to memory */ ! 1251: {"movpw", one(0000410), one(0170770), "dsDd"}, /* memory to register */ ! 1252: {"movpw", one(0000610), one(0170770), "Ddds"}, /* register to memory */ ! 1253: {"movq", one(0070000), one(0170400), "MsDd"}, ! 1254: {"movw", one(0030000), one(0170000), "*w$d"}, ! 1255: {"movw", one(0030100), one(0170700), "*wAd"}, /* mova, written as mov */ ! 1256: {"movw", one(0040300), one(0177700), "Ss$s"}, /* Move from sr */ ! 1257: {"movw", one(0041300), one(0177700), "Cs$s"}, /* Move from ccr */ ! 1258: {"movw", one(0042300), one(0177700), ";wCd"}, /* mov to ccr */ ! 1259: {"movw", one(0043300), one(0177700), ";wSd"}, /* mov to sr */ ! 1260: /* movc not done*/ ! 1261: ! 1262: {"movsb", two(0007000, 0), two(0177700, 07777), "~sR1"}, ! 1263: {"movsb", two(0007000, 04000), two(0177700, 07777), "R1~s"}, ! 1264: {"movsl", two(0007200, 0), two(0177700, 07777), "~sR1"}, ! 1265: {"movsl", two(0007200, 04000), two(0177700, 07777), "R1~s"}, ! 1266: {"movsw", two(0007100, 0), two(0177700, 07777), "~sR1"}, ! 1267: {"movsw", two(0007100, 04000), two(0177700, 07777), "R1~s"}, ! 1268: }; ! 1269: ! 1270: int numopcodes=sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]); ! 1271: ! 1272: struct m68k_opcode *endop = 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.