diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/arc-ext.c | 1 | ||||
-rw-r--r-- | opcodes/msp430-decode.c | 199 | ||||
-rw-r--r-- | opcodes/msp430-decode.opc | 1 |
4 files changed, 108 insertions, 99 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 83f435c..6602768 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,11 @@ 2016-10-06 Alan Modra <amodra@gmail.com> + * arc-ext.c (create_map): Add missing break. + * msp430-decode.opc (encode_as): Likewise. + * msp430-decode.c: Regenerate. + +2016-10-06 Alan Modra <amodra@gmail.com> + * cr16-dis.c (print_insn_cr16): Don't use boolean OR in arithmetic. * crx-dis.c (print_insn_crx): Likewise. diff --git a/opcodes/arc-ext.c b/opcodes/arc-ext.c index c12cabe..3cf3e2f 100644 --- a/opcodes/arc-ext.c +++ b/opcodes/arc-ext.c @@ -170,6 +170,7 @@ create_map (unsigned char *block, arc_extension_map. coreRegisters[number - FIRST_EXTENSION_CORE_REGISTER].name = xstrdup (name); + break; } case EXT_COND_CODE: diff --git a/opcodes/msp430-decode.c b/opcodes/msp430-decode.c index c8cfc9a..137205f 100644 --- a/opcodes/msp430-decode.c +++ b/opcodes/msp430-decode.c @@ -238,6 +238,7 @@ encode_as (int reg, int as, LocalData *ld, int ext) break; case MSR_None: SA (0); + break; default: SM (reg, 0); break; @@ -358,9 +359,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_1: { /** 0000 srcr 0000 dstr MOVA @%1, %0 */ -#line 438 "msp430-decode.opc" +#line 439 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 438 "msp430-decode.opc" +#line 439 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -371,7 +372,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("MOVA @%1, %0"); -#line 438 "msp430-decode.opc" +#line 439 "msp430-decode.opc" ID (MSO_mov); SM (srcr, 0); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -382,9 +383,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_2: { /** 0000 srcr 0001 dstr MOVA @%1+, %0 */ -#line 443 "msp430-decode.opc" +#line 444 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 443 "msp430-decode.opc" +#line 444 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -395,7 +396,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("MOVA @%1+, %0"); -#line 443 "msp430-decode.opc" +#line 444 "msp430-decode.opc" ID (MSO_mov); SI (srcr); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -406,9 +407,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_3: { /** 0000 srcr 0010 dstr MOVA &%1, %0 */ -#line 448 "msp430-decode.opc" +#line 449 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 448 "msp430-decode.opc" +#line 449 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -419,7 +420,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("MOVA &%1, %0"); -#line 448 "msp430-decode.opc" +#line 449 "msp430-decode.opc" ID (MSO_mov); SA ((srcr << 16) + IMMU(2)); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -430,9 +431,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_4: { /** 0000 srcr 0011 dstr MOVA %1, %0 */ -#line 453 "msp430-decode.opc" +#line 454 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 453 "msp430-decode.opc" +#line 454 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -443,7 +444,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("MOVA %1, %0"); -#line 453 "msp430-decode.opc" +#line 454 "msp430-decode.opc" ID (MSO_mov); SM (srcr, IMMS(2)); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -455,11 +456,11 @@ msp430_decode_opcode (unsigned long pc, op_semantics_5: { /** 0000 bt00 010w dstr RRCM.A %c, %0 */ -#line 520 "msp430-decode.opc" +#line 521 "msp430-decode.opc" int bt AU = (op[0] >> 2) & 0x03; -#line 520 "msp430-decode.opc" +#line 521 "msp430-decode.opc" int w AU = (op[1] >> 4) & 0x01; -#line 520 "msp430-decode.opc" +#line 521 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -471,7 +472,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("RRCM.A %c, %0"); -#line 520 "msp430-decode.opc" +#line 521 "msp430-decode.opc" ID (MSO_rrc); DR (dstr); SR (dstr); msp430->repeats = bt; msp430->size = w ? 16 : 20; @@ -484,9 +485,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_6: { /** 0000 srcr 0110 dstr MOVA %1, &%0 */ -#line 458 "msp430-decode.opc" +#line 459 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 458 "msp430-decode.opc" +#line 459 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -497,7 +498,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("MOVA %1, &%0"); -#line 458 "msp430-decode.opc" +#line 459 "msp430-decode.opc" ID (MSO_mov); SR (srcr); DA ((dstr << 16) + IMMU(2)); msp430->size = 20; msp430->ofs_430x = 1; @@ -508,9 +509,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_7: { /** 0000 srcr 0111 dstr MOVA %1, &%0 */ -#line 463 "msp430-decode.opc" +#line 464 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 463 "msp430-decode.opc" +#line 464 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -521,7 +522,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("MOVA %1, &%0"); -#line 463 "msp430-decode.opc" +#line 464 "msp430-decode.opc" ID (MSO_mov); SR (srcr); DM (dstr, IMMS(2)); msp430->size = 20; msp430->ofs_430x = 1; @@ -532,9 +533,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_8: { /** 0000 srcr 1000 dstr MOVA %1, %0 */ -#line 468 "msp430-decode.opc" +#line 469 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 468 "msp430-decode.opc" +#line 469 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -545,7 +546,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("MOVA %1, %0"); -#line 468 "msp430-decode.opc" +#line 469 "msp430-decode.opc" ID (MSO_mov); SC ((srcr << 16) + IMMU(2)); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -556,9 +557,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_9: { /** 0000 srcr 1001 dstr CMPA %1, %0 */ -#line 473 "msp430-decode.opc" +#line 474 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 473 "msp430-decode.opc" +#line 474 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -569,7 +570,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("CMPA %1, %0"); -#line 473 "msp430-decode.opc" +#line 474 "msp430-decode.opc" ID (MSO_cmp); SC ((srcr << 16) + IMMU(2)); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -581,9 +582,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_10: { /** 0000 srcr 1010 dstr ADDA %1, %0 */ -#line 479 "msp430-decode.opc" +#line 480 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 479 "msp430-decode.opc" +#line 480 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -594,7 +595,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("ADDA %1, %0"); -#line 479 "msp430-decode.opc" +#line 480 "msp430-decode.opc" ID (MSO_add); SC ((srcr << 16) + IMMU(2)); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -606,9 +607,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_11: { /** 0000 srcr 1011 dstr SUBA %1, %0 */ -#line 485 "msp430-decode.opc" +#line 486 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 485 "msp430-decode.opc" +#line 486 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -619,7 +620,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("SUBA %1, %0"); -#line 485 "msp430-decode.opc" +#line 486 "msp430-decode.opc" ID (MSO_sub); SC ((srcr << 16) + IMMU(2)); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -631,9 +632,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_12: { /** 0000 srcr 1100 dstr MOVA %1, %0 */ -#line 497 "msp430-decode.opc" +#line 498 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 497 "msp430-decode.opc" +#line 498 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -644,7 +645,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("MOVA %1, %0"); -#line 497 "msp430-decode.opc" +#line 498 "msp430-decode.opc" ID (MSO_mov); SR (srcr); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -655,9 +656,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_13: { /** 0000 srcr 1101 dstr CMPA %1, %0 */ -#line 502 "msp430-decode.opc" +#line 503 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 502 "msp430-decode.opc" +#line 503 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -668,7 +669,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("CMPA %1, %0"); -#line 502 "msp430-decode.opc" +#line 503 "msp430-decode.opc" ID (MSO_cmp); SR (srcr); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -680,9 +681,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_14: { /** 0000 srcr 1110 dstr ADDA %1, %0 */ -#line 508 "msp430-decode.opc" +#line 509 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 508 "msp430-decode.opc" +#line 509 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -693,7 +694,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("ADDA %1, %0"); -#line 508 "msp430-decode.opc" +#line 509 "msp430-decode.opc" ID (MSO_add); SR (srcr); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -705,9 +706,9 @@ msp430_decode_opcode (unsigned long pc, op_semantics_15: { /** 0000 srcr 1111 dstr SUBA %1, %0 */ -#line 514 "msp430-decode.opc" +#line 515 "msp430-decode.opc" int srcr AU = op[0] & 0x0f; -#line 514 "msp430-decode.opc" +#line 515 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -718,7 +719,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("SUBA %1, %0"); -#line 514 "msp430-decode.opc" +#line 515 "msp430-decode.opc" ID (MSO_sub); SR (srcr); DR (dstr); msp430->size = 20; msp430->ofs_430x = 1; @@ -749,11 +750,11 @@ msp430_decode_opcode (unsigned long pc, op_semantics_16: { /** 0000 bt01 010w dstr RRAM.A %c, %0 */ -#line 527 "msp430-decode.opc" +#line 528 "msp430-decode.opc" int bt AU = (op[0] >> 2) & 0x03; -#line 527 "msp430-decode.opc" +#line 528 "msp430-decode.opc" int w AU = (op[1] >> 4) & 0x01; -#line 527 "msp430-decode.opc" +#line 528 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -765,7 +766,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("RRAM.A %c, %0"); -#line 527 "msp430-decode.opc" +#line 528 "msp430-decode.opc" ID (MSO_rra); DR (dstr); SR (dstr); msp430->repeats = bt; msp430->size = w ? 16 : 20; @@ -827,11 +828,11 @@ msp430_decode_opcode (unsigned long pc, op_semantics_17: { /** 0000 bt10 010w dstr RLAM.A %c, %0 */ -#line 534 "msp430-decode.opc" +#line 535 "msp430-decode.opc" int bt AU = (op[0] >> 2) & 0x03; -#line 534 "msp430-decode.opc" +#line 535 "msp430-decode.opc" int w AU = (op[1] >> 4) & 0x01; -#line 534 "msp430-decode.opc" +#line 535 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -843,7 +844,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("RLAM.A %c, %0"); -#line 534 "msp430-decode.opc" +#line 535 "msp430-decode.opc" ID (MSO_add); DR (dstr); SR (dstr); msp430->repeats = bt; msp430->size = w ? 16 : 20; @@ -905,11 +906,11 @@ msp430_decode_opcode (unsigned long pc, op_semantics_18: { /** 0000 bt11 010w dstr RRUM.A %c, %0 */ -#line 541 "msp430-decode.opc" +#line 542 "msp430-decode.opc" int bt AU = (op[0] >> 2) & 0x03; -#line 541 "msp430-decode.opc" +#line 542 "msp430-decode.opc" int w AU = (op[1] >> 4) & 0x01; -#line 541 "msp430-decode.opc" +#line 542 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -921,7 +922,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("RRUM.A %c, %0"); -#line 541 "msp430-decode.opc" +#line 542 "msp430-decode.opc" ID (MSO_rru); DR (dstr); SR (dstr); msp430->repeats = bt; msp430->size = w ? 16 : 20; @@ -1594,15 +1595,15 @@ msp430_decode_opcode (unsigned long pc, op_semantics_19: { /** 0001 00so c b ad dreg %S%b %1 */ -#line 394 "msp430-decode.opc" +#line 395 "msp430-decode.opc" int so AU = op[0] & 0x03; -#line 394 "msp430-decode.opc" +#line 395 "msp430-decode.opc" int c AU = (op[1] >> 7) & 0x01; -#line 394 "msp430-decode.opc" +#line 395 "msp430-decode.opc" int b AU = (op[1] >> 6) & 0x01; -#line 394 "msp430-decode.opc" +#line 395 "msp430-decode.opc" int ad AU = (op[1] >> 4) & 0x03; -#line 394 "msp430-decode.opc" +#line 395 "msp430-decode.opc" int dreg AU = op[1] & 0x0f; if (trace) { @@ -1616,7 +1617,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dreg = 0x%x\n", dreg); } SYNTAX("%S%b %1"); -#line 394 "msp430-decode.opc" +#line 395 "msp430-decode.opc" ID (sopc_to_id (so,c)); ASX (dreg, ad, srxt_bits); ABW (al_bit, b); @@ -1682,7 +1683,7 @@ msp430_decode_opcode (unsigned long pc, op[0], op[1]); } SYNTAX("RETI"); -#line 548 "msp430-decode.opc" +#line 549 "msp430-decode.opc" ID (MSO_reti); msp430->size = 20; msp430->ofs_430x = 1; @@ -1900,9 +1901,9 @@ msp430_decode_opcode (unsigned long pc, case 0x7f: { /** 0001 0011 01as dstr CALLA %0 */ -#line 553 "msp430-decode.opc" +#line 554 "msp430-decode.opc" int as AU = (op[1] >> 4) & 0x03; -#line 553 "msp430-decode.opc" +#line 554 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -1913,7 +1914,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("CALLA %0"); -#line 553 "msp430-decode.opc" +#line 554 "msp430-decode.opc" ID (MSO_call); AS (dstr, as); msp430->size = 20; msp430->ofs_430x = 1; @@ -1938,7 +1939,7 @@ msp430_decode_opcode (unsigned long pc, case 0x8f: { /** 0001 0011 1000 extb CALLA %0 */ -#line 558 "msp430-decode.opc" +#line 559 "msp430-decode.opc" int extb AU = op[1] & 0x0f; if (trace) { @@ -1948,7 +1949,7 @@ msp430_decode_opcode (unsigned long pc, printf (" extb = 0x%x\n", extb); } SYNTAX("CALLA %0"); -#line 558 "msp430-decode.opc" +#line 559 "msp430-decode.opc" ID (MSO_call); SA (IMMU(2) | (extb << 16)); msp430->size = 20; msp430->ofs_430x = 1; @@ -1973,7 +1974,7 @@ msp430_decode_opcode (unsigned long pc, case 0x9f: { /** 0001 0011 1001 extb CALLA %0 */ -#line 563 "msp430-decode.opc" +#line 564 "msp430-decode.opc" int extb AU = op[1] & 0x0f; if (trace) { @@ -1983,7 +1984,7 @@ msp430_decode_opcode (unsigned long pc, printf (" extb = 0x%x\n", extb); } SYNTAX("CALLA %0"); -#line 563 "msp430-decode.opc" +#line 564 "msp430-decode.opc" raddr = IMMU(2) | (extb << 16); if (raddr & 0x80000) raddr -= 0x100000; @@ -2011,7 +2012,7 @@ msp430_decode_opcode (unsigned long pc, case 0xbf: { /** 0001 0011 1011 extb CALLA %0 */ -#line 571 "msp430-decode.opc" +#line 572 "msp430-decode.opc" int extb AU = op[1] & 0x0f; if (trace) { @@ -2021,7 +2022,7 @@ msp430_decode_opcode (unsigned long pc, printf (" extb = 0x%x\n", extb); } SYNTAX("CALLA %0"); -#line 571 "msp430-decode.opc" +#line 572 "msp430-decode.opc" ID (MSO_call); SC (IMMU(2) | (extb << 16)); msp430->size = 20; msp430->ofs_430x = 1; @@ -2038,11 +2039,11 @@ msp430_decode_opcode (unsigned long pc, op_semantics_20: { /** 0001 010w bits srcr PUSHM.A %0 */ -#line 576 "msp430-decode.opc" +#line 577 "msp430-decode.opc" int w AU = op[0] & 0x01; -#line 576 "msp430-decode.opc" +#line 577 "msp430-decode.opc" int bits AU = (op[1] >> 4) & 0x0f; -#line 576 "msp430-decode.opc" +#line 577 "msp430-decode.opc" int srcr AU = op[1] & 0x0f; if (trace) { @@ -2054,7 +2055,7 @@ msp430_decode_opcode (unsigned long pc, printf (" srcr = 0x%x\n", srcr); } SYNTAX("PUSHM.A %0"); -#line 576 "msp430-decode.opc" +#line 577 "msp430-decode.opc" ID (MSO_push); SR (srcr); msp430->size = w ? 16 : 20; msp430->repeats = bits; @@ -2081,11 +2082,11 @@ msp430_decode_opcode (unsigned long pc, op_semantics_21: { /** 0001 011w bits dstr POPM.A %0 */ -#line 582 "msp430-decode.opc" +#line 583 "msp430-decode.opc" int w AU = op[0] & 0x01; -#line 582 "msp430-decode.opc" +#line 583 "msp430-decode.opc" int bits AU = (op[1] >> 4) & 0x0f; -#line 582 "msp430-decode.opc" +#line 583 "msp430-decode.opc" int dstr AU = op[1] & 0x0f; if (trace) { @@ -2097,7 +2098,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dstr = 0x%x\n", dstr); } SYNTAX("POPM.A %0"); -#line 582 "msp430-decode.opc" +#line 583 "msp430-decode.opc" ID (MSO_pop); DR (dstr); msp430->size = w ? 16 : 20; msp430->repeats = bits; @@ -2124,13 +2125,13 @@ msp430_decode_opcode (unsigned long pc, op_semantics_22: { /** 0001 1srx t l 00 dsxt 430x */ -#line 350 "msp430-decode.opc" +#line 351 "msp430-decode.opc" int srx AU = op[0] & 0x07; -#line 350 "msp430-decode.opc" +#line 351 "msp430-decode.opc" int t AU = (op[1] >> 7) & 0x01; -#line 350 "msp430-decode.opc" +#line 351 "msp430-decode.opc" int l AU = (op[1] >> 6) & 0x01; -#line 350 "msp430-decode.opc" +#line 351 "msp430-decode.opc" int dsxt AU = op[1] & 0x0f; if (trace) { @@ -2143,7 +2144,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dsxt = 0x%x\n", dsxt); } SYNTAX("430x"); -#line 350 "msp430-decode.opc" +#line 351 "msp430-decode.opc" al_bit = l; srxt_bits = srx * 2 + t; @@ -2246,11 +2247,11 @@ msp430_decode_opcode (unsigned long pc, op_semantics_23: { /** 001jmp aa addrlsbs %J %1 */ -#line 424 "msp430-decode.opc" +#line 425 "msp430-decode.opc" int jmp AU = (op[0] >> 2) & 0x07; -#line 424 "msp430-decode.opc" +#line 425 "msp430-decode.opc" int aa AU = op[0] & 0x03; -#line 424 "msp430-decode.opc" +#line 425 "msp430-decode.opc" int addrlsbs AU = op[1]; if (trace) { @@ -2262,7 +2263,7 @@ msp430_decode_opcode (unsigned long pc, printf (" addrlsbs = 0x%x\n", addrlsbs); } SYNTAX("%J %1"); -#line 424 "msp430-decode.opc" +#line 425 "msp430-decode.opc" raddr = (aa << 9) | (addrlsbs << 1); if (raddr & 0x400) @@ -2567,17 +2568,17 @@ msp430_decode_opcode (unsigned long pc, op_semantics_24: { /** dopc sreg a b as dreg %D%b %1,%0 */ -#line 371 "msp430-decode.opc" +#line 372 "msp430-decode.opc" int dopc AU = (op[0] >> 4) & 0x0f; -#line 371 "msp430-decode.opc" +#line 372 "msp430-decode.opc" int sreg AU = op[0] & 0x0f; -#line 371 "msp430-decode.opc" +#line 372 "msp430-decode.opc" int a AU = (op[1] >> 7) & 0x01; -#line 371 "msp430-decode.opc" +#line 372 "msp430-decode.opc" int b AU = (op[1] >> 6) & 0x01; -#line 371 "msp430-decode.opc" +#line 372 "msp430-decode.opc" int as AU = (op[1] >> 4) & 0x03; -#line 371 "msp430-decode.opc" +#line 372 "msp430-decode.opc" int dreg AU = op[1] & 0x0f; if (trace) { @@ -2592,7 +2593,7 @@ msp430_decode_opcode (unsigned long pc, printf (" dreg = 0x%x\n", dreg); } SYNTAX("%D%b %1,%0"); -#line 371 "msp430-decode.opc" +#line 372 "msp430-decode.opc" ID (dopc_to_id (dopc)); ASX (sreg, as, srxt_bits); ADX (dreg, a, dsxt_bits); ABW (al_bit, b); if (a == 0 && as == 0) @@ -4339,7 +4340,7 @@ msp430_decode_opcode (unsigned long pc, } break; } -#line 588 "msp430-decode.opc" +#line 589 "msp430-decode.opc" return msp430->n_bytes; } diff --git a/opcodes/msp430-decode.opc b/opcodes/msp430-decode.opc index 084a6a5..9428467 100644 --- a/opcodes/msp430-decode.opc +++ b/opcodes/msp430-decode.opc @@ -237,6 +237,7 @@ encode_as (int reg, int as, LocalData *ld, int ext) break; case MSR_None: SA (0); + break; default: SM (reg, 0); break; |