diff options
author | J.T. Conklin <jtc@acorntoolworks.com> | 1996-07-03 21:28:05 +0000 |
---|---|---|
committer | J.T. Conklin <jtc@acorntoolworks.com> | 1996-07-03 21:28:05 +0000 |
commit | 9070eaffefff57713b2f86ceaa45bac1d16a6a73 (patch) | |
tree | 5d78d0a74237d6ed0d784d51744213e1e545f56b /opcodes/m68k-opc.c | |
parent | 9a14baf2fba16f34aeca12ad2068f0ad45c8efa8 (diff) | |
download | gdb-9070eaffefff57713b2f86ceaa45bac1d16a6a73.zip gdb-9070eaffefff57713b2f86ceaa45bac1d16a6a73.tar.gz gdb-9070eaffefff57713b2f86ceaa45bac1d16a6a73.tar.bz2 |
* m68k-opc.c (m68k_opcodes): Add coldfire support.
Diffstat (limited to 'opcodes/m68k-opc.c')
-rw-r--r-- | opcodes/m68k-opc.c | 941 |
1 files changed, 479 insertions, 462 deletions
diff --git a/opcodes/m68k-opc.c b/opcodes/m68k-opc.c index 707d6af..d5bc773 100644 --- a/opcodes/m68k-opc.c +++ b/opcodes/m68k-opc.c @@ -1,5 +1,5 @@ /* Opcode table for m680[01234]0/m6888[12]/m68851. - Copyright 1989, 1991, 1992, 1993, 1994, 1995 Free Software Foundation. + Copyright 1989, 91, 92, 93, 94, 95, 1996 Free Software Foundation. This file is part of GDB, GAS, and the GNU binutils. @@ -30,151 +30,151 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA const struct m68k_opcode m68k_opcodes[] = { -{"abcd", one(0140400), one(0170770), "DsDd", m68000up }, -{"abcd", one(0140410), one(0170770), "-s-d", m68000up }, +{"abcd", one(0140400), one(0170770), "DsDd", m68000up }, +{"abcd", one(0140410), one(0170770), "-s-d", m68000up }, -{"addaw", one(0150300), one(0170700), "*wAd", m68000up }, -{"addal", one(0150700), one(0170700), "*lAd", m68000up }, +{"addaw", one(0150300), one(0170700), "*wAd", m68000up }, +{"addal", one(0150700), one(0170700), "*lAd", m68000up | mcf5200 }, -{"addib", one(0003000), one(0177700), "#b$b", m68000up }, -{"addiw", one(0003100), one(0177700), "#w$w", m68000up }, -{"addil", one(0003200), one(0177700), "#l$l", m68000up }, +{"addib", one(0003000), one(0177700), "#b$b", m68000up }, +{"addiw", one(0003100), one(0177700), "#w$w", m68000up }, +{"addil", one(0003200), one(0177700), "#l$l", m68000up | mcf5200 }, -{"addqb", one(0050000), one(0170700), "Qd$b", m68000up }, -{"addqw", one(0050100), one(0170700), "Qd%w", m68000up }, -{"addql", one(0050200), one(0170700), "Qd%l", m68000up }, +{"addqb", one(0050000), one(0170700), "Qd$b", m68000up }, +{"addqw", one(0050100), one(0170700), "Qd%w", m68000up }, +{"addql", one(0050200), one(0170700), "Qd%l", m68000up | mcf5200 }, /* The add opcode can generate the adda, addi, and addq instructions. */ -{"addb", one(0050000), one(0170700), "Qd$b", m68000up }, -{"addb", one(0003000), one(0177700), "#b$b", m68000up }, -{"addb", one(0150000), one(0170700), ";bDd", m68000up }, -{"addb", one(0150400), one(0170700), "Dd~b", m68000up }, -{"addw", one(0050100), one(0170700), "Qd%w", m68000up }, -{"addw", one(0150300), one(0170700), "*wAd", m68000up }, -{"addw", one(0003100), one(0177700), "#w$w", m68000up }, -{"addw", one(0150100), one(0170700), "*wDd", m68000up }, -{"addw", one(0150500), one(0170700), "Dd~w", m68000up }, -{"addl", one(0050200), one(0170700), "Qd%l", m68000up }, -{"addl", one(0003200), one(0177700), "#l$l", m68000up }, -{"addl", one(0150700), one(0170700), "*lAd", m68000up }, -{"addl", one(0150200), one(0170700), "*lDd", m68000up }, -{"addl", one(0150600), one(0170700), "Dd~l", m68000up }, - -{"addxb", one(0150400), one(0170770), "DsDd", m68000up }, -{"addxb", one(0150410), one(0170770), "-s-d", m68000up }, -{"addxw", one(0150500), one(0170770), "DsDd", m68000up }, -{"addxw", one(0150510), one(0170770), "-s-d", m68000up }, -{"addxl", one(0150600), one(0170770), "DsDd", m68000up }, -{"addxl", one(0150610), one(0170770), "-s-d", m68000up }, - -{"andib", one(0001000), one(0177700), "#b$b", m68000up }, -{"andib", one(0001074), one(0177777), "#bCb", m68000up }, -{"andiw", one(0001100), one(0177700), "#w$w", m68000up }, -{"andiw", one(0001174), one(0177777), "#wSw", m68000up }, -{"andil", one(0001200), one(0177700), "#l$l", m68000up }, -{"andi", one(0001100), one(0177700), "#w$w", m68000up }, -{"andi", one(0001074), one(0177777), "#bCb", m68000up }, -{"andi", one(0001174), one(0177777), "#wSw", m68000up }, +{"addb", one(0050000), one(0170700), "Qd$b", m68000up }, +{"addb", one(0003000), one(0177700), "#b$b", m68000up }, +{"addb", one(0150000), one(0170700), ";bDd", m68000up }, +{"addb", one(0150400), one(0170700), "Dd~b", m68000up }, +{"addw", one(0050100), one(0170700), "Qd%w", m68000up }, +{"addw", one(0150300), one(0170700), "*wAd", m68000up }, +{"addw", one(0003100), one(0177700), "#w$w", m68000up }, +{"addw", one(0150100), one(0170700), "*wDd", m68000up }, +{"addw", one(0150500), one(0170700), "Dd~w", m68000up }, +{"addl", one(0050200), one(0170700), "Qd%l", m68000up | mcf5200 }, +{"addl", one(0003200), one(0177700), "#l$l", m68000up | mcf5200 }, +{"addl", one(0150700), one(0170700), "*lAd", m68000up | mcf5200 }, +{"addl", one(0150200), one(0170700), "*lDd", m68000up | mcf5200 }, +{"addl", one(0150600), one(0170700), "Dd~l", m68000up | mcf5200 }, + +{"addxb", one(0150400), one(0170770), "DsDd", m68000up }, +{"addxb", one(0150410), one(0170770), "-s-d", m68000up }, +{"addxw", one(0150500), one(0170770), "DsDd", m68000up }, +{"addxw", one(0150510), one(0170770), "-s-d", m68000up }, +{"addxl", one(0150600), one(0170770), "DsDd", m68000up | mcf5200 }, +{"addxl", one(0150610), one(0170770), "-s-d", m68000up }, + +{"andib", one(0001000), one(0177700), "#b$b", m68000up }, +{"andib", one(0001074), one(0177777), "#bCb", m68000up }, +{"andiw", one(0001100), one(0177700), "#w$w", m68000up }, +{"andiw", one(0001174), one(0177777), "#wSw", m68000up }, +{"andil", one(0001200), one(0177700), "#l$l", m68000up | mcf5200 }, +{"andi", one(0001100), one(0177700), "#w$w", m68000up }, +{"andi", one(0001074), one(0177777), "#bCb", m68000up }, +{"andi", one(0001174), one(0177777), "#wSw", m68000up }, /* The and opcode can generate the andi instruction. */ -{"andb", one(0001000), one(0177700), "#b$b", m68000up }, -{"andb", one(0001074), one(0177777), "#bCb", m68000up }, -{"andb", one(0140000), one(0170700), ";bDd", m68000up }, -{"andb", one(0140400), one(0170700), "Dd~b", m68000up }, -{"andw", one(0001100), one(0177700), "#w$w", m68000up }, -{"andw", one(0001174), one(0177777), "#wSw", m68000up }, -{"andw", one(0140100), one(0170700), ";wDd", m68000up }, -{"andw", one(0140500), one(0170700), "Dd~w", m68000up }, -{"andl", one(0001200), one(0177700), "#l$l", m68000up }, -{"andl", one(0140200), one(0170700), ";lDd", m68000up }, -{"andl", one(0140600), one(0170700), "Dd~l", m68000up }, -{"and", one(0001100), one(0177700), "#w$w", m68000up }, -{"and", one(0001074), one(0177777), "#bCb", m68000up }, -{"and", one(0001174), one(0177777), "#wSw", m68000up }, -{"and", one(0140100), one(0170700), ";wDd", m68000up }, -{"and", one(0140500), one(0170700), "Dd~w", m68000up }, - -{"aslb", one(0160400), one(0170770), "QdDs", m68000up }, -{"aslb", one(0160440), one(0170770), "DdDs", m68000up }, -{"aslw", one(0160500), one(0170770), "QdDs", m68000up }, -{"aslw", one(0160540), one(0170770), "DdDs", m68000up }, -{"aslw", one(0160700), one(0177700), "~s", m68000up }, -{"asll", one(0160600), one(0170770), "QdDs", m68000up }, -{"asll", one(0160640), one(0170770), "DdDs", m68000up }, - -{"asrb", one(0160000), one(0170770), "QdDs", m68000up }, -{"asrb", one(0160040), one(0170770), "DdDs", m68000up }, -{"asrw", one(0160100), one(0170770), "QdDs", m68000up }, -{"asrw", one(0160140), one(0170770), "DdDs", m68000up }, -{"asrw", one(0160300), one(0177700), "~s", m68000up }, -{"asrl", one(0160200), one(0170770), "QdDs", m68000up }, -{"asrl", one(0160240), one(0170770), "DdDs", m68000up }, - -{"bhiw", one(0061000), one(0177777), "BW", m68000up }, -{"blsw", one(0061400), one(0177777), "BW", m68000up }, -{"bccw", one(0062000), one(0177777), "BW", m68000up }, -{"bcsw", one(0062400), one(0177777), "BW", m68000up }, -{"bnew", one(0063000), one(0177777), "BW", m68000up }, -{"beqw", one(0063400), one(0177777), "BW", m68000up }, -{"bvcw", one(0064000), one(0177777), "BW", m68000up }, -{"bvsw", one(0064400), one(0177777), "BW", m68000up }, -{"bplw", one(0065000), one(0177777), "BW", m68000up }, -{"bmiw", one(0065400), one(0177777), "BW", m68000up }, -{"bgew", one(0066000), one(0177777), "BW", m68000up }, -{"bltw", one(0066400), one(0177777), "BW", m68000up }, -{"bgtw", one(0067000), one(0177777), "BW", m68000up }, -{"blew", one(0067400), one(0177777), "BW", m68000up }, - -{"bhil", one(0061377), one(0177777), "BL", m68020up | cpu32 }, -{"blsl", one(0061777), one(0177777), "BL", m68020up | cpu32 }, -{"bccl", one(0062377), one(0177777), "BL", m68020up | cpu32 }, -{"bcsl", one(0062777), one(0177777), "BL", m68020up | cpu32 }, -{"bnel", one(0063377), one(0177777), "BL", m68020up | cpu32 }, -{"beql", one(0063777), one(0177777), "BL", m68020up | cpu32 }, -{"bvcl", one(0064377), one(0177777), "BL", m68020up | cpu32 }, -{"bvsl", one(0064777), one(0177777), "BL", m68020up | cpu32 }, -{"bpll", one(0065377), one(0177777), "BL", m68020up | cpu32 }, -{"bmil", one(0065777), one(0177777), "BL", m68020up | cpu32 }, -{"bgel", one(0066377), one(0177777), "BL", m68020up | cpu32 }, -{"bltl", one(0066777), one(0177777), "BL", m68020up | cpu32 }, -{"bgtl", one(0067377), one(0177777), "BL", m68020up | cpu32 }, -{"blel", one(0067777), one(0177777), "BL", m68020up | cpu32 }, - -{"bhis", one(0061000), one(0177400), "BB", m68000up }, -{"blss", one(0061400), one(0177400), "BB", m68000up }, -{"bccs", one(0062000), one(0177400), "BB", m68000up }, -{"bcss", one(0062400), one(0177400), "BB", m68000up }, -{"bnes", one(0063000), one(0177400), "BB", m68000up }, -{"beqs", one(0063400), one(0177400), "BB", m68000up }, -{"bvcs", one(0064000), one(0177400), "BB", m68000up }, -{"bvss", one(0064400), one(0177400), "BB", m68000up }, -{"bpls", one(0065000), one(0177400), "BB", m68000up }, -{"bmis", one(0065400), one(0177400), "BB", m68000up }, -{"bges", one(0066000), one(0177400), "BB", m68000up }, -{"blts", one(0066400), one(0177400), "BB", m68000up }, -{"bgts", one(0067000), one(0177400), "BB", m68000up }, -{"bles", one(0067400), one(0177400), "BB", m68000up }, - -{"jhi", one(0061000), one(0177400), "Bg", m68000up }, -{"jls", one(0061400), one(0177400), "Bg", m68000up }, -{"jcc", one(0062000), one(0177400), "Bg", m68000up }, -{"jcs", one(0062400), one(0177400), "Bg", m68000up }, -{"jne", one(0063000), one(0177400), "Bg", m68000up }, -{"jeq", one(0063400), one(0177400), "Bg", m68000up }, -{"jvc", one(0064000), one(0177400), "Bg", m68000up }, -{"jvs", one(0064400), one(0177400), "Bg", m68000up }, -{"jpl", one(0065000), one(0177400), "Bg", m68000up }, -{"jmi", one(0065400), one(0177400), "Bg", m68000up }, -{"jge", one(0066000), one(0177400), "Bg", m68000up }, -{"jlt", one(0066400), one(0177400), "Bg", m68000up }, -{"jgt", one(0067000), one(0177400), "Bg", m68000up }, -{"jle", one(0067400), one(0177400), "Bg", m68000up }, - -{"bchg", one(0000500), one(0170700), "Dd$s", m68000up }, -{"bchg", one(0004100), one(0177700), "#b$s", m68000up }, - -{"bclr", one(0000600), one(0170700), "Dd$s", m68000up }, -{"bclr", one(0004200), one(0177700), "#b$s", m68000up }, +{"andb", one(0001000), one(0177700), "#b$b", m68000up }, +{"andb", one(0001074), one(0177777), "#bCb", m68000up }, +{"andb", one(0140000), one(0170700), ";bDd", m68000up }, +{"andb", one(0140400), one(0170700), "Dd~b", m68000up }, +{"andw", one(0001100), one(0177700), "#w$w", m68000up }, +{"andw", one(0001174), one(0177777), "#wSw", m68000up }, +{"andw", one(0140100), one(0170700), ";wDd", m68000up }, +{"andw", one(0140500), one(0170700), "Dd~w", m68000up }, +{"andl", one(0001200), one(0177700), "#l$l", m68000up | mcf5200 }, +{"andl", one(0140200), one(0170700), ";lDd", m68000up | mcf5200 }, +{"andl", one(0140600), one(0170700), "Dd~l", m68000up | mcf5200 }, +{"and", one(0001100), one(0177700), "#w$w", m68000up }, +{"and", one(0001074), one(0177777), "#bCb", m68000up }, +{"and", one(0001174), one(0177777), "#wSw", m68000up }, +{"and", one(0140100), one(0170700), ";wDd", m68000up }, +{"and", one(0140500), one(0170700), "Dd~w", m68000up }, + +{"aslb", one(0160400), one(0170770), "QdDs", m68000up }, +{"aslb", one(0160440), one(0170770), "DdDs", m68000up }, +{"aslw", one(0160500), one(0170770), "QdDs", m68000up }, +{"aslw", one(0160540), one(0170770), "DdDs", m68000up }, +{"aslw", one(0160700), one(0177700), "~s", m68000up }, +{"asll", one(0160600), one(0170770), "QdDs", m68000up | mcf5200 }, +{"asll", one(0160640), one(0170770), "DdDs", m68000up | mcf5200 }, + +{"asrb", one(0160000), one(0170770), "QdDs", m68000up }, +{"asrb", one(0160040), one(0170770), "DdDs", m68000up }, +{"asrw", one(0160100), one(0170770), "QdDs", m68000up }, +{"asrw", one(0160140), one(0170770), "DdDs", m68000up }, +{"asrw", one(0160300), one(0177700), "~s", m68000up }, +{"asrl", one(0160200), one(0170770), "QdDs", m68000up | mcf5200 }, +{"asrl", one(0160240), one(0170770), "DdDs", m68000up | mcf5200 }, + +{"bhiw", one(0061000), one(0177777), "BW", m68000up | mcf5200 }, +{"blsw", one(0061400), one(0177777), "BW", m68000up | mcf5200 }, +{"bccw", one(0062000), one(0177777), "BW", m68000up | mcf5200 }, +{"bcsw", one(0062400), one(0177777), "BW", m68000up | mcf5200 }, +{"bnew", one(0063000), one(0177777), "BW", m68000up | mcf5200 }, +{"beqw", one(0063400), one(0177777), "BW", m68000up | mcf5200 }, +{"bvcw", one(0064000), one(0177777), "BW", m68000up | mcf5200 }, +{"bvsw", one(0064400), one(0177777), "BW", m68000up | mcf5200 }, +{"bplw", one(0065000), one(0177777), "BW", m68000up | mcf5200 }, +{"bmiw", one(0065400), one(0177777), "BW", m68000up | mcf5200 }, +{"bgew", one(0066000), one(0177777), "BW", m68000up | mcf5200 }, +{"bltw", one(0066400), one(0177777), "BW", m68000up | mcf5200 }, +{"bgtw", one(0067000), one(0177777), "BW", m68000up | mcf5200 }, +{"blew", one(0067400), one(0177777), "BW", m68000up | mcf5200 }, + +{"bhil", one(0061377), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"blsl", one(0061777), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bccl", one(0062377), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bcsl", one(0062777), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bnel", one(0063377), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"beql", one(0063777), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bvcl", one(0064377), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bvsl", one(0064777), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bpll", one(0065377), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bmil", one(0065777), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bgel", one(0066377), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bltl", one(0066777), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"bgtl", one(0067377), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, +{"blel", one(0067777), one(0177777), "BL", m68020up | cpu32 | mcf5200 }, + +{"bhis", one(0061000), one(0177400), "BB", m68000up }, +{"blss", one(0061400), one(0177400), "BB", m68000up }, +{"bccs", one(0062000), one(0177400), "BB", m68000up }, +{"bcss", one(0062400), one(0177400), "BB", m68000up }, +{"bnes", one(0063000), one(0177400), "BB", m68000up }, +{"beqs", one(0063400), one(0177400), "BB", m68000up }, +{"bvcs", one(0064000), one(0177400), "BB", m68000up }, +{"bvss", one(0064400), one(0177400), "BB", m68000up }, +{"bpls", one(0065000), one(0177400), "BB", m68000up }, +{"bmis", one(0065400), one(0177400), "BB", m68000up }, +{"bges", one(0066000), one(0177400), "BB", m68000up }, +{"blts", one(0066400), one(0177400), "BB", m68000up }, +{"bgts", one(0067000), one(0177400), "BB", m68000up }, +{"bles", one(0067400), one(0177400), "BB", m68000up }, + +{"jhi", one(0061000), one(0177400), "Bg", m68000up | mcf5200 }, +{"jls", one(0061400), one(0177400), "Bg", m68000up | mcf5200 }, +{"jcc", one(0062000), one(0177400), "Bg", m68000up | mcf5200 }, +{"jcs", one(0062400), one(0177400), "Bg", m68000up | mcf5200 }, +{"jne", one(0063000), one(0177400), "Bg", m68000up | mcf5200 }, +{"jeq", one(0063400), one(0177400), "Bg", m68000up | mcf5200 }, +{"jvc", one(0064000), one(0177400), "Bg", m68000up | mcf5200 }, +{"jvs", one(0064400), one(0177400), "Bg", m68000up | mcf5200 }, +{"jpl", one(0065000), one(0177400), "Bg", m68000up | mcf5200 }, +{"jmi", one(0065400), one(0177400), "Bg", m68000up | mcf5200 }, +{"jge", one(0066000), one(0177400), "Bg", m68000up | mcf5200 }, +{"jlt", one(0066400), one(0177400), "Bg", m68000up | mcf5200 }, +{"jgt", one(0067000), one(0177400), "Bg", m68000up | mcf5200 }, +{"jle", one(0067400), one(0177400), "Bg", m68000up | mcf5200 }, + +{"bchg", one(0000500), one(0170700), "Dd$s", m68000up | mcf5200 }, +{"bchg", one(0004100), one(0177700), "#b$s", m68000up | mcf5200 }, + +{"bclr", one(0000600), one(0170700), "Dd$s", m68000up | mcf5200 }, +{"bclr", one(0004200), one(0177700), "#b$s", m68000up | mcf5200 }, {"bfchg", two(0165300, 0), two(0177700, 0170000), "?sO2O3", m68020up }, {"bfclr", two(0166300, 0), two(0177700, 0170000), "?sO2O3", m68020up }, @@ -187,21 +187,21 @@ const struct m68k_opcode m68k_opcodes[] = {"bgnd", one(0045372), one(0177777), "", cpu32 }, -{"bkpt", one(0044110), one(0177770), "ts", m68020up | cpu32 }, +{"bkpt", one(0044110), one(0177770), "ts", m68010up }, -{"braw", one(0060000), one(0177777), "BW", m68000up }, -{"bral", one(0060377), one(0177777), "BL", m68020up | cpu32 }, -{"bras", one(0060000), one(0177400), "BB", m68000up }, +{"braw", one(0060000), one(0177777), "BW", m68000up | mcf5200 }, +{"bral", one(0060377), one(0177777), "BL", m68020up | cpu32 }, +{"bras", one(0060000), one(0177400), "BB", m68000up | mcf5200 }, -{"bset", one(0000700), one(0170700), "Dd$s", m68000up }, -{"bset", one(0004300), one(0177700), "#b$s", m68000up }, +{"bset", one(0000700), one(0170700), "Dd$s", m68000up | mcf5200 }, +{"bset", one(0004300), one(0177700), "#b$s", m68000up | mcf5200 }, -{"bsrw", one(0060400), one(0177777), "BW", m68000up }, -{"bsrl", one(0060777), one(0177777), "BL", m68020up | cpu32 }, -{"bsrs", one(0060400), one(0177400), "BB", m68000up }, +{"bsrw", one(0060400), one(0177777), "BW", m68000up | mcf5200 }, +{"bsrl", one(0060777), one(0177777), "BL", m68020up | cpu32 }, +{"bsrs", one(0060400), one(0177400), "BB", m68000up | mcf5200 }, -{"btst", one(0000400), one(0170700), "Dd@s", m68000up }, -{"btst", one(0004000), one(0177700), "#b@s", m68000up }, +{"btst", one(0000400), one(0170700), "Dd@s", m68000up | mcf5200 }, +{"btst", one(0004000), one(0177700), "#b@s", m68000up | mcf5200 }, {"callm", one(0003300), one(0177700), "#b!s", m68020 }, @@ -237,54 +237,54 @@ const struct m68k_opcode m68k_opcodes[] = #undef SCOPE_PAGE #undef SCOPE_ALL -{"clrb", one(0041000), one(0177700), "$s", m68000up }, -{"clrw", one(0041100), one(0177700), "$s", m68000up }, -{"clrl", one(0041200), one(0177700), "$s", m68000up }, +{"clrb", one(0041000), one(0177700), "$s", m68000up | mcf5200 }, +{"clrw", one(0041100), one(0177700), "$s", m68000up | mcf5200 }, +{"clrl", one(0041200), one(0177700), "$s", m68000up | mcf5200 }, {"cmp2b", two(0000300,0), two(0177700,07777), "!sR1", m68020up | cpu32 }, {"cmp2w", two(0001300,0), two(0177700,07777), "!sR1", m68020up | cpu32 }, {"cmp2l", two(0002300,0), two(0177700,07777), "!sR1", m68020up | cpu32 }, -{"cmpaw", one(0130300), one(0170700), "*wAd", m68000up }, -{"cmpal", one(0130700), one(0170700), "*lAd", m68000up }, +{"cmpaw", one(0130300), one(0170700), "*wAd", m68000up }, +{"cmpal", one(0130700), one(0170700), "*lAd", m68000up | mcf5200 }, -{"cmpib", one(0006000), one(0177700), "#b;b", m68000up }, -{"cmpiw", one(0006100), one(0177700), "#w;w", m68000up }, -{"cmpil", one(0006200), one(0177700), "#l;l", m68000up }, +{"cmpib", one(0006000), one(0177700), "#b;b", m68000up }, +{"cmpiw", one(0006100), one(0177700), "#w;w", m68000up }, +{"cmpil", one(0006200), one(0177700), "#l;l", m68000up | mcf5200 }, -{"cmpmb", one(0130410), one(0170770), "+s+d", m68000up }, -{"cmpmw", one(0130510), one(0170770), "+s+d", m68000up }, -{"cmpml", one(0130610), one(0170770), "+s+d", m68000up }, +{"cmpmb", one(0130410), one(0170770), "+s+d", m68000up }, +{"cmpmw", one(0130510), one(0170770), "+s+d", m68000up }, +{"cmpml", one(0130610), one(0170770), "+s+d", m68000up | mcf5200 }, /* The cmp opcode can generate the cmpa, cmpm, and cmpi instructions. */ -{"cmpb", one(0006000), one(0177700), "#b;b", m68000up }, -{"cmpb", one(0130410), one(0170770), "+s+d", m68000up }, -{"cmpb", one(0130000), one(0170700), ";bDd", m68000up }, -{"cmpw", one(0130300), one(0170700), "*wAd", m68000up }, -{"cmpw", one(0006100), one(0177700), "#w;w", m68000up }, -{"cmpw", one(0130510), one(0170770), "+s+d", m68000up }, -{"cmpw", one(0130100), one(0170700), "*wDd", m68000up }, -{"cmpl", one(0130700), one(0170700), "*lAd", m68000up }, -{"cmpl", one(0006200), one(0177700), "#l;l", m68000up }, -{"cmpl", one(0130610), one(0170770), "+s+d", m68000up }, -{"cmpl", one(0130200), one(0170700), "*lDd", m68000up }, - -{"dbcc", one(0052310), one(0177770), "DsBw", m68000up }, -{"dbcs", one(0052710), one(0177770), "DsBw", m68000up }, -{"dbeq", one(0053710), one(0177770), "DsBw", m68000up }, -{"dbf", one(0050710), one(0177770), "DsBw", m68000up }, -{"dbge", one(0056310), one(0177770), "DsBw", m68000up }, -{"dbgt", one(0057310), one(0177770), "DsBw", m68000up }, -{"dbhi", one(0051310), one(0177770), "DsBw", m68000up }, -{"dble", one(0057710), one(0177770), "DsBw", m68000up }, -{"dbls", one(0051710), one(0177770), "DsBw", m68000up }, -{"dblt", one(0056710), one(0177770), "DsBw", m68000up }, -{"dbmi", one(0055710), one(0177770), "DsBw", m68000up }, -{"dbne", one(0053310), one(0177770), "DsBw", m68000up }, -{"dbpl", one(0055310), one(0177770), "DsBw", m68000up }, -{"dbt", one(0050310), one(0177770), "DsBw", m68000up }, -{"dbvc", one(0054310), one(0177770), "DsBw", m68000up }, -{"dbvs", one(0054710), one(0177770), "DsBw", m68000up }, +{"cmpb", one(0006000), one(0177700), "#b;b", m68000up }, +{"cmpb", one(0130410), one(0170770), "+s+d", m68000up }, +{"cmpb", one(0130000), one(0170700), ";bDd", m68000up }, +{"cmpw", one(0130300), one(0170700), "*wAd", m68000up }, +{"cmpw", one(0006100), one(0177700), "#w;w", m68000up }, +{"cmpw", one(0130510), one(0170770), "+s+d", m68000up }, +{"cmpw", one(0130100), one(0170700), "*wDd", m68000up }, +{"cmpl", one(0130700), one(0170700), "*lAd", m68000up | mcf5200 }, +{"cmpl", one(0006200), one(0177700), "#l;l", m68000up | mcf5200 }, +{"cmpl", one(0130610), one(0170770), "+s+d", m68000up | mcf5200 }, +{"cmpl", one(0130200), one(0170700), "*lDd", m68000up | mcf5200 }, + +{"dbcc", one(0052310), one(0177770), "DsBw", m68000up }, +{"dbcs", one(0052710), one(0177770), "DsBw", m68000up }, +{"dbeq", one(0053710), one(0177770), "DsBw", m68000up }, +{"dbf", one(0050710), one(0177770), "DsBw", m68000up }, +{"dbge", one(0056310), one(0177770), "DsBw", m68000up }, +{"dbgt", one(0057310), one(0177770), "DsBw", m68000up }, +{"dbhi", one(0051310), one(0177770), "DsBw", m68000up }, +{"dble", one(0057710), one(0177770), "DsBw", m68000up }, +{"dbls", one(0051710), one(0177770), "DsBw", m68000up }, +{"dblt", one(0056710), one(0177770), "DsBw", m68000up }, +{"dbmi", one(0055710), one(0177770), "DsBw", m68000up }, +{"dbne", one(0053310), one(0177770), "DsBw", m68000up }, +{"dbpl", one(0055310), one(0177770), "DsBw", m68000up }, +{"dbt", one(0050310), one(0177770), "DsBw", m68000up }, +{"dbvc", one(0054310), one(0177770), "DsBw", m68000up }, +{"dbvs", one(0054710), one(0177770), "DsBw", m68000up }, {"divsw", one(0100700), one(0170700), ";wDd", m68000up }, @@ -302,37 +302,37 @@ const struct m68k_opcode m68k_opcodes[] = {"divull", two(0046100,0000000),two(0177700,0107770),";lD3D1",m68020up|cpu32 }, {"divull", two(0046100,0000000),two(0177700,0107770),";lDD", m68020up|cpu32 }, -{"eorib", one(0005000), one(0177700), "#b$s", m68000up }, -{"eorib", one(0005074), one(0177777), "#bCs", m68000up }, -{"eoriw", one(0005100), one(0177700), "#w$s", m68000up }, -{"eoriw", one(0005174), one(0177777), "#wSs", m68000up }, -{"eoril", one(0005200), one(0177700), "#l$s", m68000up }, -{"eori", one(0005074), one(0177777), "#bCs", m68000up }, -{"eori", one(0005174), one(0177777), "#wSs", m68000up }, -{"eori", one(0005100), one(0177700), "#w$s", m68000up }, +{"eorib", one(0005000), one(0177700), "#b$s", m68000up }, +{"eorib", one(0005074), one(0177777), "#bCs", m68000up }, +{"eoriw", one(0005100), one(0177700), "#w$s", m68000up }, +{"eoriw", one(0005174), one(0177777), "#wSs", m68000up }, +{"eoril", one(0005200), one(0177700), "#l$s", m68000up | mcf5200 }, +{"eori", one(0005074), one(0177777), "#bCs", m68000up }, +{"eori", one(0005174), one(0177777), "#wSs", m68000up }, +{"eori", one(0005100), one(0177700), "#w$s", m68000up }, /* The eor opcode can generate the eori instruction. */ -{"eorb", one(0005000), one(0177700), "#b$s", m68000up }, -{"eorb", one(0005074), one(0177777), "#bCs", m68000up }, -{"eorb", one(0130400), one(0170700), "Dd$s", m68000up }, -{"eorw", one(0005100), one(0177700), "#w$s", m68000up }, -{"eorw", one(0005174), one(0177777), "#wSs", m68000up }, -{"eorw", one(0130500), one(0170700), "Dd$s", m68000up }, -{"eorl", one(0005200), one(0177700), "#l$s", m68000up }, -{"eorl", one(0130600), one(0170700), "Dd$s", m68000up }, -{"eor", one(0005074), one(0177777), "#bCs", m68000up }, -{"eor", one(0005174), one(0177777), "#wSs", m68000up }, -{"eor", one(0005100), one(0177700), "#w$s", m68000up }, -{"eor", one(0130500), one(0170700), "Dd$s", m68000up }, - -{"exg", one(0140500), one(0170770), "DdDs", m68000up }, -{"exg", one(0140510), one(0170770), "AdAs", m68000up }, -{"exg", one(0140610), one(0170770), "DdAs", m68000up }, -{"exg", one(0140610), one(0170770), "AsDd", m68000up }, - -{"extw", one(0044200), one(0177770), "Ds", m68000up }, -{"extl", one(0044300), one(0177770), "Ds", m68000up }, -{"extbl", one(0044700), one(0177770), "Ds", m68020up | cpu32 }, +{"eorb", one(0005000), one(0177700), "#b$s", m68000up }, +{"eorb", one(0005074), one(0177777), "#bCs", m68000up }, +{"eorb", one(0130400), one(0170700), "Dd$s", m68000up }, +{"eorw", one(0005100), one(0177700), "#w$s", m68000up }, +{"eorw", one(0005174), one(0177777), "#wSs", m68000up }, +{"eorw", one(0130500), one(0170700), "Dd$s", m68000up }, +{"eorl", one(0005200), one(0177700), "#l$s", m68000up | mcf5200 }, +{"eorl", one(0130600), one(0170700), "Dd$s", m68000up | mcf5200 }, +{"eor", one(0005074), one(0177777), "#bCs", m68000up }, +{"eor", one(0005174), one(0177777), "#wSs", m68000up }, +{"eor", one(0005100), one(0177700), "#w$s", m68000up }, +{"eor", one(0130500), one(0170700), "Dd$s", m68000up }, + +{"exg", one(0140500), one(0170770), "DdDs", m68000up }, +{"exg", one(0140510), one(0170770), "AdAs", m68000up }, +{"exg", one(0140610), one(0170770), "DdAs", m68000up }, +{"exg", one(0140610), one(0170770), "AsDd", m68000up }, + +{"extw", one(0044200), one(0177770), "Ds", m68000up | mcf5200 }, +{"extl", one(0044300), one(0177770), "Ds", m68000up | mcf5200 }, +{"extbl", one(0044700), one(0177770), "Ds", m68020up | cpu32 | mcf5200 }, /* float stuff starts here */ @@ -784,12 +784,12 @@ const struct m68k_opcode m68k_opcodes[] = {"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+sl3", mfloat }, {"fmovemx", two(0xF018, 0xD000), two(0xF1F8, 0xFF00), "Id+s#3", mfloat }, +{"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8%s", mfloat }, {"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "IiL8~s", mfloat }, -{"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Ii#8~s", mfloat }, -{"fmoveml", two(0xF000, 0xA000), two(0xF1C0, 0xE3FF), "Iis8~s", mfloat }, -{"fmoveml", two(0xF000, 0x8000), two(0xF2C0, 0xE3FF), "Ii*sL8", mfloat }, -{"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*s#8", mfloat }, -{"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*ss8", mfloat }, +/* FIXME: In the next instruction, we should only permit %dn if the + target is a single register. We should only permit %an if the + target is a single %fpiar. */ +{"fmoveml", two(0xF000, 0x8000), two(0xF1C0, 0xE3FF), "Ii*lL8", mfloat }, {"fmovem", two(0xF020, 0xE000), two(0xF1F8, 0xFF00), "IdL3-s", mfloat }, {"fmovem", two(0xF000, 0xF000), two(0xF1C0, 0xFF00), "Idl3&s", mfloat }, @@ -1184,96 +1184,106 @@ const struct m68k_opcode m68k_opcodes[] = {"ftwotoxx", two(0xF000, 0x4811), two(0xF1C0, 0xFC7F), "Ii;xF7", mfloat }, {"ftwotoxx", two(0xF000, 0x0011), two(0xF1C0, 0xE07F), "IiFt", mfloat }, -{"illegal", one(0045374), one(0177777), "", m68000up }, +{"halt", one(0045310), one(0177777), "", mcf5200 }, -{"jmp", one(0047300), one(0177700), "!s", m68000up }, +{"illegal", one(0045374), one(0177777), "", m68000up }, -{"jra", one(0060000), one(0177400), "Bg", m68000up }, -{"jra", one(0047300), one(0177700), "!s", m68000up }, +{"jmp", one(0047300), one(0177700), "!s", m68000up | mcf5200 }, -{"jsr", one(0047200), one(0177700), "!s", m68000up }, +{"jra", one(0060000), one(0177400), "Bg", m68000up | mcf5200 }, +{"jra", one(0047300), one(0177700), "!s", m68000up | mcf5200 }, -{"jbsr", one(0060400), one(0177400), "Bg", m68000up }, -{"jbsr", one(0047200), one(0177700), "!s", m68000up }, +{"jsr", one(0047200), one(0177700), "!s", m68000up | mcf5200 }, -{"lea", one(0040700), one(0170700), "!sAd", m68000up }, +{"jbsr", one(0060400), one(0177400), "Bg", m68000up | mcf5200 }, +{"jbsr", one(0047200), one(0177700), "!s", m68000up | mcf5200 }, + +{"lea", one(0040700), one(0170700), "!sAd", m68000up | mcf5200 }, {"lpstop", two(0174000,0000700), two(0177777,0177777), "", cpu32|m68060 }, -{"linkw", one(0047120), one(0177770), "As#w", m68000up }, +{"linkw", one(0047120), one(0177770), "As#w", m68000up | mcf5200 }, {"linkl", one(0044010), one(0177770), "As#l", m68020up | cpu32 }, -{"link", one(0047120), one(0177770), "As#W", m68000up }, +{"link", one(0047120), one(0177770), "As#W", m68000up | mcf5200 }, {"link", one(0044010), one(0177770), "As#l", m68020up | cpu32 }, -{"lslb", one(0160410), one(0170770), "QdDs", m68000up }, -{"lslb", one(0160450), one(0170770), "DdDs", m68000up }, -{"lslw", one(0160510), one(0170770), "QdDs", m68000up }, -{"lslw", one(0160550), one(0170770), "DdDs", m68000up }, -{"lslw", one(0161700), one(0177700), "~s", m68000up }, -{"lsll", one(0160610), one(0170770), "QdDs", m68000up }, -{"lsll", one(0160650), one(0170770), "DdDs", m68000up }, - -{"lsrb", one(0160010), one(0170770), "QdDs", m68000up }, -{"lsrb", one(0160050), one(0170770), "DdDs", m68000up }, -{"lsrw", one(0160110), one(0170770), "QdDs", m68000up }, -{"lsrw", one(0160150), one(0170770), "DdDs", m68000up }, -{"lsrw", one(0161300), one(0177700), "~s", m68000up }, -{"lsrl", one(0160210), one(0170770), "QdDs", m68000up }, -{"lsrl", one(0160250), one(0170770), "DdDs", m68000up }, - -{"moveal", one(0020100), one(0170700), "*lAd", m68000up }, -{"moveaw", one(0030100), one(0170700), "*wAd", m68000up }, - -{"movec", one(0047173), one(0177777), "R1Jj", m68010up }, -{"movec", one(0047173), one(0177777), "R1#j", m68010up }, -{"movec", one(0047172), one(0177777), "JjR1", m68010up }, -{"movec", one(0047172), one(0177777), "#jR1", m68010up }, - -{"movemw", one(0044200), one(0177700), "Lw&s", m68000up }, -{"movemw", one(0044240), one(0177770), "lw-s", m68000up }, -{"movemw", one(0046200), one(0177700), "!sLw", m68000up }, -{"movemw", one(0046230), one(0177770), "+sLw", m68000up }, -{"movemw", one(0044200), one(0177700), "#w&s", m68000up }, -{"movemw", one(0044240), one(0177770), "#w-s", m68000up }, -{"movemw", one(0046200), one(0177700), "!s#w", m68000up }, -{"movemw", one(0046230), one(0177770), "+s#w", m68000up }, -{"moveml", one(0044300), one(0177700), "Lw&s", m68000up }, -{"moveml", one(0044340), one(0177770), "lw-s", m68000up }, -{"moveml", one(0046300), one(0177700), "!sLw", m68000up }, -{"moveml", one(0046330), one(0177770), "+sLw", m68000up }, -{"moveml", one(0044300), one(0177700), "#w&s", m68000up }, -{"moveml", one(0044340), one(0177770), "#w-s", m68000up }, -{"moveml", one(0046300), one(0177700), "!s#w", m68000up }, -{"moveml", one(0046330), one(0177770), "+s#w", m68000up }, - -{"movepw", one(0000410), one(0170770), "dsDd", m68000up }, -{"movepw", one(0000610), one(0170770), "Ddds", m68000up }, -{"movepl", one(0000510), one(0170770), "dsDd", m68000up }, -{"movepl", one(0000710), one(0170770), "Ddds", m68000up }, - -{"moveq", one(0070000), one(0170400), "MsDd", m68000up }, +{"lslb", one(0160410), one(0170770), "QdDs", m68000up }, +{"lslb", one(0160450), one(0170770), "DdDs", m68000up }, +{"lslw", one(0160510), one(0170770), "QdDs", m68000up }, +{"lslw", one(0160550), one(0170770), "DdDs", m68000up }, +{"lslw", one(0161700), one(0177700), "~s", m68000up }, +{"lsll", one(0160610), one(0170770), "QdDs", m68000up | mcf5200 }, +{"lsll", one(0160650), one(0170770), "DdDs", m68000up | mcf5200 }, + +{"lsrb", one(0160010), one(0170770), "QdDs", m68000up }, +{"lsrb", one(0160050), one(0170770), "DdDs", m68000up }, +{"lsrw", one(0160110), one(0170770), "QdDs", m68000up }, +{"lsrw", one(0160150), one(0170770), "DdDs", m68000up }, +{"lsrw", one(0161300), one(0177700), "~s", m68000up }, +{"lsrl", one(0160210), one(0170770), "QdDs", m68000up | mcf5200 }, +{"lsrl", one(0160250), one(0170770), "DdDs", m68000up | mcf5200 }, + +{"moveal", one(0020100), one(0170700), "*lAd", m68000up | mcf5200 }, +{"moveaw", one(0030100), one(0170700), "*wAd", m68000up | mcf5200 }, + +{"movec", one(0047173), one(0177777), "R1Jj", m68010up | mcf5200 }, +{"movec", one(0047173), one(0177777), "R1#j", m68010up | mcf5200 }, +{"movec", one(0047172), one(0177777), "JjR1", m68010up }, +{"movec", one(0047172), one(0177777), "#jR1", m68010up }, + +{"movemw", one(0044200), one(0177700), "Lw&s", m68000up }, +{"movemw", one(0044240), one(0177770), "lw-s", m68000up }, +{"movemw", one(0046200), one(0177700), "!sLw", m68000up }, +{"movemw", one(0046230), one(0177770), "+sLw", m68000up }, +{"movemw", one(0044200), one(0177700), "#w&s", m68000up }, +{"movemw", one(0044240), one(0177770), "#w-s", m68000up }, +{"movemw", one(0046200), one(0177700), "!s#w", m68000up }, +{"movemw", one(0046230), one(0177770), "+s#w", m68000up }, +{"moveml", one(0044300), one(0177700), "Lw&s", m68000up | mcf5200 }, +{"moveml", one(0044340), one(0177770), "lw-s", m68000up | mcf5200 }, +{"moveml", one(0046300), one(0177700), "!sLw", m68000up | mcf5200 }, +{"moveml", one(0046330), one(0177770), "+sLw", m68000up | mcf5200 }, +{"moveml", one(0044300), one(0177700), "#w&s", m68000up | mcf5200 }, +{"moveml", one(0044340), one(0177770), "#w-s", m68000up | mcf5200 }, +{"moveml", one(0046300), one(0177700), "!s#w", m68000up | mcf5200 }, +{"moveml", one(0046330), one(0177770), "+s#w", m68000up | mcf5200 }, + +{"movepw", one(0000410), one(0170770), "dsDd", m68000up }, +{"movepw", one(0000610), one(0170770), "Ddds", m68000up }, +{"movepl", one(0000510), one(0170770), "dsDd", m68000up }, +{"movepl", one(0000710), one(0170770), "Ddds", m68000up }, + +{"moveq", one(0070000), one(0170400), "MsDd", m68000up | mcf5200 }, /* The move opcode can generate the movea and moveq instructions. */ -{"moveb", one(0010000), one(0170000), ";b$d", m68000up }, -{"movew", one(0030000), one(0170000), "*w$d", m68000up }, -{"movew", one(0030100), one(0170700), "*wAd", m68000up }, -{"movew", one(0040300), one(0177700), "Ss$s", m68000up }, -{"movew", one(0041300), one(0177700), "Cs$s", m68010up }, -{"movew", one(0042300), one(0177700), ";wCd", m68000up }, -{"movew", one(0043300), one(0177700), ";wSd", m68000up }, -{"movel", one(0070000), one(0170400), "MsDd", m68000up }, -{"movel", one(0020000), one(0170000), "*l$d", m68000up }, -{"movel", one(0020100), one(0170700), "*lAd", m68000up }, -{"movel", one(0047140), one(0177770), "AsUd", m68000up }, -{"movel", one(0047150), one(0177770), "UdAs", m68000up }, -{"move", one(0030000), one(0170000), "*w$d", m68000up }, -{"move", one(0030100), one(0170700), "*wAd", m68000up }, -{"move", one(0040300), one(0177700), "Ss$s", m68000up }, -{"move", one(0041300), one(0177700), "Cs$s", m68010up }, -{"move", one(0042300), one(0177700), ";wCd", m68000up }, -{"move", one(0043300), one(0177700), ";wSd", m68000up }, -{"move", one(0047140), one(0177770), "AsUd", m68000up }, -{"move", one(0047150), one(0177770), "UdAs", m68000up }, +{"moveb", one(0010000), one(0170000), ";b$d", m68000up | mcf5200 }, +{"movew", one(0030000), one(0170000), "*w$d", m68000up | mcf5200 }, +{"movew", one(0030100), one(0170700), "*wAd", m68000up | mcf5200 }, + +{"movew", one(0040300), one(0177700), "SsDs", mcf5200 }, +{"movew", one(0041300), one(0177700), "CsDs", mcf5200 }, +{"movew", one(0040300), one(0177700), "Ss$s", m68000up }, +{"movew", one(0041300), one(0177700), "Cs$s", m68010up }, +{"movew", one(0042300), one(0177700), ";wCd", m68000up | mcf5200 }, +{"movew", one(0043300), one(0177700), ";wSd", m68000up | mcf5200 }, + +{"movel", one(0070000), one(0170400), "MsDd", m68000up | mcf5200 }, +{"movel", one(0020000), one(0170000), "*l$d", m68000up | mcf5200 }, +{"movel", one(0020100), one(0170700), "*lAd", m68000up | mcf5200 }, +{"movel", one(0047140), one(0177770), "AsUd", m68000up | mcf5200 }, +{"movel", one(0047150), one(0177770), "UdAs", m68000up | mcf5200 }, +{"move", one(0030000), one(0170000), "*w$d", m68000up | mcf5200 }, +{"move", one(0030100), one(0170700), "*wAd", m68000up | mcf5200 }, + +{"move", one(0040300), one(0177700), "SsDs", mcf5200 }, +{"move", one(0041300), one(0177700), "CsDs", mcf5200 }, +{"move", one(0040300), one(0177700), "Ss$s", m68000up }, +{"move", one(0041300), one(0177700), "Cs$s", m68010up }, +{"move", one(0042300), one(0177700), ";wCd", m68000up | mcf5200 }, +{"move", one(0043300), one(0177700), ";wSd", m68000up | mcf5200 }, + +{"move", one(0047140), one(0177770), "AsUd", m68000up | mcf5200 }, +{"move", one(0047150), one(0177770), "UdAs", m68000up | mcf5200 }, {"movesb", two(0007000, 0), two(0177700, 07777), "~sR1", m68010up }, {"movesb", two(0007000, 04000), two(0177700, 07777), "R1~s", m68010up }, @@ -1288,59 +1298,59 @@ const struct m68k_opcode m68k_opcodes[] = {"move16", one(0xf610), one(0xfff8), "as_L", m68040up }, {"move16", one(0xf618), one(0xfff8), "_Las", m68040up }, -{"mulsw", one(0140700), one(0170700), ";wDd", m68000up }, -{"mulsl", two(0046000,004000), two(0177700,0107770), ";lD1", m68020up|cpu32 }, -{"mulsl", two(0046000,006000), two(0177700,0107770), ";lD3D1",m68020up|cpu32 }, +{"mulsw", one(0140700), one(0170700), ";wDd", m68000up|mcf5200 }, +{"mulsl", two(0046000,004000), two(0177700,0107770), ";lD1", m68020up|cpu32|mcf5200 }, +{"mulsl", two(0046000,006000), two(0177700,0107770), ";lD3D1",m68020up|cpu32 }, -{"muluw", one(0140300), one(0170700), ";wDd", m68000up }, -{"mulul", two(0046000,000000), two(0177700,0107770), ";lD1", m68020up|cpu32 }, -{"mulul", two(0046000,002000), two(0177700,0107770), ";lD3D1",m68020up|cpu32 }, +{"muluw", one(0140300), one(0170700), ";wDd", m68000up|mcf5200 }, +{"mulul", two(0046000,000000), two(0177700,0107770), ";lD1", m68020up|cpu32|mcf5200 }, +{"mulul", two(0046000,002000), two(0177700,0107770), ";lD3D1",m68020up|cpu32 }, -{"nbcd", one(0044000), one(0177700), "$s", m68000up }, +{"nbcd", one(0044000), one(0177700), "$s", m68000up }, -{"negb", one(0042000), one(0177700), "$s", m68000up }, -{"negw", one(0042100), one(0177700), "$s", m68000up }, -{"negl", one(0042200), one(0177700), "$s", m68000up }, +{"negb", one(0042000), one(0177700), "$s", m68000up }, +{"negw", one(0042100), one(0177700), "$s", m68000up }, +{"negl", one(0042200), one(0177700), "$s", m68000up | mcf5200}, -{"negxb", one(0040000), one(0177700), "$s", m68000up }, -{"negxw", one(0040100), one(0177700), "$s", m68000up }, -{"negxl", one(0040200), one(0177700), "$s", m68000up }, +{"negxb", one(0040000), one(0177700), "$s", m68000up }, +{"negxw", one(0040100), one(0177700), "$s", m68000up }, +{"negxl", one(0040200), one(0177700), "$s", m68000up | mcf5200}, -{"nop", one(0047161), one(0177777), "", m68000up }, +{"nop", one(0047161), one(0177777), "", m68000up | mcf5200}, -{"notb", one(0043000), one(0177700), "$s", m68000up }, -{"notw", one(0043100), one(0177700), "$s", m68000up }, -{"notl", one(0043200), one(0177700), "$s", m68000up }, +{"notb", one(0043000), one(0177700), "$s", m68000up }, +{"notw", one(0043100), one(0177700), "$s", m68000up }, +{"notl", one(0043200), one(0177700), "$s", m68000up | mcf5200}, -{"orib", one(0000000), one(0177700), "#b$s", m68000up }, -{"orib", one(0000074), one(0177777), "#bCs", m68000up }, -{"oriw", one(0000100), one(0177700), "#w$s", m68000up }, -{"oriw", one(0000174), one(0177777), "#wSs", m68000up }, -{"oril", one(0000200), one(0177700), "#l$s", m68000up }, -{"ori", one(0000074), one(0177777), "#bCs", m68000up }, -{"ori", one(0000100), one(0177700), "#w$s", m68000up }, -{"ori", one(0000174), one(0177777), "#wSs", m68000up }, +{"orib", one(0000000), one(0177700), "#b$s", m68000up }, +{"orib", one(0000074), one(0177777), "#bCs", m68000up }, +{"oriw", one(0000100), one(0177700), "#w$s", m68000up }, +{"oriw", one(0000174), one(0177777), "#wSs", m68000up }, +{"oril", one(0000200), one(0177700), "#l$s", m68000up | mcf5200 }, +{"ori", one(0000074), one(0177777), "#bCs", m68000up }, +{"ori", one(0000100), one(0177700), "#w$s", m68000up }, +{"ori", one(0000174), one(0177777), "#wSs", m68000up }, /* The or opcode can generate the ori instruction. */ -{"orb", one(0000000), one(0177700), "#b$s", m68000up }, -{"orb", one(0000074), one(0177777), "#bCs", m68000up }, -{"orb", one(0100000), one(0170700), ";bDd", m68000up }, -{"orb", one(0100400), one(0170700), "Dd~s", m68000up }, -{"orw", one(0000100), one(0177700), "#w$s", m68000up }, -{"orw", one(0000174), one(0177777), "#wSs", m68000up }, -{"orw", one(0100100), one(0170700), ";wDd", m68000up }, -{"orw", one(0100500), one(0170700), "Dd~s", m68000up }, -{"orl", one(0000200), one(0177700), "#l$s", m68000up }, -{"orl", one(0100200), one(0170700), ";lDd", m68000up }, -{"orl", one(0100600), one(0170700), "Dd~s", m68000up }, -{"or", one(0000074), one(0177777), "#bCs", m68000up }, -{"or", one(0000100), one(0177700), "#w$s", m68000up }, -{"or", one(0000174), one(0177777), "#wSs", m68000up }, -{"or", one(0100100), one(0170700), ";wDd", m68000up }, -{"or", one(0100500), one(0170700), "Dd~s", m68000up }, - -{"pack", one(0100500), one(0170770), "DsDd#w", m68020up }, -{"pack", one(0100510), one(0170770), "-s-d#w", m68020up }, +{"orb", one(0000000), one(0177700), "#b$s", m68000up }, +{"orb", one(0000074), one(0177777), "#bCs", m68000up }, +{"orb", one(0100000), one(0170700), ";bDd", m68000up }, +{"orb", one(0100400), one(0170700), "Dd~s", m68000up }, +{"orw", one(0000100), one(0177700), "#w$s", m68000up }, +{"orw", one(0000174), one(0177777), "#wSs", m68000up }, +{"orw", one(0100100), one(0170700), ";wDd", m68000up }, +{"orw", one(0100500), one(0170700), "Dd~s", m68000up }, +{"orl", one(0000200), one(0177700), "#l$s", m68000up | mcf5200 }, +{"orl", one(0100200), one(0170700), ";lDd", m68000up | mcf5200 }, +{"orl", one(0100600), one(0170700), "Dd~s", m68000up | mcf5200 }, +{"or", one(0000074), one(0177777), "#bCs", m68000up }, +{"or", one(0000100), one(0177700), "#w$s", m68000up }, +{"or", one(0000174), one(0177777), "#wSs", m68000up }, +{"or", one(0100100), one(0170700), ";wDd", m68000up }, +{"or", one(0100500), one(0170700), "Dd~s", m68000up }, + +{"pack", one(0100500), one(0170770), "DsDd#w", m68020up }, +{"pack", one(0100510), one(0170770), "-s-d#w", m68020up }, {"pbac", one(0xf087), one(0xffbf), "Bc", m68851 }, {"pbacw", one(0xf087), one(0xffff), "BW", m68851 }, @@ -1392,7 +1402,7 @@ const struct m68k_opcode m68k_opcodes[] = {"pdbwc", two(0xf048, 0x0009), two(0xfff8, 0xffff), "DsBw", m68851 }, {"pdbws", two(0xf048, 0x0008), two(0xfff8, 0xffff), "DsBw", m68851 }, -{"pea", one(0044100), one(0177700), "!s", m68000up }, +{"pea", one(0044100), one(0177700), "!s", m68000up | mcf5200 }, {"pflusha", two(0xf000,0x2400), two(0xffff,0xffff), "", m68030 | m68851 }, {"pflusha", one(0xf518), one(0xfff8), "", m68040up }, @@ -1552,6 +1562,8 @@ const struct m68k_opcode m68k_opcodes[] = {"ptrapwsl", two(0xf07b, 0x0008), two(0xffff, 0xffff), "#l", m68851 }, {"ptrapws", two(0xf07c, 0x0008), two(0xffff, 0xffff), "", m68851 }, +{"pulse", one(0045314), one(0177777), "", mcf5200 }, + {"pvalid", two(0xf000, 0x2800), two(0xffc0, 0xffff), "Vs&s", m68851 }, {"pvalid", two(0xf000, 0x2c00), two(0xffc0, 0xfff8), "A3&s", m68851 }, @@ -1591,71 +1603,71 @@ const struct m68k_opcode m68k_opcodes[] = {"rtd", one(0047164), one(0177777), "#w", m68010up }, -{"rte", one(0047163), one(0177777), "", m68000up }, +{"rte", one(0047163), one(0177777), "", m68000up | mcf5200 }, {"rtm", one(0003300), one(0177760), "Rs", m68020 }, {"rtr", one(0047167), one(0177777), "", m68000up }, -{"rts", one(0047165), one(0177777), "", m68000up }, +{"rts", one(0047165), one(0177777), "", m68000up | mcf5200 }, {"sbcd", one(0100400), one(0170770), "DsDd", m68000up }, {"sbcd", one(0100410), one(0170770), "-s-d", m68000up }, -{"scc", one(0052300), one(0177700), "$s", m68000up }, -{"scs", one(0052700), one(0177700), "$s", m68000up }, -{"seq", one(0053700), one(0177700), "$s", m68000up }, -{"sf", one(0050700), one(0177700), "$s", m68000up }, -{"sge", one(0056300), one(0177700), "$s", m68000up }, -{"sgt", one(0057300), one(0177700), "$s", m68000up }, -{"shi", one(0051300), one(0177700), "$s", m68000up }, -{"sle", one(0057700), one(0177700), "$s", m68000up }, -{"sls", one(0051700), one(0177700), "$s", m68000up }, -{"slt", one(0056700), one(0177700), "$s", m68000up }, -{"smi", one(0055700), one(0177700), "$s", m68000up }, -{"sne", one(0053300), one(0177700), "$s", m68000up }, -{"spl", one(0055300), one(0177700), "$s", m68000up }, -{"st", one(0050300), one(0177700), "$s", m68000up }, -{"svc", one(0054300), one(0177700), "$s", m68000up }, -{"svs", one(0054700), one(0177700), "$s", m68000up }, - -{"stop", one(0047162), one(0177777), "#w", m68000up }, - -{"subal", one(0110700), one(0170700), "*lAd", m68000up }, -{"subaw", one(0110300), one(0170700), "*wAd", m68000up }, - -{"subib", one(0002000), one(0177700), "#b$s", m68000up }, -{"subiw", one(0002100), one(0177700), "#w$s", m68000up }, -{"subil", one(0002200), one(0177700), "#l$s", m68000up }, - -{"subqb", one(0050400), one(0170700), "Qd%s", m68000up }, -{"subqw", one(0050500), one(0170700), "Qd%s", m68000up }, -{"subql", one(0050600), one(0170700), "Qd%s", m68000up }, +{"scc", one(0052300), one(0177700), "$s", m68000up | mcf5200 }, +{"scs", one(0052700), one(0177700), "$s", m68000up | mcf5200 }, +{"seq", one(0053700), one(0177700), "$s", m68000up | mcf5200 }, +{"sf", one(0050700), one(0177700), "$s", m68000up | mcf5200 }, +{"sge", one(0056300), one(0177700), "$s", m68000up | mcf5200 }, +{"sgt", one(0057300), one(0177700), "$s", m68000up | mcf5200 }, +{"shi", one(0051300), one(0177700), "$s", m68000up | mcf5200 }, +{"sle", one(0057700), one(0177700), "$s", m68000up | mcf5200 }, +{"sls", one(0051700), one(0177700), "$s", m68000up | mcf5200 }, +{"slt", one(0056700), one(0177700), "$s", m68000up | mcf5200 }, +{"smi", one(0055700), one(0177700), "$s", m68000up | mcf5200 }, +{"sne", one(0053300), one(0177700), "$s", m68000up | mcf5200 }, +{"spl", one(0055300), one(0177700), "$s", m68000up | mcf5200 }, +{"st", one(0050300), one(0177700), "$s", m68000up | mcf5200 }, +{"svc", one(0054300), one(0177700), "$s", m68000up | mcf5200 }, +{"svs", one(0054700), one(0177700), "$s", m68000up | mcf5200 }, + +{"stop", one(0047162), one(0177777), "#w", m68000up | mcf5200 }, + +{"subal", one(0110700), one(0170700), "*lAd", m68000up | mcf5200 }, +{"subaw", one(0110300), one(0170700), "*wAd", m68000up }, + +{"subib", one(0002000), one(0177700), "#b$s", m68000up }, +{"subiw", one(0002100), one(0177700), "#w$s", m68000up }, +{"subil", one(0002200), one(0177700), "#l$s", m68000up | mcf5200 }, + +{"subqb", one(0050400), one(0170700), "Qd%s", m68000up }, +{"subqw", one(0050500), one(0170700), "Qd%s", m68000up }, +{"subql", one(0050600), one(0170700), "Qd%s", m68000up | mcf5200 }, /* The sub opcode can generate the suba, subi, and subq instructions. */ -{"subb", one(0050400), one(0170700), "Qd%s", m68000up }, -{"subb", one(0002000), one(0177700), "#b$s", m68000up }, -{"subb", one(0110000), one(0170700), ";bDd", m68000up }, -{"subb", one(0110400), one(0170700), "Dd~s", m68000up }, -{"subw", one(0050500), one(0170700), "Qd%s", m68000up }, -{"subw", one(0002100), one(0177700), "#w$s", m68000up }, -{"subw", one(0110300), one(0170700), "*wAd", m68000up }, -{"subw", one(0110100), one(0170700), "*wDd", m68000up }, -{"subw", one(0110500), one(0170700), "Dd~s", m68000up }, -{"subl", one(0050600), one(0170700), "Qd%s", m68000up }, -{"subl", one(0002200), one(0177700), "#l$s", m68000up }, -{"subl", one(0110700), one(0170700), "*lAd", m68000up }, -{"subl", one(0110200), one(0170700), "*lDd", m68000up }, -{"subl", one(0110600), one(0170700), "Dd~s", m68000up }, - -{"subxb", one(0110400), one(0170770), "DsDd", m68000up }, -{"subxb", one(0110410), one(0170770), "-s-d", m68000up }, -{"subxw", one(0110500), one(0170770), "DsDd", m68000up }, -{"subxw", one(0110510), one(0170770), "-s-d", m68000up }, -{"subxl", one(0110600), one(0170770), "DsDd", m68000up }, -{"subxl", one(0110610), one(0170770), "-s-d", m68000up }, - -{"swap", one(0044100), one(0177770), "Ds", m68000up }, +{"subb", one(0050400), one(0170700), "Qd%s", m68000up }, +{"subb", one(0002000), one(0177700), "#b$s", m68000up }, +{"subb", one(0110000), one(0170700), ";bDd", m68000up }, +{"subb", one(0110400), one(0170700), "Dd~s", m68000up }, +{"subw", one(0050500), one(0170700), "Qd%s", m68000up }, +{"subw", one(0002100), one(0177700), "#w$s", m68000up }, +{"subw", one(0110300), one(0170700), "*wAd", m68000up }, +{"subw", one(0110100), one(0170700), "*wDd", m68000up }, +{"subw", one(0110500), one(0170700), "Dd~s", m68000up }, +{"subl", one(0050600), one(0170700), "Qd%s", m68000up | mcf5200 }, +{"subl", one(0002200), one(0177700), "#l$s", m68000up | mcf5200 }, +{"subl", one(0110700), one(0170700), "*lAd", m68000up | mcf5200 }, +{"subl", one(0110200), one(0170700), "*lDd", m68000up | mcf5200 }, +{"subl", one(0110600), one(0170700), "Dd~s", m68000up | mcf5200 }, + +{"subxb", one(0110400), one(0170770), "DsDd", m68000up }, +{"subxb", one(0110410), one(0170770), "-s-d", m68000up }, +{"subxw", one(0110500), one(0170770), "DsDd", m68000up }, +{"subxw", one(0110510), one(0170770), "-s-d", m68000up }, +{"subxl", one(0110600), one(0170770), "DsDd", m68000up | mcf5200 }, +{"subxl", one(0110610), one(0170770), "-s-d", m68000up | mcf5200 }, + +{"swap", one(0044100), one(0177770), "Ds", m68000up | mcf5200 }, {"tas", one(0045300), one(0177700), "$s", m68000up }, @@ -1671,69 +1683,74 @@ TBL("tblsnb", "tblsnw", "tblsnl", 1, 0), TBL("tblub", "tbluw", "tblul", 0, 1), TBL("tblunb", "tblunw", "tblunl", 0, 0), -{"trap", one(0047100), one(0177760), "Ts", m68000up }, - -{"trapcc", one(0052374), one(0177777), "", m68020up | cpu32 }, -{"trapcs", one(0052774), one(0177777), "", m68020up | cpu32 }, -{"trapeq", one(0053774), one(0177777), "", m68020up | cpu32 }, -{"trapf", one(0050774), one(0177777), "", m68020up | cpu32 }, -{"trapge", one(0056374), one(0177777), "", m68020up | cpu32 }, -{"trapgt", one(0057374), one(0177777), "", m68020up | cpu32 }, -{"traphi", one(0051374), one(0177777), "", m68020up | cpu32 }, -{"traple", one(0057774), one(0177777), "", m68020up | cpu32 }, -{"trapls", one(0051774), one(0177777), "", m68020up | cpu32 }, -{"traplt", one(0056774), one(0177777), "", m68020up | cpu32 }, -{"trapmi", one(0055774), one(0177777), "", m68020up | cpu32 }, -{"trapne", one(0053374), one(0177777), "", m68020up | cpu32 }, -{"trappl", one(0055374), one(0177777), "", m68020up | cpu32 }, -{"trapt", one(0050374), one(0177777), "", m68020up | cpu32 }, -{"trapvc", one(0054374), one(0177777), "", m68020up | cpu32 }, -{"trapvs", one(0054774), one(0177777), "", m68020up | cpu32 }, - -{"trapccw", one(0052372), one(0177777), "#w", m68020up | cpu32 }, -{"trapcsw", one(0052772), one(0177777), "#w", m68020up | cpu32 }, -{"trapeqw", one(0053772), one(0177777), "#w", m68020up | cpu32 }, -{"trapfw", one(0050772), one(0177777), "#w", m68020up | cpu32 }, -{"trapgew", one(0056372), one(0177777), "#w", m68020up | cpu32 }, -{"trapgtw", one(0057372), one(0177777), "#w", m68020up | cpu32 }, -{"traphiw", one(0051372), one(0177777), "#w", m68020up | cpu32 }, -{"traplew", one(0057772), one(0177777), "#w", m68020up | cpu32 }, -{"traplsw", one(0051772), one(0177777), "#w", m68020up | cpu32 }, -{"trapltw", one(0056772), one(0177777), "#w", m68020up | cpu32 }, -{"trapmiw", one(0055772), one(0177777), "#w", m68020up | cpu32 }, -{"trapnew", one(0053372), one(0177777), "#w", m68020up | cpu32 }, -{"trapplw", one(0055372), one(0177777), "#w", m68020up | cpu32 }, -{"traptw", one(0050372), one(0177777), "#w", m68020up | cpu32 }, -{"trapvcw", one(0054372), one(0177777), "#w", m68020up | cpu32 }, -{"trapvsw", one(0054772), one(0177777), "#w", m68020up | cpu32 }, - -{"trapccl", one(0052373), one(0177777), "#l", m68020up | cpu32 }, -{"trapcsl", one(0052773), one(0177777), "#l", m68020up | cpu32 }, -{"trapeql", one(0053773), one(0177777), "#l", m68020up | cpu32 }, -{"trapfl", one(0050773), one(0177777), "#l", m68020up | cpu32 }, -{"trapgel", one(0056373), one(0177777), "#l", m68020up | cpu32 }, -{"trapgtl", one(0057373), one(0177777), "#l", m68020up | cpu32 }, -{"traphil", one(0051373), one(0177777), "#l", m68020up | cpu32 }, -{"traplel", one(0057773), one(0177777), "#l", m68020up | cpu32 }, -{"traplsl", one(0051773), one(0177777), "#l", m68020up | cpu32 }, -{"trapltl", one(0056773), one(0177777), "#l", m68020up | cpu32 }, -{"trapmil", one(0055773), one(0177777), "#l", m68020up | cpu32 }, -{"trapnel", one(0053373), one(0177777), "#l", m68020up | cpu32 }, -{"trappll", one(0055373), one(0177777), "#l", m68020up | cpu32 }, -{"traptl", one(0050373), one(0177777), "#l", m68020up | cpu32 }, -{"trapvcl", one(0054373), one(0177777), "#l", m68020up | cpu32 }, -{"trapvsl", one(0054773), one(0177777), "#l", m68020up | cpu32 }, - -{"trapv", one(0047166), one(0177777), "", m68000up }, - -{"tstb", one(0045000), one(0177700), ";b", m68000up }, -{"tstw", one(0045100), one(0177700), "*w", m68000up }, -{"tstl", one(0045200), one(0177700), "*l", m68000up }, - -{"unlk", one(0047130), one(0177770), "As", m68000up }, - -{"unpk", one(0100600), one(0170770), "DsDd#w", m68020up }, -{"unpk", one(0100610), one(0170770), "-s-d#w", m68020up }, +{"trap", one(0047100), one(0177760), "Ts", m68000up | mcf5200 }, + +{"trapcc", one(0052374), one(0177777), "", m68020up | cpu32 }, +{"trapcs", one(0052774), one(0177777), "", m68020up | cpu32 }, +{"trapeq", one(0053774), one(0177777), "", m68020up | cpu32 }, +{"trapf", one(0050774), one(0177777), "", m68020up | cpu32 | mcf5200 }, +{"trapge", one(0056374), one(0177777), "", m68020up | cpu32 }, +{"trapgt", one(0057374), one(0177777), "", m68020up | cpu32 }, +{"traphi", one(0051374), one(0177777), "", m68020up | cpu32 }, +{"traple", one(0057774), one(0177777), "", m68020up | cpu32 }, +{"trapls", one(0051774), one(0177777), "", m68020up | cpu32 }, +{"traplt", one(0056774), one(0177777), "", m68020up | cpu32 }, +{"trapmi", one(0055774), one(0177777), "", m68020up | cpu32 }, +{"trapne", one(0053374), one(0177777), "", m68020up | cpu32 }, +{"trappl", one(0055374), one(0177777), "", m68020up | cpu32 }, +{"trapt", one(0050374), one(0177777), "", m68020up | cpu32 }, +{"trapvc", one(0054374), one(0177777), "", m68020up | cpu32 }, +{"trapvs", one(0054774), one(0177777), "", m68020up | cpu32 }, + +{"trapccw", one(0052372), one(0177777), "#w", m68020up | cpu32 }, +{"trapcsw", one(0052772), one(0177777), "#w", m68020up | cpu32 }, +{"trapeqw", one(0053772), one(0177777), "#w", m68020up | cpu32 }, +{"trapfw", one(0050772), one(0177777), "#w", m68020up | cpu32 | mcf5200}, +{"trapgew", one(0056372), one(0177777), "#w", m68020up | cpu32 }, +{"trapgtw", one(0057372), one(0177777), "#w", m68020up | cpu32 }, +{"traphiw", one(0051372), one(0177777), "#w", m68020up | cpu32 }, +{"traplew", one(0057772), one(0177777), "#w", m68020up | cpu32 }, +{"traplsw", one(0051772), one(0177777), "#w", m68020up | cpu32 }, +{"trapltw", one(0056772), one(0177777), "#w", m68020up | cpu32 }, +{"trapmiw", one(0055772), one(0177777), "#w", m68020up | cpu32 }, +{"trapnew", one(0053372), one(0177777), "#w", m68020up | cpu32 }, +{"trapplw", one(0055372), one(0177777), "#w", m68020up | cpu32 }, +{"traptw", one(0050372), one(0177777), "#w", m68020up | cpu32 }, +{"trapvcw", one(0054372), one(0177777), "#w", m68020up | cpu32 }, +{"trapvsw", one(0054772), one(0177777), "#w", m68020up | cpu32 }, + +{"trapccl", one(0052373), one(0177777), "#l", m68020up | cpu32 }, +{"trapcsl", one(0052773), one(0177777), "#l", m68020up | cpu32 }, +{"trapeql", one(0053773), one(0177777), "#l", m68020up | cpu32 }, +{"trapfl", one(0050773), one(0177777), "#l", m68020up | cpu32 }, +{"trapgel", one(0056373), one(0177777), "#l", m68020up | cpu32 | mcf5200}, +{"trapgtl", one(0057373), one(0177777), "#l", m68020up | cpu32 }, +{"traphil", one(0051373), one(0177777), "#l", m68020up | cpu32 }, +{"traplel", one(0057773), one(0177777), "#l", m68020up | cpu32 }, +{"traplsl", one(0051773), one(0177777), "#l", m68020up | cpu32 }, +{"trapltl", one(0056773), one(0177777), "#l", m68020up | cpu32 }, +{"trapmil", one(0055773), one(0177777), "#l", m68020up | cpu32 }, +{"trapnel", one(0053373), one(0177777), "#l", m68020up | cpu32 }, +{"trappll", one(0055373), one(0177777), "#l", m68020up | cpu32 }, +{"traptl", one(0050373), one(0177777), "#l", m68020up | cpu32 }, +{"trapvcl", one(0054373), one(0177777), "#l", m68020up | cpu32 }, +{"trapvsl", one(0054773), one(0177777), "#l", m68020up | cpu32 }, + +{"trapv", one(0047166), one(0177777), "", m68000up }, + +{"tstb", one(0045000), one(0177700), ";b", m68000up | mcf5200 }, +{"tstw", one(0045100), one(0177700), "*w", m68000up | mcf5200 }, +{"tstl", one(0045200), one(0177700), "*l", m68000up | mcf5200 }, + +{"unlk", one(0047130), one(0177770), "As", m68000up | mcf5200 }, + +{"unpk", one(0100600), one(0170770), "DsDd#w", m68020up }, +{"unpk", one(0100610), one(0170770), "-s-d#w", m68020up }, + +{"wddatab", one(0172000), one(0177700), "~s", mcf5200 }, +{"wddataw", one(0172040), one(0177700), "~s", mcf5200 }, +{"wddatal", one(0172100), one(0177700), "~s", mcf5200 }, + }; const int m68k_numopcodes = sizeof m68k_opcodes / sizeof m68k_opcodes[0]; |