diff options
Diffstat (limited to 'gnu/usr.bin/binutils/opcodes/h8300-dis.c')
-rw-r--r-- | gnu/usr.bin/binutils/opcodes/h8300-dis.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/gnu/usr.bin/binutils/opcodes/h8300-dis.c b/gnu/usr.bin/binutils/opcodes/h8300-dis.c index b56b5e3e1f3..a25aa31d428 100644 --- a/gnu/usr.bin/binutils/opcodes/h8300-dis.c +++ b/gnu/usr.bin/binutils/opcodes/h8300-dis.c @@ -92,6 +92,7 @@ bfd_h8_disassemble (addr, info, hmode) int rd = 0; int rdisp = 0; int abs = 0; + int bit = 0; int plen = 0; static boolean init = 0; struct h8_opcode *q = h8_opcodes; @@ -243,7 +244,7 @@ bfd_h8_disassemble (addr, info, hmode) else if (looking_for & L_3) { plen = 3; - abs = thisnib; + bit = thisnib; } else if (looking_for & L_2) { @@ -279,9 +280,12 @@ bfd_h8_disassemble (addr, info, hmode) fprintf (stream, ","); - if (x & (IMM|KBIT|DBIT)) + if (x & L_3) + { + fprintf (stream, "#0x%x", (unsigned) bit); + } + else if (x & (IMM|KBIT|DBIT)) { - fprintf (stream, "#0x%x", (unsigned) abs); } else if (x & REG) @@ -318,7 +322,7 @@ bfd_h8_disassemble (addr, info, hmode) fprintf (stream, "@%s", pregnames[rn]); } - else if (x & (ABS|ABSJMP|ABSMOV)) + else if (x & (ABS|ABSJMP|ABS8MEM)) { fprintf (stream, "@0x%x:%d", (unsigned) abs, plen); } |