diff options
author | Nick Clifton <nickc@redhat.com> | 2014-06-03 08:54:04 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2014-06-03 08:54:04 +0100 |
commit | 9f445129581f24845c62c4124103f89b43dfd329 (patch) | |
tree | 15a22906d11cbca2cf098b2d0b69fb07afa0a3e1 /opcodes/msp430-dis.c | |
parent | 69227609dc00d472115b00b70c8c4eca6befdd81 (diff) | |
download | gdb-9f445129581f24845c62c4124103f89b43dfd329.zip gdb-9f445129581f24845c62c4124103f89b43dfd329.tar.gz gdb-9f445129581f24845c62c4124103f89b43dfd329.tar.bz2 |
Fix the disassembly of MSP430 extended index addressing mode.
* msp430-dis.c (msp430_doubleoperand): Use extension_word to
decide when extended addressing is being used.
Diffstat (limited to 'opcodes/msp430-dis.c')
-rw-r--r-- | opcodes/msp430-dis.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/opcodes/msp430-dis.c b/opcodes/msp430-dis.c index 1284bbe..33a9047 100644 --- a/opcodes/msp430-dis.c +++ b/opcodes/msp430-dis.c @@ -427,7 +427,7 @@ msp430_doubleoperand (disassemble_info *info, sprintf (op1, "0x%04x", PS (dst)); sprintf (comm1, "PC rel. 0x%04x", PS ((short) addr + 2 + dst)); - if (extended_dst) + if (extension_word) { dst |= extended_dst << 16; if (dst & 0x80000) @@ -448,7 +448,7 @@ msp430_doubleoperand (disassemble_info *info, cmd_len += 4; *cycles = 6; sprintf (op1, "&0x%04x", PS (dst)); - if (extended_dst) + if (extension_word) { dst |= extended_dst << 16; sprintf (op1, "&0x%05x", dst & 0xfffff); @@ -458,7 +458,7 @@ msp430_doubleoperand (disassemble_info *info, { /* Indexed. */ dst = msp430dis_opcode (addr + 2, info); - if (extended_dst) + if (extension_word) { dst |= extended_dst << 16; if (dst & 0x80000) @@ -519,7 +519,7 @@ msp430_doubleoperand (disassemble_info *info, sprintf (op1, "#%d", dst); if (dst > 9 || dst < 0) sprintf (comm1, "#0x%04x", PS (dst)); - if (extended_src) + if (extension_word) { dst |= extended_src << 16; if (dst & 0x80000) @@ -543,7 +543,7 @@ msp430_doubleoperand (disassemble_info *info, sprintf (op1, "0x%04x", PS (dst)); sprintf (comm1, "PC rel. 0x%04x", PS ((short) addr + 2 + dst)); - if (extended_src) + if (extension_word) { dst |= extended_src << 16; if (dst & 0x80000) @@ -561,7 +561,7 @@ msp430_doubleoperand (disassemble_info *info, cmd_len += 2; sprintf (op1, "&0x%04x", PS (dst)); sprintf (comm1, "0x%04x", PS (dst)); - if (extended_src) + if (extension_word) { dst |= extended_src << 16; sprintf (op1, "&0x%05x", dst & 0xfffff); @@ -580,7 +580,7 @@ msp430_doubleoperand (disassemble_info *info, /* Indexed. */ dst = msp430dis_opcode (addr + 2, info); cmd_len += 2; - if (extended_src) + if (extension_word) { dst |= extended_src << 16; if (dst & 0x80000) @@ -625,7 +625,7 @@ msp430_doubleoperand (disassemble_info *info, sprintf (op2, "0x%04x", PS (dst)); sprintf (comm2, "PC rel. 0x%04x", PS ((short) addr + cmd_len + dst)); - if (extended_dst) + if (extension_word) { dst |= extended_dst << 16; if (dst & 0x80000) @@ -642,7 +642,7 @@ msp430_doubleoperand (disassemble_info *info, dst = msp430dis_opcode (addr + cmd_len, info); cmd_len += 2; sprintf (op2, "&0x%04x", PS (dst)); - if (extended_dst) + if (extension_word) { dst |= extended_dst << 16; sprintf (op2, "&0x%05x", dst & 0xfffff); @@ -656,7 +656,7 @@ msp430_doubleoperand (disassemble_info *info, dst |= -1 << 16; if (dst > 9 || dst < 0) sprintf (comm2, "0x%04x", PS (dst)); - if (extended_dst) + if (extension_word) { dst |= extended_dst << 16; if (dst & 0x80000) |