diff options
Diffstat (limited to 'opcodes/z8k-dis.c')
-rw-r--r-- | opcodes/z8k-dis.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/opcodes/z8k-dis.c b/opcodes/z8k-dis.c index 69d1792..5d15ee8 100644 --- a/opcodes/z8k-dis.c +++ b/opcodes/z8k-dis.c @@ -1,5 +1,5 @@ /* Disassemble z8000 code. - Copyright 1992, 1993, 1998, 2000, 2001, 2002 + Copyright 1992, 1993, 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -40,7 +40,7 @@ typedef struct bfd_vma insn_start; jmp_buf bailout; - long tabl_index; + int tabl_index; char instr_asmsrc[80]; unsigned long arg_reg[0x0f]; unsigned long immediate; @@ -169,7 +169,7 @@ print_insn_z8k (addr, info, is_segmented) info->display_endian = BFD_ENDIAN_BIG; instr_data.tabl_index = z8k_lookup_instr (instr_data.nibbles, info); - if (instr_data.tabl_index > 0) + if (instr_data.tabl_index >= 0) { unpack_instr (&instr_data, is_segmented, info); unparse_instr (&instr_data, is_segmented); @@ -581,6 +581,10 @@ unparse_instr (instr_data, is_segmented) sprintf (tmp_str, "@r%ld", instr_data->arg_reg[datum_value]); strcat (out_str, tmp_str); break; + case CLASS_IRO: + sprintf (tmp_str, "@r%ld", instr_data->arg_reg[datum_value]); + strcat (out_str, tmp_str); + break; case CLASS_FLAGS: sprintf (tmp_str, "0x%0lx", instr_data->flags); strcat (out_str, tmp_str); |