diff options
-rw-r--r-- | opcodes/ChangeLog | 2 | ||||
-rw-r--r-- | opcodes/hppa-dis.c | 39 |
2 files changed, 25 insertions, 16 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1eb76f0..2dca021 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,7 @@ Sat Aug 28 00:27:24 1999 Jerry Quinn <jquinn@nortelnetworks.com> + * hppa-dis.c (print_insn_hppa): Place completers behind prefix 'c'. + * hppa-dis.c (print_insn_hppa): Add cases for '.', '~'. '$'. and '!' * hppa-dis.c (print_insn_hppa): Look at next arg instead of bits diff --git a/opcodes/hppa-dis.c b/opcodes/hppa-dis.c index e2a778f..52bc8ce 100644 --- a/opcodes/hppa-dis.c +++ b/opcodes/hppa-dis.c @@ -418,17 +418,30 @@ print_insn_hppa (memaddr, info) case 'S': (*info->fprintf_func) (info->stream, "sr%d", extract_3 (insn)); break; + + /* Handle completers. */ case 'c': - (*info->fprintf_func) (info->stream, "%s ", - index_compl_names[GET_COMPL (insn)]); - break; - case 'C': - (*info->fprintf_func) (info->stream, "%s ", - short_ldst_compl_names[GET_COMPL (insn)]); - break; - case 'Y': - (*info->fprintf_func) (info->stream, "%s ", - short_bytes_compl_names[GET_COMPL (insn)]); + switch (*++s) + { + case 'x': + (*info->fprintf_func) (info->stream, "%s ", + index_compl_names[GET_COMPL (insn)]); + break; + case 'm': + (*info->fprintf_func) (info->stream, "%s ", + short_ldst_compl_names[GET_COMPL (insn)]); + break; + case 's': + (*info->fprintf_func) (info->stream, "%s ", + short_bytes_compl_names[GET_COMPL (insn)]); + break; + case 'Z': + if (GET_FIELD (insn, 26, 26)) + (*info->fprintf_func) (info->stream, ",m "); + else + (*info->fprintf_func) (info->stream, " "); + break; + } break; /* Handle conditions. */ @@ -647,12 +660,6 @@ print_insn_hppa (memaddr, info) case 'A': fput_const (GET_FIELD (insn, 6, 18), info); break; - case 'Z': - if (GET_FIELD (insn, 26, 26)) - (*info->fprintf_func) (info->stream, ",m "); - else - (*info->fprintf_func) (info->stream, " "); - break; case 'D': fput_const (GET_FIELD (insn, 6, 31), info); break; |