summaryrefslogtreecommitdiff
path: root/opcodes/hppa-dis.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1999-08-28 06:45:18 +0000
committerJeff Law <law@redhat.com>1999-08-28 06:45:18 +0000
commit75c92b0112b71fa71a69a8b043cab50f4de8b909 (patch)
tree62f836f7511c55996ad4715c4fba48368312bc12 /opcodes/hppa-dis.c
parent4785d1593c621be28225bacffca649adfd199dcb (diff)
downloadbinutils-redhat-75c92b0112b71fa71a69a8b043cab50f4de8b909.tar.gz
* hppa-dis.c (print_insn_hppa): Add cases for '.', '~'. '$'. and '!'
Diffstat (limited to 'opcodes/hppa-dis.c')
-rw-r--r--opcodes/hppa-dis.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/opcodes/hppa-dis.c b/opcodes/hppa-dis.c
index 2e68f34741..f73fa9f99f 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;