mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
* m68k-opc.c (m68k-opcodes): The coldfire (mcf5200) can only use
register operands for immediate arithmetic, not, neg, negx, and set according to condition instructions.
This commit is contained in:
parent
a1e48de01d
commit
09d205d155
@ -1,5 +1,9 @@
|
||||
Mon Nov 25 13:08:40 1996 J.T. Conklin <jtc@cygnus.com>
|
||||
Mon Nov 25 14:24:18 1996 J.T. Conklin <jtc@cygnus.com>
|
||||
|
||||
* m68k-opc.c (m68k-opcodes): The coldfire (mcf5200) can only use
|
||||
register operands for immediate arithmetic, not, neg, negx, and
|
||||
set according to condition instructions.
|
||||
|
||||
* m68k-opc.c (m68k_opcodes): Consistantly Use "s" as the storage
|
||||
specifier of the effective-address operand in immediate forms of
|
||||
arithmetic instructions. The specifier for the immediate operand
|
||||
|
@ -38,7 +38,8 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
|
||||
{"addib", one(0003000), one(0177700), "#b$s", m68000up },
|
||||
{"addiw", one(0003100), one(0177700), "#w$s", m68000up },
|
||||
{"addil", one(0003200), one(0177700), "#l$s", m68000up | mcf5200 },
|
||||
{"addil", one(0003200), one(0177700), "#l$s", m68000up },
|
||||
{"addil", one(0003200), one(0177700), "#lDs", mcf5200 },
|
||||
|
||||
{"addqb", one(0050000), one(0170700), "Qd$b", m68000up },
|
||||
{"addqw", one(0050100), one(0170700), "Qd%w", m68000up },
|
||||
@ -55,7 +56,8 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
{"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$s", m68000up | mcf5200 },
|
||||
{"addl", one(0003200), one(0177700), "#l$s", m68000up },
|
||||
{"addl", one(0003200), one(0177700), "#lDs", 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 },
|
||||
@ -71,7 +73,8 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
{"andib", one(0001074), one(0177777), "#bCs", m68000up },
|
||||
{"andiw", one(0001100), one(0177700), "#w$s", m68000up },
|
||||
{"andiw", one(0001174), one(0177777), "#wSs", m68000up },
|
||||
{"andil", one(0001200), one(0177700), "#l$s", m68000up | mcf5200 },
|
||||
{"andil", one(0001200), one(0177700), "#l$s", m68000up },
|
||||
{"andil", one(0001200), one(0177700), "#lDs", mcf5200 },
|
||||
{"andi", one(0001100), one(0177700), "#w$s", m68000up },
|
||||
{"andi", one(0001074), one(0177777), "#bCs", m68000up },
|
||||
{"andi", one(0001174), one(0177777), "#wSs", m68000up },
|
||||
@ -85,7 +88,8 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
{"andw", one(0001174), one(0177777), "#wSs", m68000up },
|
||||
{"andw", one(0140100), one(0170700), ";wDd", m68000up },
|
||||
{"andw", one(0140500), one(0170700), "Dd~w", m68000up },
|
||||
{"andl", one(0001200), one(0177700), "#l$s", m68000up | mcf5200 },
|
||||
{"andl", one(0001200), one(0177700), "#l$s", m68000up },
|
||||
{"andl", one(0001200), one(0177700), "#lDs", 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 },
|
||||
@ -251,11 +255,13 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
|
||||
{"cmpib", one(0006000), one(0177700), "#b;s", m68000up },
|
||||
{"cmpiw", one(0006100), one(0177700), "#w;s", m68000up },
|
||||
{"cmpil", one(0006200), one(0177700), "#l;s", m68000up | mcf5200 },
|
||||
{"cmpil", one(0006200), one(0177700), "#l;s", m68000up },
|
||||
{"cmpil", one(0006200), one(0177700), "#l;s", m68000up },
|
||||
{"cmpil", one(0006200), one(0177700), "#lDs", 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 | mcf5200 },
|
||||
{"cmpml", one(0130610), one(0170770), "+s+d", m68000up },
|
||||
|
||||
/* The cmp opcode can generate the cmpa, cmpm, and cmpi instructions. */
|
||||
{"cmpb", one(0006000), one(0177700), "#b;s", m68000up },
|
||||
@ -266,8 +272,9 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
{"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;s", m68000up | mcf5200 },
|
||||
{"cmpl", one(0130610), one(0170770), "+s+d", m68000up | mcf5200 },
|
||||
{"cmpl", one(0006200), one(0177700), "#l;s", m68000up },
|
||||
{"cmpl", one(0006200), one(0177700), "#lDs", mcf5200 },
|
||||
{"cmpl", one(0130610), one(0170770), "+s+d", m68000up },
|
||||
{"cmpl", one(0130200), one(0170700), "*lDd", m68000up | mcf5200 },
|
||||
|
||||
{"dbcc", one(0052310), one(0177770), "DsBw", m68000up },
|
||||
@ -307,7 +314,8 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
{"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 },
|
||||
{"eoril", one(0005200), one(0177700), "#l$s", m68000up },
|
||||
{"eoril", one(0005200), one(0177700), "#lDs", mcf5200 },
|
||||
{"eori", one(0005074), one(0177777), "#bCs", m68000up },
|
||||
{"eori", one(0005174), one(0177777), "#wSs", m68000up },
|
||||
{"eori", one(0005100), one(0177700), "#w$s", m68000up },
|
||||
@ -319,7 +327,8 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
{"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(0005200), one(0177700), "#l$s", m68000up },
|
||||
{"eorl", one(0005200), one(0177700), "#lDs", mcf5200 },
|
||||
{"eorl", one(0130600), one(0170700), "Dd$s", m68000up | mcf5200 },
|
||||
{"eor", one(0005074), one(0177777), "#bCs", m68000up },
|
||||
{"eor", one(0005174), one(0177777), "#wSs", m68000up },
|
||||
@ -1311,23 +1320,27 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
|
||||
{"negb", one(0042000), one(0177700), "$s", m68000up },
|
||||
{"negw", one(0042100), one(0177700), "$s", m68000up },
|
||||
{"negl", one(0042200), one(0177700), "$s", m68000up | mcf5200},
|
||||
{"negl", one(0042200), one(0177700), "$s", m68000up },
|
||||
{"negl", one(0042200), one(0177700), "Ds", mcf5200},
|
||||
|
||||
{"negxb", one(0040000), one(0177700), "$s", m68000up },
|
||||
{"negxw", one(0040100), one(0177700), "$s", m68000up },
|
||||
{"negxl", one(0040200), one(0177700), "$s", m68000up | mcf5200},
|
||||
{"negxl", one(0040200), one(0177700), "$s", m68000up },
|
||||
{"negxl", one(0040200), one(0177700), "Ds", mcf5200},
|
||||
|
||||
{"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 | mcf5200},
|
||||
{"notl", one(0043200), one(0177700), "$s", m68000up },
|
||||
{"notl", one(0043200), one(0177700), "Ds", 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 | mcf5200 },
|
||||
{"oril", one(0000200), one(0177700), "#l$s", m68000up },
|
||||
{"oril", one(0000200), one(0177700), "#lDs", mcf5200 },
|
||||
{"ori", one(0000074), one(0177777), "#bCs", m68000up },
|
||||
{"ori", one(0000100), one(0177700), "#w$s", m68000up },
|
||||
{"ori", one(0000174), one(0177777), "#wSs", m68000up },
|
||||
@ -1341,7 +1354,8 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
{"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(0000200), one(0177700), "#l$s", m68000up },
|
||||
{"orl", one(0000200), one(0177700), "#lDs", 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 },
|
||||
@ -1615,22 +1629,39 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
{"sbcd", one(0100400), one(0170770), "DsDd", m68000up },
|
||||
{"sbcd", one(0100410), one(0170770), "-s-d", 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 },
|
||||
|
||||
{"scc", one(0052300), one(0177700), "$s", m68000up },
|
||||
{"scc", one(0052300), one(0177700), "Ds", mcf5200 },
|
||||
{"scs", one(0052700), one(0177700), "$s", m68000up },
|
||||
{"scs", one(0052700), one(0177700), "Ds", mcf5200 },
|
||||
{"seq", one(0053700), one(0177700), "$s", m68000up },
|
||||
{"seq", one(0053700), one(0177700), "Ds", mcf5200 },
|
||||
{"sf", one(0050700), one(0177700), "$s", m68000up },
|
||||
{"sf", one(0050700), one(0177700), "Ds", mcf5200 },
|
||||
{"sge", one(0056300), one(0177700), "$s", m68000up },
|
||||
{"sge", one(0056300), one(0177700), "Ds", mcf5200 },
|
||||
{"sgt", one(0057300), one(0177700), "$s", m68000up },
|
||||
{"sgt", one(0057300), one(0177700), "Ds", mcf5200 },
|
||||
{"shi", one(0051300), one(0177700), "$s", m68000up },
|
||||
{"shi", one(0051300), one(0177700), "Ds", mcf5200 },
|
||||
{"sle", one(0057700), one(0177700), "$s", m68000up },
|
||||
{"sle", one(0057700), one(0177700), "Ds", mcf5200 },
|
||||
{"sls", one(0051700), one(0177700), "$s", m68000up },
|
||||
{"sls", one(0051700), one(0177700), "Ds", mcf5200 },
|
||||
{"slt", one(0056700), one(0177700), "$s", m68000up },
|
||||
{"slt", one(0056700), one(0177700), "Ds", mcf5200 },
|
||||
{"smi", one(0055700), one(0177700), "$s", m68000up },
|
||||
{"smi", one(0055700), one(0177700), "Ds", mcf5200 },
|
||||
{"sne", one(0053300), one(0177700), "$s", m68000up },
|
||||
{"sne", one(0053300), one(0177700), "Ds", mcf5200 },
|
||||
{"spl", one(0055300), one(0177700), "$s", m68000up },
|
||||
{"spl", one(0055300), one(0177700), "Ds", mcf5200 },
|
||||
{"st", one(0050300), one(0177700), "$s", m68000up },
|
||||
{"st", one(0050300), one(0177700), "Ds", mcf5200 },
|
||||
{"svc", one(0054300), one(0177700), "$s", m68000up },
|
||||
{"svc", one(0054300), one(0177700), "Ds", mcf5200 },
|
||||
{"svs", one(0054700), one(0177700), "$s", m68000up },
|
||||
{"svs", one(0054700), one(0177700), "Ds", mcf5200 },
|
||||
|
||||
{"stop", one(0047162), one(0177777), "#w", m68000up | mcf5200 },
|
||||
|
||||
@ -1639,7 +1670,8 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
|
||||
{"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 },
|
||||
{"subil", one(0002200), one(0177700), "#l$s", m68000up },
|
||||
{"subil", one(0002200), one(0177700), "#lDs", mcf5200 },
|
||||
|
||||
{"subqb", one(0050400), one(0170700), "Qd%s", m68000up },
|
||||
{"subqw", one(0050500), one(0170700), "Qd%s", m68000up },
|
||||
@ -1656,7 +1688,8 @@ const struct m68k_opcode m68k_opcodes[] =
|
||||
{"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(0002200), one(0177700), "#l$s", m68000up },
|
||||
{"subl", one(0002200), one(0177700), "#lDs", 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 },
|
||||
|
Loading…
Reference in New Issue
Block a user