summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/z8k-dis.c15
2 files changed, 13 insertions, 8 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index d4bbe2e1c4b..bda4ed70e41 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,9 @@
+2001-09-24 Christian Groessler <cpg@aladdin.de>
+
+ * z8k-dis.c (unparse_intstr): Fixed formatting. Change
+ disassembly of indirect register memory accesses to be same
+ format the assembler accepts.
+
2001-10-09 Nick Clifton <nickc@cambridge.redhat.com>
* sh-opc.h: Fix encoding of least significant nibble of the
diff --git a/opcodes/z8k-dis.c b/opcodes/z8k-dis.c
index dcba775c270..091d9379ddd 100644
--- a/opcodes/z8k-dis.c
+++ b/opcodes/z8k-dis.c
@@ -540,7 +540,10 @@ unparse_instr (instr_data, is_segmented)
strcat (out_str, tmp_str);
break;
case CLASS_IR:
- sprintf (tmp_str, "@R%ld", instr_data->arg_reg[datum_value]);
+ if (is_segmented)
+ sprintf (tmp_str, "@rr%ld", instr_data->arg_reg[datum_value]);
+ else
+ sprintf (tmp_str, "@r%ld", instr_data->arg_reg[datum_value]);
strcat (out_str, tmp_str);
break;
case CLASS_FLAGS:
@@ -549,14 +552,10 @@ unparse_instr (instr_data, is_segmented)
break;
case CLASS_REG_BYTE:
if (instr_data->arg_reg[datum_value] >= 0x8)
- {
- sprintf (tmp_str, "rl%ld",
- instr_data->arg_reg[datum_value] - 0x8);
- }
+ sprintf (tmp_str, "rl%ld",
+ instr_data->arg_reg[datum_value] - 0x8);
else
- {
- sprintf (tmp_str, "rh%ld", instr_data->arg_reg[datum_value]);
- }
+ sprintf (tmp_str, "rh%ld", instr_data->arg_reg[datum_value]);
strcat (out_str, tmp_str);
break;
case CLASS_REG_WORD: