X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Fm68k-opc.c;h=f635c6c230edea35d39db0b57d916260090942fb;hb=0c519399349fea4e3a718e5a2b94282e29cfe499;hp=4a9220fbd68714f948f6b0972f079008ea5a4a6b;hpb=071ad7f0e0b2c5d80f3c5ff6c9e7aff19808eae1;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/m68k-opc.c b/opcodes/m68k-opc.c index 4a9220fbd6..f635c6c230 100644 --- a/opcodes/m68k-opc.c +++ b/opcodes/m68k-opc.c @@ -1344,11 +1344,21 @@ const struct m68k_opcode m68k_opcodes[] = {"move16", one(0xf618), one(0xfff8), "_Las", m68040up }, {"mulsw", one(0140700), one(0170700), ";wDd", m68000up|mcf5200 }, -{"mulsl", two(0046000,004000), two(0177700,0107770), ";lD1", m68020up|cpu32|mcf5200 }, +{"mulsl", two(0046000,004000), two(0177700,0107770), ";lD1", m68020up|cpu32 }, +{"mulsl", two(0046000,004000), two(0177700,0107770), "DsD1", mcf5200 }, +{"mulsl", two(0046000,004000), two(0177700,0107770), "asD1", mcf5200 }, +{"mulsl", two(0046000,004000), two(0177700,0107770), "+sD1", mcf5200 }, +{"mulsl", two(0046000,004000), two(0177700,0107770), "-sD1", mcf5200 }, +{"mulsl", two(0046000,004000), two(0177700,0107770), "dsD1", mcf5200 }, {"mulsl", two(0046000,006000), 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,000000), two(0177700,0107770), ";lD1", m68020up|cpu32 }, +{"mulul", two(0046000,000000), two(0177700,0107770), "DsD1", mcf5200 }, +{"mulul", two(0046000,000000), two(0177700,0107770), "asD1", mcf5200 }, +{"mulul", two(0046000,000000), two(0177700,0107770), "+sD1", mcf5200 }, +{"mulul", two(0046000,000000), two(0177700,0107770), "-sD1", mcf5200 }, +{"mulul", two(0046000,000000), two(0177700,0107770), "dsD1", mcf5200 }, {"mulul", two(0046000,002000), two(0177700,0107770), ";lD3D1",m68020up|cpu32 }, {"nbcd", one(0044000), one(0177700), "$s", m68000up }, @@ -1736,6 +1746,15 @@ const struct m68k_opcode m68k_opcodes[] = {"swap", one(0044100), one(0177770), "Ds", m68000up | mcf5200 }, +/* swbeg and swbegl are magic constants used on sysV68. The compiler + generates them before a switch table. They tell the debugger and + disassembler that a switch table follows. The parameter is the + number of elements in the table. swbeg means that the entries in + the table are word (2 byte) sized, and swbegl means that the + entries in the table are longword (4 byte) sized. */ +{"swbeg", one(0045374), one(0177777), "#w", m68000up | mcf5200 }, +{"swbegl", one(0045375), one(0177777), "#l", m68000up | mcf5200 }, + {"tas", one(0045300), one(0177700), "$s", m68000up }, #define TBL1(name,signed,round,size) \ @@ -1805,9 +1824,12 @@ TBL("tblunb", "tblunw", "tblunl", 0, 0), {"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 }, +{"tstb", one(0045000), one(0177700), ";b", m68020up | mcf5200 }, +{"tstb", one(0045000), one(0177700), "@b", m68000up }, +{"tstw", one(0045100), one(0177700), "*w", m68020up | mcf5200 }, +{"tstw", one(0045100), one(0177700), "@w", m68000up }, +{"tstl", one(0045200), one(0177700), "*l", m68020up | mcf5200 }, +{"tstl", one(0045200), one(0177700), "@l", m68000up }, {"unlk", one(0047130), one(0177770), "As", m68000up | mcf5200 },