From 0dd19a8f36c712e5ce780ad0cfafdec1c456baa6 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Tue, 26 Nov 1996 00:17:17 +0000 Subject: [PATCH] * m68k-opc.c (m68k-opcodes): Fix many forms of the move instruction for the coldfire. --- opcodes/ChangeLog | 5 ++++- opcodes/m68k-opc.c | 45 +++++++++++++++++++++++++-------------------- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 682ab0f..27ece7a 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,4 +1,7 @@ -Mon Nov 25 14:24:18 1996 J.T. Conklin +Mon Nov 25 16:15:17 1996 J.T. Conklin + + * m68k-opc.c (m68k-opcodes): Fix many forms of the move + instruction for the coldfire. * m68k-opc.c (m68k-opcodes): The coldfire (mcf5200) can only use register operands for immediate arithmetic, not, neg, negx, and diff --git a/opcodes/m68k-opc.c b/opcodes/m68k-opc.c index e9db5cb..3b48850 100644 --- a/opcodes/m68k-opc.c +++ b/opcodes/m68k-opc.c @@ -1266,34 +1266,39 @@ const struct m68k_opcode m68k_opcodes[] = {"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 | mcf5200 }, -{"movew", one(0030000), one(0170000), "*w$d", m68000up | mcf5200 }, -{"movew", one(0030100), one(0170700), "*wAd", m68000up | mcf5200 }, +{"moveb", one(0010000), one(0170000), ";b$d", m68000up }, -{"movew", one(0040300), one(0177770), "SsDs", mcf5200 }, -{"movew", one(0041300), one(0177770), "CsDs", mcf5200 }, +{"movew", one(0030000), one(0170000), "*w%d", m68000up | mcf5200 }, {"movew", one(0040300), one(0177700), "Ss$s", m68000up }, +{"movew", one(0040300), one(0177770), "SsDs", mcf5200 }, {"movew", one(0041300), one(0177700), "Cs$s", m68010up }, -{"movew", one(0042300), one(0177700), ";wCd", m68000up | mcf5200 }, -{"movew", one(0043300), one(0177700), ";wSd", m68000up | mcf5200 }, +{"movew", one(0041300), one(0177770), "CsDs", mcf5200 }, +{"movew", one(0042300), one(0177700), ";wCd", m68000up }, +{"movew", one(0042300), one(0177700), "DsCd", mcf5200 }, +{"movew", one(0042300), one(0177700), "#wCd", mcf5200 }, +{"movew", one(0043300), one(0177700), ";wSd", m68000up }, +{"movew", one(0043300), one(0177700), "DsSd", mcf5200 }, +{"movew", one(0043300), one(0177700), "#wSd", 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 }, +{"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(0040300), one(0177770), "SsDs", mcf5200 }, -{"move", one(0041300), one(0177770), "CsDs", mcf5200 }, +{"move", one(0030000), one(0170000), "*w%d", m68000up | mcf5200 }, {"move", one(0040300), one(0177700), "Ss$s", m68000up }, +{"move", one(0040300), one(0177770), "SsDs", mcf5200 }, {"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 }, +{"move", one(0041300), one(0177770), "CsDs", mcf5200 }, +{"move", one(0042300), one(0177700), ";wCd", m68000up }, +{"move", one(0042300), one(0177700), "DsCd", mcf5200 }, +{"move", one(0042300), one(0177700), "#wCd", mcf5200 }, +{"move", one(0043300), one(0177700), ";wSd", m68000up }, +{"move", one(0043300), one(0177700), "DsSd", mcf5200 }, +{"move", one(0043300), one(0177700), "#wSd", mcf5200 }, + +{"move", one(0047140), one(0177770), "AsUd", m68000up }, +{"move", one(0047150), one(0177770), "UdAs", m68000up }, {"movesb", two(0007000, 0), two(0177700, 07777), "~sR1", m68010up }, {"movesb", two(0007000, 04000), two(0177700, 07777), "R1~s", m68010up }, -- 2.7.4