diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 2 | ||||
-rw-r--r-- | opcodes/hppa-dis.c | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 6efe115..1eb76f0 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): Add cases for '.', '~'. '$'. and '!' + * hppa-dis.c (print_insn_hppa): Look at next arg instead of bits to decide to print a space. diff --git a/opcodes/hppa-dis.c b/opcodes/hppa-dis.c index 2e68f34..f73fa9f 100644 --- a/opcodes/hppa-dis.c +++ b/opcodes/hppa-dis.c @@ -614,10 +614,22 @@ print_insn_hppa (memaddr, info) of address. */ fput_const (extract_17 (insn), info); break; + case '.': + (*info->fprintf_func) (info->stream, "%d", + GET_FIELD (insn, 24, 25)); + break; case 'p': (*info->fprintf_func) (info->stream, "%d", 31 - GET_FIELD (insn, 22, 26)); break; + case '~': + { + int num; + num = GET_FIELD (insn, 20, 20) << 5; + num |= GET_FIELD (insn, 22, 26); + (*info->fprintf_func) (info->stream, "%d", 63 - num); + break; + } case 'P': (*info->fprintf_func) (info->stream, "%d", GET_FIELD (insn, 22, 26)); @@ -626,6 +638,9 @@ print_insn_hppa (memaddr, info) (*info->fprintf_func) (info->stream, "%d", 32 - GET_FIELD (insn, 27, 31)); break; + case '$': + fput_const (GET_FIELD (insn, 20, 28), info); + break; case 'A': fput_const (GET_FIELD (insn, 6, 18), info); break; |