diff options
author | J.T. Conklin <jtc@acorntoolworks.com> | 1996-11-26 01:54:16 +0000 |
---|---|---|
committer | J.T. Conklin <jtc@acorntoolworks.com> | 1996-11-26 01:54:16 +0000 |
commit | da34628ad851365680c53e19b24ffe14625d76cf (patch) | |
tree | f0e6e9f364ad2463153a37d891811c5b8bd571e9 /opcodes/m68k-opc.c | |
parent | 0dd19a8f36c712e5ce780ad0cfafdec1c456baa6 (diff) | |
download | gdb-da34628ad851365680c53e19b24ffe14625d76cf.zip gdb-da34628ad851365680c53e19b24ffe14625d76cf.tar.gz gdb-da34628ad851365680c53e19b24ffe14625d76cf.tar.bz2 |
* m68k-opc.c (m68k-opcodes): Fix move and movem instructions for
the coldfire.
Diffstat (limited to 'opcodes/m68k-opc.c')
-rw-r--r-- | opcodes/m68k-opc.c | 45 |
1 files changed, 33 insertions, 12 deletions
diff --git a/opcodes/m68k-opc.c b/opcodes/m68k-opc.c index 3b48850..b4b4e87 100644 --- a/opcodes/m68k-opc.c +++ b/opcodes/m68k-opc.c @@ -1249,14 +1249,23 @@ const struct m68k_opcode m68k_opcodes[] = {"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 }, +{"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 }, +/* FIXME: need specifier for mode 2 and 5 to simplify below insn patterns */ +{"moveml", one(0044320), one(0177700), "Lwas", mcf5200 }, +{"moveml", one(0044320), one(0177700), "#was", mcf5200 }, +{"moveml", one(0044350), one(0177700), "Lwds", mcf5200 }, +{"moveml", one(0044350), one(0177700), "#wds", mcf5200 }, +{"moveml", one(0046320), one(0177700), "asLw", mcf5200 }, +{"moveml", one(0046320), one(0177700), "asLw", mcf5200 }, +{"moveml", one(0046350), one(0177700), "dsLw", mcf5200 }, +{"moveml", one(0046350), one(0177770), "ds#w", mcf5200 }, {"movepw", one(0000410), one(0170770), "dsDd", m68000up }, {"movepw", one(0000610), one(0170770), "Ddds", m68000up }, @@ -1267,8 +1276,14 @@ const struct m68k_opcode m68k_opcodes[] = /* 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 | mcf5200 }, +{"moveb", one(0010000), one(0170000), "ms%d", mcf5200 }, +{"moveb", one(0010000), one(0170000), "nspd", mcf5200 }, +{"moveb", one(0010000), one(0170000), "osmd", mcf5200 }, + +{"movew", one(0030000), one(0170000), "*w%d", m68000up }, +{"movew", one(0030000), one(0170000), "ms%d", mcf5200 }, +{"movew", one(0030000), one(0170000), "nspd", mcf5200 }, +{"movew", one(0030000), one(0170000), "osmd", mcf5200 }, {"movew", one(0040300), one(0177700), "Ss$s", m68000up }, {"movew", one(0040300), one(0177770), "SsDs", mcf5200 }, {"movew", one(0041300), one(0177700), "Cs$s", m68010up }, @@ -1280,12 +1295,18 @@ const struct m68k_opcode m68k_opcodes[] = {"movew", one(0043300), one(0177700), "DsSd", mcf5200 }, {"movew", one(0043300), one(0177700), "#wSd", mcf5200 }, +{"movel", one(0020000), one(0170000), "*l%d", m68000up }, +{"movel", one(0020000), one(0170000), "ms%d", mcf5200 }, +{"movel", one(0020000), one(0170000), "nspd", mcf5200 }, +{"movel", one(0020000), one(0170000), "osmd", mcf5200 }, {"movel", one(0070000), one(0170400), "MsDd", m68000up | mcf5200 }, -{"movel", one(0020000), one(0170000), "*l%d", m68000up | mcf5200 }, {"movel", one(0047140), one(0177770), "AsUd", m68000up }, {"movel", one(0047150), one(0177770), "UdAs", m68000up }, -{"move", one(0030000), one(0170000), "*w%d", m68000up | mcf5200 }, +{"move", one(0030000), one(0170000), "*w%d", m68000up }, +{"move", one(0030000), one(0170000), "ms%d", mcf5200 }, +{"move", one(0030000), one(0170000), "nspd", mcf5200 }, +{"move", one(0030000), one(0170000), "osmd", mcf5200 }, {"move", one(0040300), one(0177700), "Ss$s", m68000up }, {"move", one(0040300), one(0177770), "SsDs", mcf5200 }, {"move", one(0041300), one(0177700), "Cs$s", m68010up }, |