From b3fe7ee28094aefa7eb930b8585e7352be0cf30f Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sun, 19 Sep 1999 20:14:30 +0000 Subject: [PATCH] * hppa-dis.c (extract_22): New function. --- opcodes/ChangeLog | 2 ++ opcodes/hppa-dis.c | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 41c80dacb9d..29e0915c947 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,7 @@ Sun Sep 19 10:41:27 1999 Jeffrey A Law (law@cygnus.com) + * hppa-dis.c (extract_22): New function. + * hppa-dis.c (print_insn_hppa): Handle 'J', 'K', and 'cc'. * hppa-dis.c (print_insn_hppa): Handle 'fe' and 'cJ'. diff --git a/opcodes/hppa-dis.c b/opcodes/hppa-dis.c index d34eeabd229..e21815e298b 100644 --- a/opcodes/hppa-dis.c +++ b/opcodes/hppa-dis.c @@ -315,6 +315,17 @@ extract_17 (word) (word & 0x1) << 16, 17) << 2; } +static int +extract_22 (word) + unsigned word; +{ + return sign_extend (GET_FIELD (word, 19, 28) | + GET_FIELD (word, 29, 29) << 10 | + GET_FIELD (word, 11, 15) << 11 | + GET_FIELD (word, 6, 10) << 16 | + (word & 0x1) << 21, 22) << 2; +} + /* Print one instruction. */ int print_insn_hppa (memaddr, info) @@ -926,7 +937,6 @@ print_insn_hppa (memaddr, info) fput_const (extract_14 (insn), info); break; - case '#': { int sign = GET_FIELD (insn, 31, 31); -- 2.30.2