12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256 |
- struct m68k_opcode
- {
- char *name;
- unsigned long opcode;
- unsigned long match;
- char *args;
- };
- /* We store four bytes of opcode for all opcodes because that
- is the most any of them need. The actual length of an instruction
- is always at least 2 bytes, and is as much longer as necessary to
- hold the operands it has.
- The match component is a mask saying which bits must match
- particular opcode in order for an instruction to be an instance
- of that opcode.
- The args component is a string containing two characters
- for each operand of the instruction. The first specifies
- the kind of operand; the second, the place it is stored. */
- /* Kinds of operands:
- D data register only. Stored as 3 bits.
- A address register only. Stored as 3 bits.
- F floating point coprocessor register only. Stored as 3 bits.
- R either kind of register. Stored as 4 bits.
- O an offset (or width): immediate data 0-31 or data register.
- Stored as 6 bits in special format for BF... insns.
- + autoincrement only. Stored as 3 bits (number of the address register).
- - autodecrement only. Stored as 3 bits (number of the address register).
- Q quick immediate data. Stored as 3 bits.
- This matches an immediate operand only when value is in range 1 .. 8.
- M moveq immediate data. Stored as 8 bits.
- This matches an immediate operand only when value is in range -128..127
- T trap vector immediate data. Stored as 4 bits.
- k K-factor for fmove.p instruction. Stored as a 7-bit constant or
- a three bit register offset, depending on the field type.
- # immediate data. Stored in special places (b, w or l)
- which say how many bits to store.
- ^ immediate data for floating point instructions. Special places
- are offset by 2 bytes from '#'...
- B pc-relative address, converted to an offset
- that is treated as immediate data.
- d displacement and register. Stores the register as 3 bits
- and stores the displacement in the entire second word.
- C the CCR. No need to store it; this is just for filtering validity.
- S the SR. No need to store, just as with CCR.
- U the USP. No need to store, just as with CCR.
- I Coprocessor ID. Not printed if 1. The Coprocessor ID is always
- extracted from the 'd' field of word one, which means that an extended
- coprocessor opcode can be skipped using the 'i' place, if needed.
- s System Control register for the floating point coprocessor.
- These specifiy various classes of addressing modes.
- They are all stored as 6 bits using an address mode and a register number;
- they differ in which addressing modes they match.
- * all (modes 0-6,7.*)
- ~ alterable memory (modes 2-6,7.0,7.1)(not 0,1,7.~)
- % alterable (modes 0-6,7.0,7.1)(not 7.~)
- ; data (modes 0,2-6,7.*)(not 1)
- @ data, but not immediate (modes 0,2-6,7.???)(not 1,7.?) This may really be ;, the 68020 book says it is
- ! control (modes 2,5,6,7.*-)(not 0,1,3,4,7.4)
- & alterable control (modes 2,5,6,7.0,7.1)(not 0,1,7.???)
- $ alterable data (modes 0,2-6,7.0,7.1)(not 1,7.~)
- ? alterable control, or data register (modes 0,2,5,6,7.0,7.1)(not 1,3,4,7.~)
- / control, or data register (modes 0,2,5,6,7.0,7.1,7.2,7.3)(not 1,3,4,7.4)
- */
- /* Places to put an operand, for non-general operands:
- s source, low bits of first word.
- d dest, shifted 9 in first word
- 1 second word, shifted 12
- 2 second word, shifted 6
- 3 second word, shifted 0
- 4 third word, shifted 12
- 5 third word, shifted 6
- 6 third word, shifted 0
- 7 second word, shifted 7
- 8 second word, shifted 10
- D store in both place 1 and place 3; for divul and divsl.
- b second word, low byte
- w second word (entire)
- l second and third word (entire)
- g branch offset for bra and similar instructions.
- The place to store depends on the magnitude of offset.
- t store in both place 7 and place 8; for floating point operations
- c branch offset for cpBcc operations.
- The place to store is word two if bit six of word one is zero,
- and words two and three if bit six of word one is one.
- i Increment by two, to skip over coprocessor extended operands. Only
- works with the 'I' format.
- k Dynamic K-factor field. Bits 6-4 of word 2, used as a register number.
- Also used for dynamic fmovem instruction.
- C floating point coprocessor constant - 7 bits. Also used for static
- K-factors...
- Places to put operand, for general operands:
- d destination, shifted 6 bits in first word
- b source, at low bit of first word, and immediate uses one byte
- w source, at low bit of first word, and immediate uses two bytes
- l source, at low bit of first word, and immediate uses four bytes
- s source, at low bit of first word.
- Used sometimes in contexts where immediate is not allowed anyway.
- f single precision float, low bit of 1st word, immediate uses 4 bytes
- F double precision float, low bit of 1st word, immediate uses 8 bytes
- x extended precision float, low bit of 1st word, immediate uses 12 bytes
- p packed float, low bit of 1st word, immediate uses 12 bytes
- */
- #define one(x) ((x) << 16)
- #define two(x, y) (((x) << 16) + y)
- /* The assembler requires that this array be sorted as follows:
- all instances of the same mnemonic must be consecutive.
- All instances of the same mnemonic with the same number of operands
- must be consecutive.
- */
- struct m68k_opcode m68k_opcodes[] =
- {
- {"abcd", one (0140400), one (0170770), "DsDd"},
- {"abcd", one (0140410), one (0170770), "-s-d"},
- /* Add instructions */
- {"addal", one (0150700), one (0170700), "*lAd"},
- {"addaw", one (0150300), one (0170700), "*wAd"},
- {"addib", one (0003000), one (0177700), "#b$b"},
- {"addil", one (0003200), one (0177700), "#l$l"},
- {"addiw", one (0003100), one (0177700), "#w$w"},
- {"addqb", one (0050000), one (0170700), "Qd$b"},
- {"addql", one (0050200), one (0170700), "Qd%l"},
- {"addqw", one (0050100), one (0170700), "Qd%w"},
- {"addb", one (0003000), one (0177700), "#b$b"}, /* addi written as add */
- {"addb", one (0050000), one (0170700), "Qd$b"}, /* addq written as add */
- {"addb", one (0150000), one (0170700), ";bDd"}, /* addb <ea>, Dd */
- {"addb", one (0150400), one (0170700), "Dd~b"}, /* addb Dd, <ea> */
- {"addw", one (0003100), one (0177700), "#w$w"}, /* addi written as add */
- {"addw", one (0150300), one (0170700), "*wAd"}, /* adda written as add */
- {"addw", one (0050100), one (0170700), "Qd%w"}, /* addq written as add */
- {"addw", one (0150100), one (0170700), "*wDd"}, /* addw <ea>, Dd */
- {"addw", one (0150500), one (0170700), "Dd~w"}, /* addw Dd, <ea> */
- {"addl", one (0003200), one (0177700), "#l$l"}, /* addi written as add */
- {"addl", one (0150700), one (0170700), "*lAd"}, /* adda written as add */
- {"addl", one (0050200), one (0170700), "Qd%l"}, /* addq written as add */
- {"addl", one (0150200), one (0170700), "*lDd"}, /* addl <ea>, Dd */
- {"addl", one (0150600), one (0170700), "Dd~l"}, /* addl Dd, <ea> */
- {"addxb", one (0150400), one (0170770), "DsDd"},
- {"addxb", one (0150410), one (0170770), "-s-d"},
- {"addxl", one (0150600), one (0170770), "DsDd"},
- {"addxl", one (0150610), one (0170770), "-s-d"},
- {"addxw", one (0150500), one (0170770), "DsDd"},
- {"addxw", one (0150510), one (0170770), "-s-d"},
- {"andib", one (0001000), one (0177700), "#b$b"},
- {"andib", one (0001074), one (0177777), "#bCb"}, /* andi to ccr */
- {"andiw", one (0001100), one (0177700), "#w$w"},
- {"andiw", one (0001174), one (0177777), "#wSw"}, /* andi to sr */
- {"andil", one (0001200), one (0177700), "#l$l"},
- {"andb", one (0001000), one (0177700), "#b$b"}, /* andi written as or */
- {"andb", one (0001074), one (0177777), "#bCb"}, /* andi to ccr */
- {"andb", one (0140000), one (0170700), ";bDd"}, /* memory to register */
- {"andb", one (0140400), one (0170700), "Dd~b"}, /* register to memory */
- {"andw", one (0001100), one (0177700), "#w$w"}, /* andi written as or */
- {"andw", one (0001174), one (0177777), "#wSw"}, /* andi to sr */
- {"andw", one (0140100), one (0170700), ";wDd"}, /* memory to register */
- {"andw", one (0140500), one (0170700), "Dd~w"}, /* register to memory */
- {"andl", one (0001200), one (0177700), "#l$l"}, /* andi written as or */
- {"andl", one (0140200), one (0170700), ";lDd"}, /* memory to register */
- {"andl", one (0140600), one (0170700), "Dd~l"}, /* register to memory */
- {"aslb", one (0160400), one (0170770), "QdDs"},
- {"aslb", one (0160440), one (0170770), "DdDs"},
- {"asll", one (0160600), one (0170770), "QdDs"},
- {"asll", one (0160640), one (0170770), "DdDs"},
- {"aslw", one (0160500), one (0170770), "QdDs"},
- {"aslw", one (0160540), one (0170770), "DdDs"},
- {"aslw", one (0160700), one (0177700), "~s"}, /* Shift memory */
- {"asrb", one (0160000), one (0170770), "QdDs"},
- {"asrb", one (0160040), one (0170770), "DdDs"},
- {"asrl", one (0160200), one (0170770), "QdDs"},
- {"asrl", one (0160240), one (0170770), "DdDs"},
- {"asrw", one (0160100), one (0170770), "QdDs"},
- {"asrw", one (0160140), one (0170770), "DdDs"},
- {"asrw", one (0160300), one (0177700), "~s"}, /* Shift memory */
- {"bhi", one (0061000), one (0177400), "Bg"},
- {"bls", one (0061400), one (0177400), "Bg"},
- {"bcc", one (0062000), one (0177400), "Bg"},
- {"bcs", one (0062400), one (0177400), "Bg"},
- {"bne", one (0063000), one (0177400), "Bg"},
- {"beq", one (0063400), one (0177400), "Bg"},
- {"bvc", one (0064000), one (0177400), "Bg"},
- {"bvs", one (0064400), one (0177400), "Bg"},
- {"bpl", one (0065000), one (0177400), "Bg"},
- {"bmi", one (0065400), one (0177400), "Bg"},
- {"bge", one (0066000), one (0177400), "Bg"},
- {"blt", one (0066400), one (0177400), "Bg"},
- {"bgt", one (0067000), one (0177400), "Bg"},
- {"ble", one (0067400), one (0177400), "Bg"},
- {"bchg", one (0000500), one (0170700), "Dd$s"},
- {"bchg", one (0004100), one (0177700), "#b$s"},
- {"bclr", one (0000600), one (0170700), "Dd$s"},
- {"bclr", one (0004200), one (0177700), "#b$s"},
- {"bfchg", one (0165300), one (0177700), "?sO2O3"},
- {"bfclr", one (0166300), one (0177700), "?sO2O3"},
- {"bfexts", one (0165700), one (0177700), "/sO2O3D1"},
- {"bfextu", one (0164700), one (0177700), "/sO2O3D1"},
- {"bfffo", one (0166700), one (0177700), "/sO2O3D1"},
- {"bfins", one (0167700), one (0177700), "D1?sO2O3"},
- {"bfset", one (0167300), one (0177700), "?sO2O3"},
- {"bftst", one (0164300), one (0177700), "/sO2O3"},
- {"bset", one (0000700), one (0170700), "Dd$s"},
- {"bset", one (0004300), one (0177700), "#b$s"},
- {"btst", one (0000400), one (0170700), "Dd@s"},
- {"btst", one (0004000), one (0177700), "#b@s"},
- {"bkpt", one (0044110), one (0177770), "Qs"},
- {"bra", one (0060000), one (0177400), "Bg"},
- {"bsr", one (0060400), one (0177400), "Bg"},
- {"callm", one (0003300), one (0177700), "#b!s"},
- {"cas2l", one (0007374), one (0177777), "D3D6D2D4R1R3"},
- {"cas2w", one (0006374), one (0177777), "D3D6D2D4R1R3"},
- {"casb", one (0005300), one (0177700), "D3D2~s"},
- {"casl", one (0007300), one (0177700), "D3D2~s"},
- {"casw", one (0006300), one (0177700), "D3D2~s"},
- /* {"chk", one (0040600), one (0170700), ";wDd"}, FOO this looks wrong */
- {"chk2b", two (0000300, 0004000), two (0177700, 07777), "!sR1"},
- {"chk2l", two (0002300, 0004000), two (0177700, 07777), "!sR1"},
- {"chk2w", two (0001300, 0004000), two (0177700, 07777), "!sR1"},
- {"chkl", one (0040400), one (0170700), ";lDd"},
- {"chkw", one (0040600), one (0170700), ";wDd"},
- {"clrb", one (0041000), one (0177700), "$s"},
- {"clrl", one (0041200), one (0177700), "$s"},
- {"clrw", one (0041100), one (0177700), "$s"},
- {"cmp2b", two (0000300, 0), two (0177700, 07777), "!sR1"},
- {"cmp2l", two (0002300, 0), two (0177700, 07777), "!sR1"},
- {"cmp2w", two (0001300, 0), two (0177700, 07777), "!sR1"},
- {"cmpal", one (0130700), one (0170700), "*lAd"},
- {"cmpaw", one (0130300), one (0170700), "*wAd"},
- {"cmpib", one (0006000), one (0177700), "#b;b"},
- {"cmpil", one (0006200), one (0177700), "#l;l"},
- {"cmpiw", one (0006100), one (0177700), "#w;w"},
- {"cmpb", one (0006000), one (0177700), "#b;b"}, /* cmpi written as cmp */
- {"cmpb", one (0130000), one (0170700), ";bDd"},
- {"cmpw", one (0006100), one (0177700), "#w;w"},
- {"cmpw", one (0130100), one (0170700), "*wDd"},
- {"cmpw", one (0130300), one (0170700), "*wAd"}, /* cmpa written as cmp */
- {"cmpl", one (0006200), one (0177700), "#l;l"},
- {"cmpl", one (0130200), one (0170700), "*lDd"},
- {"cmpl", one (0130700), one (0170700), "*lAd"},
- {"cmpmb", one (0130410), one (0170770), "+s+d"},
- {"cmpml", one (0130610), one (0170770), "+s+d"},
- {"cmpmw", one (0130510), one (0170770), "+s+d"},
- {"dbcc", one (0052310), one (0177770), "DsBw"},
- {"dbcs", one (0052710), one (0177770), "DsBw"},
- {"dbeq", one (0053710), one (0177770), "DsBw"},
- {"dbf", one (0050710), one (0177770), "DsBw"},
- {"dbge", one (0056310), one (0177770), "DsBw"},
- {"dbgt", one (0057310), one (0177770), "DsBw"},
- {"dbhi", one (0051310), one (0177770), "DsBw"},
- {"dble", one (0057710), one (0177770), "DsBw"},
- {"dbls", one (0051710), one (0177770), "DsBw"},
- {"dblt", one (0056710), one (0177770), "DsBw"},
- {"dbmi", one (0055710), one (0177770), "DsBw"},
- {"dbne", one (0053310), one (0177770), "DsBw"},
- {"dbpl", one (0055310), one (0177770), "DsBw"},
- {"dbra", one (0050710), one (0177770), "DsBw"},
- {"dbt", one (0050310), one (0177770), "DsBw"},
- {"dbvc", one (0054310), one (0177770), "DsBw"},
- {"dbvs", one (0054710), one (0177770), "DsBw"},
- {"divsl", two (0046100, 0004000), two (0177700, 0107770), ";lD3D1"},
- {"divsl", two (0046100, 0004000), two (0177700, 0107770), ";lDD"},
- {"divsll", two (0046100, 0006000), two (0177700, 0107770), ";lD3D1"},
- {"divsw", one (0100700), one (0170700), ";wDd"},
- {"divs", one (0100700), one (0170700), ";wDd"},
- {"divul", two (0046100, 0000000), two (0177700, 0107770), ";lD3D1"},
- {"divul", two (0046100, 0000000), two (0177700, 0107770), ";lDD"},
- {"divull", two (0046100, 0002000), two (0177700, 0107770), ";lD3D1"},
- {"divuw", one (0100300), one (0170700), ";wDd"},
- {"divu", one (0100300), one (0170700), ";wDd"},
- {"eorb", one (0005000), one (0177700), "#b$s"}, /* eori written as or */
- {"eorb", one (0005074), one (0177777), "#bCs"}, /* eori to ccr */
- {"eorb", one (0130400), one (0170700), "Dd$s"}, /* register to memory */
- {"eorib", one (0005000), one (0177700), "#b$s"},
- {"eorib", one (0005074), one (0177777), "#bCs"}, /* eori to ccr */
- {"eoril", one (0005200), one (0177700), "#l$s"},
- {"eoriw", one (0005100), one (0177700), "#w$s"},
- {"eoriw", one (0005174), one (0177777), "#wSs"}, /* eori to sr */
- {"eorl", one (0005200), one (0177700), "#l$s"},
- {"eorl", one (0130600), one (0170700), "Dd$s"},
- {"eorw", one (0005100), one (0177700), "#w$s"},
- {"eorw", one (0005174), one (0177777), "#wSs"}, /* eori to sr */
- {"eorw", one (0130500), one (0170700), "Dd$s"},
- {"exg", one (0140500), one (0170770), "DsDd"},
- {"exg", one (0140510), one (0170770), "AsAd"},
- {"exg", one (0140610), one (0170770), "DsAd"},
- {"exg", one (0140610), one (0170770), "AdDs"},
- {"extw", one (0044200), one (0177770), "Ds"},
- {"extl", one (0044300), one (0177770), "Ds"},
- {"extbl", one (0044700), one (0177770), "Ds"},
- {"extb.l", one (0044700), one (0177770), "Ds"}, /* Not sure we should support this one */
- {"fabsb", two (0xF000, 0x5818), two (0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fabsd", two (0xF000, 0x5418), two (0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fabsl", two( 0xF000, 0x4018), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fabsp", two (0xF000, 0x4C18), two (0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fabss", two (0xF000, 0x4418), two (0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fabsw", two (0xF000, 0x5018), two (0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fabsx", two (0xF000, 0x0018), two (0xF1C0, 0xE07F), "IiF8F7"},
- {"fabsx", two (0xF000, 0x0018), two (0xF1C0, 0xE07F), "IiFt"},
- {"fabsx", two (0xF000, 0x4818), two (0xF1C0, 0xFC7F), "Ii;xF7"},
- {"facosb", two (0xF000, 0x581C), two (0xF1C0, 0xFC7F), "Ii;bF7"},
- {"facosd", two (0xF000, 0x541C), two (0xF1C0, 0xFC7F), "Ii;FF7"},
- {"facosl", two (0xF000, 0x401C), two (0xF1C0, 0xFC7F), "Ii;lF7"},
- {"facosp", two (0xF000, 0x4C1C), two (0xF1C0, 0xFC7F), "Ii;pF7"},
- {"facoss", two (0xF000, 0x441C), two (0xF1C0, 0xFC7F), "Ii;fF7"},
- {"facosw", two (0xF000, 0x501C), two (0xF1C0, 0xFC7F), "Ii;wF7"},
- {"facosx", two (0xF000, 0x001C), two (0xF1C0, 0xE07F), "IiF8F7"},
- {"facosx", two (0xF000, 0x001C), two (0xF1C0, 0xE07F), "IiFt"},
- {"facosx", two (0xF000, 0x481C), two (0xF1C0, 0xFC7F), "Ii;xF7"},
- {"faddb", two (0xF000, 0x5822), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"faddd", two (0xF000, 0x5422), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"faddl", two (0xF000, 0x4022), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"faddp", two (0xF000, 0x4C22), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fadds", two (0xF000, 0x4422), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"faddw", two (0xF000, 0x5022), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"faddx", two (0xF000, 0x0022), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"faddx", two (0xF000, 0x0022), two( 0xF1C0, 0xE07F), "IiFt"},
- {"faddx", two (0xF000, 0x4822), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fasinb", two (0xF000, 0x580C), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fasind", two (0xF000, 0x540C), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fasinl", two (0xF000, 0x400C), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fasinp", two (0xF000, 0x4C0C), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fasins", two (0xF000, 0x440C), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fasinw", two (0xF000, 0x500C), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fasinx", two (0xF000, 0x000C), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fasinx", two (0xF000, 0x000C), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fasinx", two (0xF000, 0x480C), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fatanb", two (0xF000, 0x580A), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fatand", two (0xF000, 0x540A), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fatanl", two (0xF000, 0x400A), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fatanp", two (0xF000, 0x4C0A), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fatans", two (0xF000, 0x440A), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fatanw", two (0xF000, 0x500A), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fatanx", two (0xF000, 0x000A), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fatanx", two (0xF000, 0x000A), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fatanx", two (0xF000, 0x480A), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fatanhb", two (0xF000, 0x580D), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fatanhd", two (0xF000, 0x540D), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fatanhl", two (0xF000, 0x400D), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fatanhp", two (0xF000, 0x4C0D), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fatanhs", two (0xF000, 0x440D), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fatanhw", two (0xF000, 0x500D), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fatanhx", two (0xF000, 0x000D), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fatanhx", two (0xF000, 0x000D), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fatanhx", two (0xF000, 0x480D), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fbeq", one (0xF081), one (0xF1FF), "IdBc"},
- {"fbf", one (0xF080), one (0xF1FF), "IdBc"},
- {"fbge", one (0xF093), one (0xF1FF), "IdBc"},
- {"fbgl", one (0xF096), one (0xF1FF), "IdBc"},
- {"fbgle", one (0xF097), one (0xF1FF), "IdBc"},
- {"fbgt", one (0xF092), one (0xF1FF), "IdBc"},
- {"fble", one (0xF095), one (0xF1FF), "IdBc"},
- {"fblt", one (0xF094), one (0xF1FF), "IdBc"},
- {"fbne", one (0xF08E), one (0xF1FF), "IdBc"},
- {"fbnge", one (0xF09C), one (0xF1FF), "IdBc"},
- {"fbngl", one (0xF099), one (0xF1FF), "IdBc"},
- {"fbngle", one (0xF098), one (0xF1FF), "IdBc"},
- {"fbngt", one (0xF09D), one (0xF1FF), "IdBc"},
- {"fbnle", one (0xF09A), one (0xF1FF), "IdBc"},
- {"fbnlt", one (0xF09B), one (0xF1FF), "IdBc"},
- {"fboge", one (0xF083), one (0xF1FF), "IdBc"},
- {"fbogl", one (0xF086), one (0xF1FF), "IdBc"},
- {"fbogt", one (0xF082), one (0xF1FF), "IdBc"},
- {"fbole", one (0xF085), one (0xF1FF), "IdBc"},
- {"fbolt", one (0xF084), one (0xF1FF), "IdBc"},
- {"fbor", one (0xF087), one (0xF1FF), "IdBc"},
- {"fbseq", one (0xF091), one (0xF1FF), "IdBc"},
- {"fbsf", one (0xF090), one (0xF1FF), "IdBc"},
- {"fbsne", one (0xF09E), one (0xF1FF), "IdBc"},
- {"fbst", one (0xF09F), one (0xF1FF), "IdBc"},
- {"fbt", one (0xF08F), one (0xF1FF), "IdBc"},
- {"fbueq", one (0xF089), one (0xF1FF), "IdBc"},
- {"fbuge", one (0xF08B), one (0xF1FF), "IdBc"},
- {"fbugt", one (0xF08A), one (0xF1FF), "IdBc"},
- {"fbule", one (0xF08D), one (0xF1FF), "IdBc"},
- {"fbult", one (0xF08C), one (0xF1FF), "IdBc"},
- {"fbun", one (0xF088), one (0xF1FF), "IdBc"},
- {"fcmpb", two (0xF000, 0x5838), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fcmpd", two (0xF000, 0x5438), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fcmpl", two (0xF000, 0x4038), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fcmpp", two (0xF000, 0x4C38), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fcmps", two (0xF000, 0x4438), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fcmpw", two (0xF000, 0x5038), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fcmpx", two (0xF000, 0x0038), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fcmpx", two (0xF000, 0x0038), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fcmpx", two (0xF000, 0x4838), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fcosb", two (0xF000, 0x581D), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fcosd", two (0xF000, 0x541D), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fcosl", two (0xF000, 0x401D), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fcosp", two (0xF000, 0x4C1D), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fcoss", two (0xF000, 0x441D), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fcosw", two (0xF000, 0x501D), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fcosx", two (0xF000, 0x001D), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fcosx", two (0xF000, 0x001D), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fcosx", two (0xF000, 0x481D), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fcoshb", two (0xF000, 0x5819), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fcoshd", two (0xF000, 0x5419), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fcoshl", two (0xF000, 0x4019), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fcoshp", two (0xF000, 0x4C19), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fcoshs", two (0xF000, 0x4419), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fcoshw", two (0xF000, 0x5019), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fcoshx", two (0xF000, 0x0019), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fcoshx", two (0xF000, 0x0019), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fcoshx", two (0xF000, 0x4819), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fdbeq", two (0xF048, 0x0001), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbf", two (0xF048, 0x0000), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbge", two (0xF048, 0x0013), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbgl", two (0xF048, 0x0016), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbgle", two (0xF048, 0x0017), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbgt", two (0xF048, 0x0012), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdble", two (0xF048, 0x0015), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdblt", two (0xF048, 0x0014), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbne", two (0xF048, 0x000E), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbnge", two (0xF048, 0x001C), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbngl", two (0xF048, 0x0019), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbngle", two (0xF048, 0x0018), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbngt", two (0xF048, 0x001D), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbnle", two (0xF048, 0x001A), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbnlt", two (0xF048, 0x001B), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdboge", two (0xF048, 0x0003), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbogl", two (0xF048, 0x0006), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbogt", two (0xF048, 0x0002), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbole", two (0xF048, 0x0005), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbolt", two (0xF048, 0x0004), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbor", two (0xF048, 0x0007), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbseq", two (0xF048, 0x0011), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbsf", two (0xF048, 0x0010), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbsne", two (0xF048, 0x001E), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbst", two (0xF048, 0x001F), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbt", two (0xF048, 0x000F), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbueq", two (0xF048, 0x0009), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbuge", two (0xF048, 0x000B), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbugt", two (0xF048, 0x000A), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbule", two (0xF048, 0x000D), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbult", two (0xF048, 0x000C), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdbun", two (0xF048, 0x0008), two (0xF1F8, 0xFFFF), "IiDsBw"},
- {"fdivb", two (0xF000, 0x5820), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fdivd", two (0xF000, 0x5420), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fdivl", two (0xF000, 0x4020), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fdivp", two (0xF000, 0x4C20), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fdivs", two (0xF000, 0x4420), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fdivw", two (0xF000, 0x5020), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fdivx", two (0xF000, 0x0020), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fdivx", two (0xF000, 0x0020), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fdivx", two (0xF000, 0x4820), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fetoxb", two (0xF000, 0x5810), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fetoxd", two (0xF000, 0x5410), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fetoxl", two (0xF000, 0x4010), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fetoxp", two (0xF000, 0x4C10), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fetoxs", two (0xF000, 0x4410), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fetoxw", two (0xF000, 0x5010), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fetoxx", two (0xF000, 0x0010), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fetoxx", two (0xF000, 0x0010), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fetoxx", two (0xF000, 0x4810), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fetoxm1b", two (0xF000, 0x5808), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fetoxm1d", two (0xF000, 0x5408), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fetoxm1l", two (0xF000, 0x4008), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fetoxm1p", two (0xF000, 0x4C08), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fetoxm1s", two (0xF000, 0x4408), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fetoxm1w", two (0xF000, 0x5008), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fetoxm1x", two (0xF000, 0x0008), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fetoxm1x", two (0xF000, 0x0008), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fetoxm1x", two (0xF000, 0x4808), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fgetexpb", two (0xF000, 0x581E), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fgetexpd", two (0xF000, 0x541E), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fgetexpl", two (0xF000, 0x401E), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fgetexpp", two (0xF000, 0x4C1E), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fgetexps", two (0xF000, 0x441E), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fgetexpw", two (0xF000, 0x501E), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fgetexpx", two (0xF000, 0x001E), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fgetexpx", two (0xF000, 0x001E), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fgetexpx", two (0xF000, 0x481E), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fgetmanb", two (0xF000, 0x581F), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fgetmand", two (0xF000, 0x541F), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fgetmanl", two (0xF000, 0x401F), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fgetmanp", two (0xF000, 0x4C1F), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fgetmans", two (0xF000, 0x441F), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fgetmanw", two (0xF000, 0x501F), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fgetmanx", two (0xF000, 0x001F), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fgetmanx", two (0xF000, 0x001F), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fgetmanx", two (0xF000, 0x481F), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fintb", two (0xF000, 0x5801), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fintd", two (0xF000, 0x5401), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fintl", two (0xF000, 0x4001), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fintp", two (0xF000, 0x4C01), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fints", two (0xF000, 0x4401), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fintw", two (0xF000, 0x5001), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fintx", two (0xF000, 0x0001), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fintx", two (0xF000, 0x0001), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fintx", two (0xF000, 0x4801), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fintrzb", two (0xF000, 0x5803), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fintrzd", two (0xF000, 0x5403), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fintrzl", two (0xF000, 0x4003), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fintrzp", two (0xF000, 0x4C03), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fintrzs", two (0xF000, 0x4403), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fintrzw", two (0xF000, 0x5003), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fintrzx", two (0xF000, 0x0003), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fintrzx", two (0xF000, 0x0003), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fintrzx", two (0xF000, 0x4803), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"flog10b", two (0xF000, 0x5815), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"flog10d", two (0xF000, 0x5415), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"flog10l", two (0xF000, 0x4015), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"flog10p", two (0xF000, 0x4C15), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"flog10s", two (0xF000, 0x4415), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"flog10w", two (0xF000, 0x5015), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"flog10x", two (0xF000, 0x0015), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"flog10x", two (0xF000, 0x0015), two( 0xF1C0, 0xE07F), "IiFt"},
- {"flog10x", two (0xF000, 0x4815), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"flog2b", two (0xF000, 0x5816), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"flog2d", two (0xF000, 0x5416), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"flog2l", two (0xF000, 0x4016), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"flog2p", two (0xF000, 0x4C16), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"flog2s", two (0xF000, 0x4416), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"flog2w", two (0xF000, 0x5016), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"flog2x", two (0xF000, 0x0016), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"flog2x", two (0xF000, 0x0016), two( 0xF1C0, 0xE07F), "IiFt"},
- {"flog2x", two (0xF000, 0x4816), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"flognb", two (0xF000, 0x5814), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"flognd", two (0xF000, 0x5414), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"flognl", two (0xF000, 0x4014), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"flognp", two (0xF000, 0x4C14), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"flogns", two (0xF000, 0x4414), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"flognw", two (0xF000, 0x5014), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"flognx", two (0xF000, 0x0014), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"flognx", two (0xF000, 0x0014), two( 0xF1C0, 0xE07F), "IiFt"},
- {"flognx", two (0xF000, 0x4814), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"flognp1b", two (0xF000, 0x5806), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"flognp1d", two (0xF000, 0x5406), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"flognp1l", two (0xF000, 0x4006), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"flognp1p", two (0xF000, 0x4C06), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"flognp1s", two (0xF000, 0x4406), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"flognp1w", two (0xF000, 0x5006), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"flognp1x", two (0xF000, 0x0006), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"flognp1x", two (0xF000, 0x0006), two( 0xF1C0, 0xE07F), "IiFt"},
- {"flognp1x", two (0xF000, 0x4806), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fmodb", two (0xF000, 0x5821), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fmodd", two (0xF000, 0x5421), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fmodl", two (0xF000, 0x4021), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fmodp", two (0xF000, 0x4C21), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fmods", two (0xF000, 0x4421), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fmodw", two (0xF000, 0x5021), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fmodx", two (0xF000, 0x0021), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fmodx", two (0xF000, 0x0021), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fmodx", two (0xF000, 0x4821), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fmoveb", two (0xF000, 0x5800), two (0xF1C0, 0xFC7F), "Ii;bF7"}, /* fmove from <ea> to fp<n> */
- {"fmoveb", two (0xF000, 0x7800), two (0xF1C0, 0xFC7F), "IiF7@b"}, /* fmove from fp<n> to <ea> */
- {"fmoved", two (0xF000, 0x5400), two (0xF1C0, 0xFC7F), "Ii;FF7"}, /* fmove from <ea> to fp<n> */
- {"fmoved", two (0xF000, 0x7400), two (0xF1C0, 0xFC7F), "IiF7@F"}, /* fmove from fp<n> to <ea> */
- {"fmovel", two (0xF000, 0x4000), two (0xF1C0, 0xFC7F), "Ii;lF7"}, /* fmove from <ea> to fp<n> */
- {"fmovel", two (0xF000, 0x6000), two (0xF1C0, 0xFC7F), "IiF7@l"}, /* fmove from fp<n> to <ea> */
- {"fmovep", two (0xF000, 0x4C00), two (0xF1C0, 0xFC7F), "Ii;pF7"}, /* fmove from <ea> to fp<n> */
- {"fmovep", two (0xF000, 0x6C00), two (0xF1C0, 0xFC00), "IiF7@pkC"}, /* fmove.p with k-factors: */
- {"fmovep", two (0xF000, 0x7C00), two (0xF1C0, 0xFC0F), "IiF7@pkk"}, /* fmove.p with k-factors: */
- {"fmoves", two (0xF000, 0x4400), two (0xF1C0, 0xFC7F), "Ii;fF7"}, /* fmove from <ea> to fp<n> */
- {"fmoves", two (0xF000, 0x6400), two (0xF1C0, 0xFC7F), "IiF7@f"}, /* fmove from fp<n> to <ea> */
- {"fmovew", two (0xF000, 0x5000), two (0xF1C0, 0xFC7F), "Ii;wF7"}, /* fmove from <ea> to fp<n> */
- {"fmovew", two (0xF000, 0x7000), two (0xF1C0, 0xFC7F), "IiF7@w"}, /* fmove from fp<n> to <ea> */
- {"fmovex", two (0xF000, 0x0000), two (0xF1C0, 0xE07F), "IiF8F7"}, /* fmove from <ea> to fp<n> */
- {"fmovex", two (0xF000, 0x0000), two (0xF1C0, 0xE07F), "IiFt"}, /* fmove from <ea> to fp<n> */
- {"fmovex", two (0xF000, 0x4800), two (0xF1C0, 0xFC7F), "Ii;xF7"}, /* fmove from <ea> to fp<n> */
- {"fmovex", two (0xF000, 0x6800), two (0xF1C0, 0xFC7F), "IiF7@x"}, /* fmove from fp<n> to <ea> */
- /* fmove.l from/to system control registers: */
- /* fmove.l and fmovem.l are the same instruction. fmovem.l makes sense in
- more cases, so I've dumped fmove.l pro tem, but this is the wrong
- way to solve the problem in the long run. Hmmm. */
- /* {"fmove.l", two (0xF000, 0xA000), two (0xF1C0, 0xE3FF), "Iis8@s"}, */
- /* {"fmove.l", two (0xF000, 0x8000), two (0xF1C0, 0xE3FF), "Ii@ss8"}, */
- {"fmovecrx", two (0xF000, 0x5C00), two (0xF1FF, 0xFC00), "Ii#CF7"}, /* fmovecr.x #ccc, FPn */
- {"fmovemx", two (0xF020, 0xE000), two (0xF1F8, 0xFF00), "Id#b-s"}, /* fmovem.x to autodecrement, static and dynamic */
- {"fmovemx", two (0xF020, 0xE800), two (0xF1F8, 0xFF8F), "IiDk-s"}, /* fmovem.x to autodecrement, static and dynamic */
- {"fmovemx", two (0xF000, 0xF000), two (0xF1C0, 0xFF00), "Id#b&s"}, /* fmovem.x to control, static and dynamic: */
- {"fmovemx", two (0xF000, 0xF800), two (0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x to control, static and dynamic: */
- {"fmovemx", two (0xF018, 0xD000), two (0xF1F8, 0xFF00), "Id#b+s"}, /* fmovem.x from autoincrement, static and dynamic: */
- {"fmovemx", two (0xF018, 0xD800), two (0xF1F8, 0xFF8F), "IiDk+s"}, /* fmovem.x from autoincrement, static and dynamic: */
-
- {"fmovemx", two (0xF000, 0xD000), two (0xF1C0, 0xFF00), "Id#b&s"}, /* fmovem.x from control, static and dynamic: */
- {"fmovemx", two (0xF000, 0xD800), two (0xF1C0, 0xFF8F), "IiDk&s"}, /* fmovem.x from control, static and dynamic: */
- /* fmoveml and fmovel are the same instruction. This may cause some
- confusion in the assembler. */
- {"fmoveml", two (0xF000, 0xA000), two (0xF1C0, 0xE3FF), "Ii#8%s"}, /* fmovem.l to/from system control register(s): */
- {"fmoveml", two (0xF000, 0x8000), two (0xF1C0, 0xE3FF), "Ii%s#8"}, /* fmovem.l to/from system control register(s): */
- {"fmulb", two (0xF000, 0x5823), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fmuld", two (0xF000, 0x5423), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fmull", two (0xF000, 0x4023), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fmulp", two (0xF000, 0x4C23), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fmuls", two (0xF000, 0x4423), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fmulw", two (0xF000, 0x5023), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fmulx", two (0xF000, 0x0023), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fmulx", two (0xF000, 0x0023), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fmulx", two (0xF000, 0x4823), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fnegb", two (0xF000, 0x581A), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fnegd", two (0xF000, 0x541A), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fnegl", two (0xF000, 0x401A), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fnegp", two (0xF000, 0x4C1A), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fnegs", two (0xF000, 0x441A), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fnegw", two (0xF000, 0x501A), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fnegx", two (0xF000, 0x001A), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fnegx", two (0xF000, 0x001A), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fnegx", two (0xF000, 0x481A), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fremb", two (0xF000, 0x5825), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fremd", two (0xF000, 0x5425), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"freml", two (0xF000, 0x4025), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fremp", two (0xF000, 0x4C25), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"frems", two (0xF000, 0x4425), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fremw", two (0xF000, 0x5025), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fremx", two (0xF000, 0x0025), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fremx", two (0xF000, 0x0025), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fremx", two (0xF000, 0x4825), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- /* Need special mode for autoincrement/decrement? */
- {"frestore", one (0xF140), one (0xF1C0), "Id&s"},
- {"fsave", one (0xF100), one( 0xF1C0), "Id&s"},
- {"fsincosb", two (0xF000, 0x5830), two( 0xF1C0, 0xFC78), "Ii;bF7FC"},
- {"fsincosd", two (0xF000, 0x5430), two( 0xF1C0, 0xFC78), "Ii;FF7FC"},
- {"fsincosl", two (0xF000, 0x4030), two( 0xF1C0, 0xFC78), "Ii;lF7FC"},
- {"fsincosp", two (0xF000, 0x4C30), two( 0xF1C0, 0xFC78), "Ii;pF7FC"},
- {"fsincoss", two (0xF000, 0x4430), two( 0xF1C0, 0xFC78), "Ii;fF7FC"},
- {"fsincosw", two (0xF000, 0x5030), two( 0xF1C0, 0xFC78), "Ii;wF7FC"},
- {"fsincosx", two (0xF000, 0x0030), two( 0xF1C0, 0xE078), "IiF8F7FC"},
- {"fsincosx", two (0xF000, 0x4830), two( 0xF1C0, 0xFC78), "Ii;xF7FC"},
- {"fscaleb", two (0xF000, 0x5826), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fscaled", two (0xF000, 0x5426), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fscalel", two (0xF000, 0x4026), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fscalep", two (0xF000, 0x4C26), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fscales", two (0xF000, 0x4426), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fscalew", two (0xF000, 0x5026), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fscalex", two (0xF000, 0x0026), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fscalex", two (0xF000, 0x0026), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fscalex", two (0xF000, 0x4826), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fseq", two (0xF040, 0x0001), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsf", two (0xF040, 0x0000), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsge", two (0xF040, 0x0013), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsgl", two (0xF040, 0x0016), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsgle", two (0xF040, 0x0017), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsgt", two (0xF040, 0x0012), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsle", two (0xF040, 0x0015), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fslt", two (0xF040, 0x0014), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsne", two (0xF040, 0x000E), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsnge", two (0xF040, 0x001C), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsngl", two (0xF040, 0x0019), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsngle", two (0xF040, 0x0018), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsngt", two (0xF040, 0x001D), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsnle", two (0xF040, 0x001A), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsnlt", two (0xF040, 0x001B), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsoge", two (0xF040, 0x0003), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsogl", two (0xF040, 0x0006), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsogt", two (0xF040, 0x0002), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsole", two (0xF040, 0x0005), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsolt", two (0xF040, 0x0004), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsor", two (0xF040, 0x0007), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsseq", two (0xF040, 0x0011), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fssf", two (0xF040, 0x0010), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fssne", two (0xF040, 0x001E), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsst", two (0xF040, 0x001F), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fst", two (0xF040, 0x000F), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsueq", two (0xF040, 0x0009), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsuge", two (0xF040, 0x000B), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsugt", two (0xF040, 0x000A), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsule", two (0xF040, 0x000D), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsult", two (0xF040, 0x000C), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsun", two (0xF040, 0x0008), two (0xF1C0, 0xFFFF), "Ii@s"},
- {"fsgldivb", two (0xF000, 0x5824), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fsgldivd", two (0xF000, 0x5424), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fsgldivl", two (0xF000, 0x4024), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fsgldivp", two (0xF000, 0x4C24), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fsgldivs", two (0xF000, 0x4424), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fsgldivw", two (0xF000, 0x5024), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fsgldivx", two (0xF000, 0x0024), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fsgldivx", two (0xF000, 0x0024), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fsgldivx", two (0xF000, 0x4824), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fsglmulb", two (0xF000, 0x5827), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fsglmuld", two (0xF000, 0x5427), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fsglmull", two (0xF000, 0x4027), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fsglmulp", two (0xF000, 0x4C27), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fsglmuls", two (0xF000, 0x4427), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fsglmulw", two (0xF000, 0x5027), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fsglmulx", two (0xF000, 0x0027), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fsglmulx", two (0xF000, 0x0027), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fsglmulx", two (0xF000, 0x4827), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fsinb", two (0xF000, 0x580E), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fsind", two (0xF000, 0x540E), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fsinl", two (0xF000, 0x400E), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fsinp", two (0xF000, 0x4C0E), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fsins", two (0xF000, 0x440E), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fsinw", two (0xF000, 0x500E), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fsinx", two (0xF000, 0x000E), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fsinx", two (0xF000, 0x000E), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fsinx", two (0xF000, 0x480E), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fsinhb", two (0xF000, 0x5802), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fsinhd", two (0xF000, 0x5402), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fsinhl", two (0xF000, 0x4002), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fsinhp", two (0xF000, 0x4C02), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fsinhs", two (0xF000, 0x4402), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fsinhw", two (0xF000, 0x5002), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fsinhx", two (0xF000, 0x0002), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fsinhx", two (0xF000, 0x0002), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fsinhx", two (0xF000, 0x4802), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fsqrtb", two (0xF000, 0x5804), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fsqrtd", two (0xF000, 0x5404), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fsqrtl", two (0xF000, 0x4004), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fsqrtp", two (0xF000, 0x4C04), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fsqrts", two (0xF000, 0x4404), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fsqrtw", two (0xF000, 0x5004), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fsqrtx", two (0xF000, 0x0004), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fsqrtx", two (0xF000, 0x0004), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fsqrtx", two (0xF000, 0x4804), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"fsubb", two (0xF000, 0x5828), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"fsubd", two (0xF000, 0x5428), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"fsubl", two (0xF000, 0x4028), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"fsubp", two (0xF000, 0x4C28), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"fsubs", two (0xF000, 0x4428), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"fsubw", two (0xF000, 0x5028), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"fsubx", two (0xF000, 0x0028), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"fsubx", two (0xF000, 0x0028), two( 0xF1C0, 0xE07F), "IiFt"},
- {"fsubx", two (0xF000, 0x4828), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"ftanb", two (0xF000, 0x580F), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"ftand", two (0xF000, 0x540F), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"ftanl", two (0xF000, 0x400F), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"ftanp", two (0xF000, 0x4C0F), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"ftans", two (0xF000, 0x440F), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"ftanw", two (0xF000, 0x500F), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"ftanx", two (0xF000, 0x000F), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"ftanx", two (0xF000, 0x000F), two( 0xF1C0, 0xE07F), "IiFt"},
- {"ftanx", two (0xF000, 0x480F), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"ftanhb", two (0xF000, 0x5809), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"ftanhd", two (0xF000, 0x5409), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"ftanhl", two (0xF000, 0x4009), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"ftanhp", two (0xF000, 0x4C09), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"ftanhs", two (0xF000, 0x4409), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"ftanhw", two (0xF000, 0x5009), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"ftanhx", two (0xF000, 0x0009), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"ftanhx", two (0xF000, 0x0009), two( 0xF1C0, 0xE07F), "IiFt"},
- {"ftanhx", two (0xF000, 0x4809), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"ftentoxb", two (0xF000, 0x5812), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"ftentoxd", two (0xF000, 0x5412), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"ftentoxl", two (0xF000, 0x4012), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"ftentoxp", two (0xF000, 0x4C12), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"ftentoxs", two (0xF000, 0x4412), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"ftentoxw", two (0xF000, 0x5012), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"ftentoxx", two (0xF000, 0x0012), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"ftentoxx", two (0xF000, 0x0012), two( 0xF1C0, 0xE07F), "IiFt"},
- {"ftentoxx", two (0xF000, 0x4812), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"ftrapeq", two (0xF07C, 0x0001), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapf", two (0xF07C, 0x0000), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapge", two (0xF07C, 0x0013), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapgl", two (0xF07C, 0x0016), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapgle", two (0xF07C, 0x0017), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapgt", two (0xF07C, 0x0012), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftraple", two (0xF07C, 0x0015), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftraplt", two (0xF07C, 0x0014), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapne", two (0xF07C, 0x000E), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapnge", two (0xF07C, 0x001C), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapngl", two (0xF07C, 0x0019), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapngle", two (0xF07C, 0x0018), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapngt", two (0xF07C, 0x001D), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapnle", two (0xF07C, 0x001A), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapnlt", two (0xF07C, 0x001B), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapoge", two (0xF07C, 0x0003), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapogl", two (0xF07C, 0x0006), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapogt", two (0xF07C, 0x0002), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapole", two (0xF07C, 0x0005), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapolt", two (0xF07C, 0x0004), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapor", two (0xF07C, 0x0007), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapseq", two (0xF07C, 0x0011), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapsf", two (0xF07C, 0x0010), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapsne", two (0xF07C, 0x001E), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapst", two (0xF07C, 0x001F), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapt", two (0xF07C, 0x000F), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapueq", two (0xF07C, 0x0009), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapuge", two (0xF07C, 0x000B), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapugt", two (0xF07C, 0x000A), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapule", two (0xF07C, 0x000D), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapult", two (0xF07C, 0x000C), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapun", two (0xF07C, 0x0008), two (0xF1FF, 0xFFFF), "Ii"},
- {"ftrapeq.w", two (0xF07A, 0x0001), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapf.w", two (0xF07A, 0x0000), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapge.w", two (0xF07A, 0x0013), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapgl.w", two (0xF07A, 0x0016), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapgle.w", two (0xF07A, 0x0017), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapgt.w", two (0xF07A, 0x0012), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftraple.w", two (0xF07A, 0x0015), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftraplt.w", two (0xF07A, 0x0014), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapne.w", two (0xF07A, 0x000E), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapnge.w", two (0xF07A, 0x001C), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapngl.w", two (0xF07A, 0x0019), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapngle.w", two (0xF07A, 0x0018), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapngt.w", two (0xF07A, 0x001D), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapnle.w", two (0xF07A, 0x001A), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapnlt.w", two (0xF07A, 0x001B), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapoge.w", two (0xF07A, 0x0003), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapogl.w", two (0xF07A, 0x0006), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapogt.w", two (0xF07A, 0x0002), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapole.w", two (0xF07A, 0x0005), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapolt.w", two (0xF07A, 0x0004), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapor.w", two (0xF07A, 0x0007), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapseq.w", two (0xF07A, 0x0011), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapsf.w", two (0xF07A, 0x0010), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapsne.w", two (0xF07A, 0x001E), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapst.w", two (0xF07A, 0x001F), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapt.w", two (0xF07A, 0x000F), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapueq.w", two (0xF07A, 0x0009), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapuge.w", two (0xF07A, 0x000B), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapugt.w", two (0xF07A, 0x000A), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapule.w", two (0xF07A, 0x000D), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapult.w", two (0xF07A, 0x000C), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapun.w", two (0xF07A, 0x0008), two (0xF1FF, 0xFFFF), "Ii^w"},
- {"ftrapeq.l", two (0xF07B, 0x0001), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapf.l", two (0xF07B, 0x0000), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapge.l", two (0xF07B, 0x0013), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapgl.l", two (0xF07B, 0x0016), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapgle.l", two (0xF07B, 0x0017), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapgt.l", two (0xF07B, 0x0012), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftraple.l", two (0xF07B, 0x0015), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftraplt.l", two (0xF07B, 0x0014), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapne.l", two (0xF07B, 0x000E), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapnge.l", two (0xF07B, 0x001C), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapngl.l", two (0xF07B, 0x0019), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapngle.l", two (0xF07B, 0x0018), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapngt.l", two (0xF07B, 0x001D), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapnle.l", two (0xF07B, 0x001A), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapnlt.l", two (0xF07B, 0x001B), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapoge.l", two (0xF07B, 0x0003), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapogl.l", two (0xF07B, 0x0006), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapogt.l", two (0xF07B, 0x0002), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapole.l", two (0xF07B, 0x0005), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapolt.l", two (0xF07B, 0x0004), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapor.l", two (0xF07B, 0x0007), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapseq.l", two (0xF07B, 0x0011), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapsf.l", two (0xF07B, 0x0010), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapsne.l", two (0xF07B, 0x001E), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapst.l", two (0xF07B, 0x001F), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapt.l", two (0xF07B, 0x000F), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapueq.l", two (0xF07B, 0x0009), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapuge.l", two (0xF07B, 0x000B), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapugt.l", two (0xF07B, 0x000A), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapule.l", two (0xF07B, 0x000D), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapult.l", two (0xF07B, 0x000C), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftrapun.l", two (0xF07B, 0x0008), two (0xF1FF, 0xFFFF), "Ii^l"},
- {"ftstb", two (0xF000, 0x583A), two( 0xF1C0, 0xFC7F), "Ii;b"},
- {"ftstd", two (0xF000, 0x543A), two( 0xF1C0, 0xFC7F), "Ii;F"},
- {"ftstl", two (0xF000, 0x403A), two( 0xF1C0, 0xFC7F), "Ii;l"},
- {"ftstp", two (0xF000, 0x4C3A), two( 0xF1C0, 0xFC7F), "Ii;p"},
- {"ftsts", two (0xF000, 0x443A), two( 0xF1C0, 0xFC7F), "Ii;f"},
- {"ftstw", two (0xF000, 0x503A), two( 0xF1C0, 0xFC7F), "Ii;w"},
- {"ftstx", two (0xF000, 0x003A), two( 0xF1C0, 0xE07F), "IiF8"},
- {"ftstx", two (0xF000, 0x483A), two( 0xF1C0, 0xFC7F), "Ii;x"},
- {"ftwotoxb", two (0xF000, 0x5811), two( 0xF1C0, 0xFC7F), "Ii;bF7"},
- {"ftwotoxd", two (0xF000, 0x5411), two( 0xF1C0, 0xFC7F), "Ii;FF7"},
- {"ftwotoxl", two (0xF000, 0x4011), two( 0xF1C0, 0xFC7F), "Ii;lF7"},
- {"ftwotoxp", two (0xF000, 0x4C11), two( 0xF1C0, 0xFC7F), "Ii;pF7"},
- {"ftwotoxs", two (0xF000, 0x4411), two( 0xF1C0, 0xFC7F), "Ii;fF7"},
- {"ftwotoxw", two (0xF000, 0x5011), two( 0xF1C0, 0xFC7F), "Ii;wF7"},
- {"ftwotoxx", two (0xF000, 0x0011), two( 0xF1C0, 0xE07F), "IiF8F7"},
- {"ftwotoxx", two (0xF000, 0x0011), two( 0xF1C0, 0xE07F), "IiFt"},
- {"ftwotoxx", two (0xF000, 0x4811), two( 0xF1C0, 0xFC7F), "Ii;xF7"},
- {"illegal", one (0045374), one (0177777), ""},
- {"jmp", one (0047300), one (0177700), "!s"},
- {"jsr", one (0047200), one (0177700), "!s"},
- {"lea", one (0040700), one (0170700), "!sAd"},
- {"linkw", one (0047120), one (0177770), "As#w"},
- {"linkl", one (0044010), one (0177770), "As#l"},
- {"link", one (0047120), one (0177770), "As#w"},
- {"link", one (0044010), one (0177770), "As#l"},
- {"lslb", one (0160410), one (0170770), "QdDs"}, /* lsrb #Q, Ds */
- {"lslb", one (0160450), one (0170770), "DdDs"}, /* lsrb Dd, Ds */
- {"lslw", one (0160510), one (0170770), "QdDs"}, /* lsrb #Q, Ds */
- {"lslw", one (0160550), one (0170770), "DdDs"}, /* lsrb Dd, Ds */
- {"lslw", one (0161700), one (0177700), "~s"}, /* Shift memory */
- {"lsll", one (0160610), one (0170770), "QdDs"}, /* lsrb #Q, Ds */
- {"lsll", one (0160650), one (0170770), "DdDs"}, /* lsrb Dd, Ds */
- {"lsrb", one (0160010), one (0170770), "QdDs"} /* lsrb #Q, Ds */,
- {"lsrb", one (0160050), one (0170770), "DdDs"}, /* lsrb Dd, Ds */
- {"lsrl", one (0160210), one (0170770), "QdDs"}, /* lsrb #Q, Ds */
- {"lsrl", one (0160250), one (0170770), "DdDs"}, /* lsrb #Q, Ds */
- {"lsrw", one (0160110), one (0170770), "QdDs"}, /* lsrb #Q, Ds */
- {"lsrw", one (0160150), one (0170770), "DdDs"}, /* lsrb #Q, Ds */
- {"lsrw", one (0161300), one (0177700), "~s"}, /* Shift memory */
- {"moveal", one (0020100), one (0170700), "*lAd"},
- {"moveaw", one (0030100), one (0170700), "*wAd"},
- {"moveb", one (0010000), one (0170000), ";b$d"}, /* move */
- {"movel", one (0020000), one (0170000), "*l$d"},
- {"movel", one (0020100), one (0170700), "*lAd"},
- {"movel", one (0047140), one (0177770), "AsUd"}, /* move to USP */
- {"movel", one (0047150), one (0177770), "UdAs"}, /* move from USP */
- {"movel", one (0070000), one (0170400), "MsDd"}, /* moveq written as move */
- {"moveml", one (0044300), one (0177700), "#w&s"}, /* movem reg to mem. */
- {"moveml", one (0044340), one (0177770), "#w-s"}, /* movem reg to autodecrement. */
- {"moveml", one (0046300), one (0177700), "!s#w"}, /* movem mem to reg. */
- {"moveml", one (0046330), one (0177770), "+s#w"}, /* movem autoinc to reg. */
- {"movemw", one (0044200), one (0177700), "#w&s"}, /* movem reg to mem. */
- {"movemw", one (0044240), one (0177770), "#w-s"}, /* movem reg to autodecrement. */
- {"movemw", one (0046200), one (0177700), "!s#w"}, /* movem mem to reg. */
- {"movemw", one (0046230), one (0177770), "+s#w"}, /* movem autoinc to reg. */
- {"movepl", one (0000510), one (0170770), "dsDd"}, /* memory to register */
- {"movepl", one (0000710), one (0170770), "Ddds"}, /* register to memory */
- {"movepw", one (0000410), one (0170770), "dsDd"}, /* memory to register */
- {"movepw", one (0000610), one (0170770), "Ddds"}, /* register to memory */
- {"moveq", one (0070000), one (0170400), "MsDd"},
- {"movew", one (0030000), one (0170000), "*w$d"},
- {"movew", one (0030100), one (0170700), "*wAd"}, /* movea, written as move */
- {"movew", one (0040300), one (0177700), "Ss$s"}, /* Move from sr */
- {"movew", one (0041300), one (0177700), "Cs$s"}, /* Move from ccr */
- {"movew", one (0042300), one (0177700), ";wCd"}, /* move to ccr */
- {"movew", one (0043300), one (0177700), ";wSd"}, /* move to sr */
- /* movec not done */
- {"movesb", two (0007000, 0), two (0177700, 07777), "~sR1"}, /* moves from memory */
- {"movesb", two (0007000, 04000), two (0177700, 07777), "R1~s"}, /* moves to memory */
- {"movesl", two (0007200, 0), two (0177700, 07777), "~sR1"}, /* moves from memory */
- {"movesl", two (0007200, 04000), two (0177700, 07777), "R1~s"}, /* moves to memory */
- {"movesw", two (0007100, 0), two (0177700, 07777), "~sR1"}, /* moves from memory */
- {"movesw", two (0007100, 04000), two (0177700, 07777), "R1~s"}, /* moves to memory */
- {"mulsl", two (0046000, 004000), two (0177700, 0107770), ";lD1"},
- {"mulsl", two (0046000, 006000), two (0177700, 0107770), ";lD3D1"},
- {"mulsw", one (0140700), one (0170700), ";wDd"},
- {"muls", one (0140700), one (0170700), ";wDd"},
- {"mulul", two (0046000, 000000), two (0177700, 0107770), ";lD1"},
- {"mulul", two (0046000, 002000), two (0177700, 0107770), ";lD3D1"},
- {"muluw", one (0140300), one (0170700), ";lDd"},
- {"mulu", one (0140300), one (0170700), ";lDd"},
- {"nbcd", one (0044000), one (0177700), "$s"},
- {"negb", one (0042000), one (0177700), "$s"},
- {"negl", one (0042200), one (0177700), "$s"},
- {"negw", one (0042100), one (0177700), "$s"},
- {"negxb", one (0040000), one (0177700), "$s"},
- {"negxl", one (0040200), one (0177700), "$s"},
- {"negxw", one (0040100), one (0177700), "$s"},
- {"nop", one (0047161), one (0177777), ""},
- {"notb", one (0043000), one (0177700), "$s"},
- {"notl", one (0043200), one (0177700), "$s"},
- {"notw", one (0043100), one (0177700), "$s"},
- {"orb", one (0000000), one (0177700), "#b$s"}, /* ori written as or */
- {"orb", one (0000074), one (0177777), "#bCs"}, /* ori to ccr */
- {"orb", one (0100000), one (0170700), ";bDd"}, /* memory to register */
- {"orb", one (0100400), one (0170700), "Dd~s"}, /* register to memory */
- {"orib", one (0000000), one (0177700), "#b$s"},
- {"orib", one (0000074), one (0177777), "#bCs"}, /* ori to ccr */
- {"oril", one (0000200), one (0177700), "#l$s"},
- {"oriw", one (0000100), one (0177700), "#w$s"},
- {"oriw", one (0000174), one (0177777), "#wSs"}, /* ori to sr */
- {"orl", one (0000200), one (0177700), "#l$s"},
- {"orl", one (0100200), one (0170700), ";lDd"}, /* memory to register */
- {"orl", one (0100600), one (0170700), "Dd~s"}, /* register to memory */
- {"orw", one (0000100), one (0177700), "#w$s"},
- {"orw", one (0000174), one (0177777), "#wSs"}, /* ori to sr */
- {"orw", one (0100100), one (0170700), ";wDd"}, /* memory to register */
- {"orw", one (0100500), one (0170700), "Dd~s"}, /* register to memory */
- {"pack", one (0100500), one (0170770), "DsDd#w"}, /* pack Ds, Dd, #w */
- {"pack", one (0100510), one (0170770), "-s-d#w"}, /* pack -(As), -(Ad), #w */
- {"pea", one (0044100), one (0177700), "!s"},
- {"reset", one (0047160), one (0177777), ""},
- {"rolb", one (0160430), one (0170770), "QdDs"}, /* rorb #Q, Ds */
- {"rolb", one (0160470), one (0170770), "DdDs"}, /* rorb Dd, Ds */
- {"roll", one (0160630), one (0170770), "QdDs"}, /* rorb #Q, Ds */
- {"roll", one (0160670), one (0170770), "DdDs"}, /* rorb Dd, Ds */
- {"rolw", one (0160530), one (0170770), "QdDs"}, /* rorb #Q, Ds */
- {"rolw", one (0160570), one (0170770), "DdDs"}, /* rorb Dd, Ds */
- {"rolw", one (0163700), one (0177700), "~s"}, /* Rotate memory */
- {"rorb", one (0160030), one (0170770), "QdDs"}, /* rorb #Q, Ds */
- {"rorb", one (0160070), one (0170770), "DdDs"}, /* rorb Dd, Ds */
- {"rorl", one (0160230), one (0170770), "QdDs"}, /* rorb #Q, Ds */
- {"rorl", one (0160270), one (0170770), "DdDs"}, /* rorb Dd, Ds */
- {"rorw", one (0160130), one (0170770), "QdDs"}, /* rorb #Q, Ds */
- {"rorw", one (0160170), one (0170770), "DdDs"}, /* rorb Dd, Ds */
- {"rorw", one (0163300), one (0177700), "~s"}, /* Rotate memory */
- {"roxlb", one (0160420), one (0170770), "QdDs"}, /* roxrb #Q, Ds */
- {"roxlb", one (0160460), one (0170770), "DdDs"}, /* roxrb Dd, Ds */
- {"roxll", one (0160620), one (0170770), "QdDs"}, /* roxrb #Q, Ds */
- {"roxll", one (0160660), one (0170770), "DdDs"}, /* roxrb Dd, Ds */
- {"roxlw", one (0160520), one (0170770), "QdDs"}, /* roxrb #Q, Ds */
- {"roxlw", one (0160560), one (0170770), "DdDs"}, /* roxrb Dd, Ds */
- {"roxlw", one (0162700), one (0177700), "~s"}, /* Rotate memory */
- {"roxrb", one (0160020), one (0170770), "QdDs"}, /* roxrb #Q, Ds */
- {"roxrb", one (0160060), one (0170770), "DdDs"}, /* roxrb Dd, Ds */
- {"roxrl", one (0160220), one (0170770), "QdDs"}, /* roxrb #Q, Ds */
- {"roxrl", one (0160260), one (0170770), "DdDs"}, /* roxrb Dd, Ds */
- {"roxrw", one (0160120), one (0170770), "QdDs"}, /* roxrb #Q, Ds */
- {"roxrw", one (0160160), one (0170770), "DdDs"}, /* roxrb Dd, Ds */
- {"roxrw", one (0162300), one (0177700), "~s"}, /* Rotate memory */
- {"rtd", one (0047164), one (0177777), "#w"},
- {"rte", one (0047163), one (0177777), ""},
- {"rtm", one (0003300), one (0177760), "Rs"},
- {"rtr", one (0047167), one (0177777), ""},
- {"rts", one (0047165), one (0177777), ""},
- {"scc", one (0052300), one (0177700), "$s"},
- {"scs", one (0052700), one (0177700), "$s"},
- {"seq", one (0053700), one (0177700), "$s"},
- {"sf", one (0050700), one (0177700), "$s"},
- {"sge", one (0056300), one (0177700), "$s"},
- {"sgt", one (0057300), one (0177700), "$s"},
- {"shi", one (0051300), one (0177700), "$s"},
- {"sle", one (0057700), one (0177700), "$s"},
- {"sls", one (0051700), one (0177700), "$s"},
- {"slt", one (0056700), one (0177700), "$s"},
- {"smi", one (0055700), one (0177700), "$s"},
- {"sne", one (0053300), one (0177700), "$s"},
- {"spl", one (0055300), one (0177700), "$s"},
- {"st", one (0050300), one (0177700), "$s"},
- {"svc", one (0054300), one (0177700), "$s"},
- {"svs", one (0054700), one (0177700), "$s"},
- {"sbcd", one (0100400), one (0170770), "DsDd"}, /* sbcd Ds, Dd */
- {"sbcd", one (0100410), one (0170770), "-s-d"}, /* sbcd -(As), -(Ad) */
- {"stop", one (0047162), one (0177777), "#w"},
- {"subal", one (0110700), one (0170700), "*lAd"},
- {"subaw", one (0110300), one (0170700), "*wAd"},
- {"subb", one (0002000), one (0177700), "#b$s"}, /* subi written as sub */
- {"subb", one (0050400), one (0170700), "Qd%s"}, /* subq written as sub */
- {"subb", one (0110000), one (0170700), ";bDd"}, /* subb ??, Dd */
- {"subb", one (0110400), one (0170700), "Dd~s"}, /* subb Dd, ?? */
- {"subib", one (0002000), one (0177700), "#b$s"},
- {"subil", one (0002200), one (0177700), "#l$s"},
- {"subiw", one (0002100), one (0177700), "#w$s"},
- {"subl", one (0002200), one (0177700), "#l$s"},
- {"subl", one (0050600), one (0170700), "Qd%s"},
- {"subl", one (0110200), one (0170700), "*lDd"},
- {"subl", one (0110600), one (0170700), "Dd~s"},
- {"subl", one (0110700), one (0170700), "*lAd"},
- {"subqb", one (0050400), one (0170700), "Qd%s"},
- {"subql", one (0050600), one (0170700), "Qd%s"},
- {"subqw", one (0050500), one (0170700), "Qd%s"},
- {"subw", one (0002100), one (0177700), "#w$s"},
- {"subw", one (0050500), one (0170700), "Qd%s"},
- {"subw", one (0110100), one (0170700), "*wDd"},
- {"subw", one (0110300), one (0170700), "*wAd"}, /* suba written as sub */
- {"subw", one (0110500), one (0170700), "Dd~s"},
- {"subxb", one (0110400), one (0170770), "DsDd"}, /* subxb Ds, Dd */
- {"subxb", one (0110410), one (0170770), "-s-d"}, /* subxb -(As), -(Ad) */
- {"subxl", one (0110600), one (0170770), "DsDd"},
- {"subxl", one (0110610), one (0170770), "-s-d"},
- {"subxw", one (0110500), one (0170770), "DsDd"},
- {"subxw", one (0110510), one (0170770), "-s-d"},
- {"swap", one (0044100), one (0177770), "Ds"},
- {"tas", one (0045300), one (0177700), "$s"},
- {"trap", one (0047100), one (0177760), "Ts"},
- {"trapcc", one (0052374), one (0177777), ""},
- {"trapcs", one (0052774), one (0177777), ""},
- {"trapeq", one (0053774), one (0177777), ""},
- {"trapf", one (0050774), one (0177777), ""},
- {"trapge", one (0056374), one (0177777), ""},
- {"trapgt", one (0057374), one (0177777), ""},
- {"traphi", one (0051374), one (0177777), ""},
- {"traple", one (0057774), one (0177777), ""},
- {"trapls", one (0051774), one (0177777), ""},
- {"traplt", one (0056774), one (0177777), ""},
- {"trapmi", one (0055774), one (0177777), ""},
- {"trapne", one (0053374), one (0177777), ""},
- {"trappl", one (0055374), one (0177777), ""},
- {"trapt", one (0050374), one (0177777), ""},
- {"trapvc", one (0054374), one (0177777), ""},
- {"trapvs", one (0054774), one (0177777), ""},
- {"trapcc.w", one (0052372), one (0177777), ""},
- {"trapcs.w", one (0052772), one (0177777), ""},
- {"trapeq.w", one (0053772), one (0177777), ""},
- {"trapf.w", one (0050772), one (0177777), ""},
- {"trapge.w", one (0056372), one (0177777), ""},
- {"trapgt.w", one (0057372), one (0177777), ""},
- {"traphi.w", one (0051372), one (0177777), ""},
- {"traple.w", one (0057772), one (0177777), ""},
- {"trapls.w", one (0051772), one (0177777), ""},
- {"traplt.w", one (0056772), one (0177777), ""},
- {"trapmi.w", one (0055772), one (0177777), ""},
- {"trapne.w", one (0053372), one (0177777), ""},
- {"trappl.w", one (0055372), one (0177777), ""},
- {"trapt.w", one (0050372), one (0177777), ""},
- {"trapvc.w", one (0054372), one (0177777), ""},
- {"trapvs.w", one (0054772), one (0177777), ""},
- {"trapcc.l", one (0052373), one (0177777), ""},
- {"trapcs.l", one (0052773), one (0177777), ""},
- {"trapeq.l", one (0053773), one (0177777), ""},
- {"trapf.l", one (0050773), one (0177777), ""},
- {"trapge.l", one (0056373), one (0177777), ""},
- {"trapgt.l", one (0057373), one (0177777), ""},
- {"traphi.l", one (0051373), one (0177777), ""},
- {"traple.l", one (0057773), one (0177777), ""},
- {"trapls.l", one (0051773), one (0177777), ""},
- {"traplt.l", one (0056773), one (0177777), ""},
- {"trapmi.l", one (0055773), one (0177777), ""},
- {"trapne.l", one (0053373), one (0177777), ""},
- {"trappl.l", one (0055373), one (0177777), ""},
- {"trapt.l", one (0050373), one (0177777), ""},
- {"trapvc.l", one (0054373), one (0177777), ""},
- {"trapvs.l", one (0054773), one (0177777), ""},
- {"trapv", one (0047166), one (0177777), ""},
- {"tstb", one (0045000), one (0177700), ";b"},
- {"tstw", one (0045100), one (0177700), "*w"},
- {"tstl", one (0045200), one (0177700), "*l"},
- {"unlk", one (0047130), one (0177770), "As"},
- {"unpk", one (0100600), one (0170770), "DsDd#w"}, /* unpk Ds, Dd, #w */
- {"unpk", one (0100610), one (0170770), "-s-d#w"}, /* unpk -(As), -(Ad), #w */
- /* JF this is for SUN, which has different mnemonics */
- {"jbsr", one (0060400), one (0177400), "Bg"},
- {"jra", one (0060000), one (0177400), "Bg"},
-
- {"jhi", one (0061000), one (0177400), "Bg"},
- {"jls", one (0061400), one (0177400), "Bg"},
- {"jcc", one (0062000), one (0177400), "Bg"},
- {"jcs", one (0062400), one (0177400), "Bg"},
- {"jne", one (0063000), one (0177400), "Bg"},
- {"jeq", one (0063400), one (0177400), "Bg"},
- {"jvc", one (0064000), one (0177400), "Bg"},
- {"jvs", one (0064400), one (0177400), "Bg"},
- {"jpl", one (0065000), one (0177400), "Bg"},
- {"jmi", one (0065400), one (0177400), "Bg"},
- {"jge", one (0066000), one (0177400), "Bg"},
- {"jlt", one (0066400), one (0177400), "Bg"},
- {"jgt", one (0067000), one (0177400), "Bg"},
- {"jle", one (0067400), one (0177400), "Bg"},
- {"moval", one (0020100), one (0170700), "*lAd"},
- {"movaw", one (0030100), one (0170700), "*wAd"},
- {"movb", one (0010000), one (0170000), ";b$d"}, /* mov */
- {"movl", one (0020000), one (0170000), "*l$d"},
- {"movl", one (0020100), one (0170700), "*lAd"},
- {"movl", one (0047140), one (0177770), "AsUd"}, /* mov to USP */
- {"movl", one (0047150), one (0177770), "UdAs"}, /* mov from USP */
- {"movl", one (0070000), one (0170400), "MsDd"}, /* movq written as mov */
- {"movml", one (0044300), one (0177700), "#w&s"}, /* movm reg to mem. */
- {"movml", one (0044340), one (0177770), "#w-s"}, /* movm reg to autodecrement. */
- {"movml", one (0046300), one (0177700), "!s#w"}, /* movm mem to reg. */
- {"movml", one (0046330), one (0177770), "+s#w"}, /* movm autoinc to reg. */
- {"movmw", one (0044200), one (0177700), "#w&s"}, /* movm reg to mem. */
- {"movmw", one (0044240), one (0177770), "#w-s"}, /* movm reg to autodecrement. */
- {"movmw", one (0046200), one (0177700), "!s#w"}, /* movm mem to reg. */
- {"movmw", one (0046230), one (0177770), "+s#w"}, /* movm autoinc to reg. */
- {"movpl", one (0000510), one (0170770), "dsDd"}, /* memory to register */
- {"movpl", one (0000710), one (0170770), "Ddds"}, /* register to memory */
- {"movpw", one (0000410), one (0170770), "dsDd"}, /* memory to register */
- {"movpw", one (0000610), one (0170770), "Ddds"}, /* register to memory */
- {"movq", one (0070000), one (0170400), "MsDd"},
- {"movw", one (0030000), one (0170000), "*w$d"},
- {"movw", one (0030100), one (0170700), "*wAd"}, /* mova, written as mov */
- {"movw", one (0040300), one (0177700), "Ss$s"}, /* Move from sr */
- {"movw", one (0041300), one (0177700), "Cs$s"}, /* Move from ccr */
- {"movw", one (0042300), one (0177700), ";wCd"}, /* mov to ccr */
- {"movw", one (0043300), one (0177700), ";wSd"}, /* mov to sr */
- /* movc not done */
- {"movsb", two (0007000, 0), two (0177700, 07777), "~sR1"}, /* movs from memory */
- {"movsb", two (0007000, 04000), two (0177700, 07777), "R1~s"}, /* movs to memory */
- {"movsl", two (0007200, 0), two (0177700, 07777), "~sR1"}, /* movs from memory */
- {"movsl", two (0007200, 04000), two (0177700, 07777), "R1~s"}, /* movs to memory */
- {"movsw", two (0007100, 0), two (0177700, 07777), "~sR1"}, /* movs from memory */
- {"movsw", two (0007100, 04000), two (0177700, 07777), "R1~s"}, /* movs to memory */
- };
- int numopcodes=sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]);
- struct m68k_opcode *endop = m68k_opcodes+sizeof(m68k_opcodes)/sizeof(m68k_opcodes[0]);;
|