fix z8k assembly and disassembly

This commit is contained in:
Nick Clifton 2001-10-09 17:25:58 +00:00
parent 90f9b791a1
commit a5d2034ac0
4 changed files with 19 additions and 10 deletions

View file

@ -1,3 +1,8 @@
2001-10-09 Christian Groessler <cpg@aladdin.de>
* config/tc-z8k.c: Include opcodes/z8k-opc.h after bfd.h
since z8k-opc.h now uses the PARAMS macro.
2001-10-09 Aldy Hernandez <aldyh@redhat.com> 2001-10-09 Aldy Hernandez <aldyh@redhat.com>
* config/tc-arm.c: Change MAVERIK to MAVERICK. * config/tc-arm.c: Change MAVERIK to MAVERICK.

View file

@ -24,11 +24,10 @@
#define DEFINE_TABLE #define DEFINE_TABLE
#include <stdio.h> #include <stdio.h>
#include "opcodes/z8k-opc.h"
#include "as.h" #include "as.h"
#include "bfd.h" #include "bfd.h"
#include "safe-ctype.h" #include "safe-ctype.h"
#include "opcodes/z8k-opc.h"
const char comment_chars[] = "!"; const char comment_chars[] = "!";
const char line_comment_chars[] = "#"; const char line_comment_chars[] = "#";

View file

@ -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> 2001-10-09 Nick Clifton <nickc@cambridge.redhat.com>
* sh-opc.h: Fix encoding of least significant nibble of the * sh-opc.h: Fix encoding of least significant nibble of the

View file

@ -540,7 +540,10 @@ unparse_instr (instr_data, is_segmented)
strcat (out_str, tmp_str); strcat (out_str, tmp_str);
break; break;
case CLASS_IR: 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); strcat (out_str, tmp_str);
break; break;
case CLASS_FLAGS: case CLASS_FLAGS:
@ -549,14 +552,10 @@ unparse_instr (instr_data, is_segmented)
break; break;
case CLASS_REG_BYTE: case CLASS_REG_BYTE:
if (instr_data->arg_reg[datum_value] >= 0x8) if (instr_data->arg_reg[datum_value] >= 0x8)
{ sprintf (tmp_str, "rl%ld",
sprintf (tmp_str, "rl%ld", instr_data->arg_reg[datum_value] - 0x8);
instr_data->arg_reg[datum_value] - 0x8);
}
else 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); strcat (out_str, tmp_str);
break; break;
case CLASS_REG_WORD: case CLASS_REG_WORD: