* hppa-dis.c (print_insn_hppa): Add args q, %, !, and |.
authorJeff Law <law@redhat.com>
Sat, 28 Aug 1999 10:59:07 +0000 (10:59 +0000)
committerJeff Law <law@redhat.com>
Sat, 28 Aug 1999 10:59:07 +0000 (10:59 +0000)
opcodes/ChangeLog
opcodes/hppa-dis.c

index f49165f5e264c005afcc30a1ab7b1966e079b22c..1cceb1aaa793898c1ceb068072b29761c9c59b2a 100644 (file)
@@ -1,5 +1,7 @@
 Sat Aug 28 00:27:24 1999  Jerry Quinn <jquinn@nortelnetworks.com>
 
+       * hppa-dis.c (print_insn_hppa): Add args q, %, !, and |.
+
        * hppa-dis.c (MASK_10, read_write_names, add_compl_names,
        extract_10U_store):  New.
        (print_insn_hppa):  Add new completers.
index 42c364b180ae11eb25c9124840fb0a9499462064..adbc8c475bed0d2736c54d5fad458eded71626c8 100644 (file)
@@ -372,6 +372,9 @@ print_insn_hppa (memaddr, info)
                case 'E':
                  fput_fp_reg (GET_FIELD (insn, 6, 10), info);
                  break;
+               case '!':
+                 fput_creg (11, info);
+                 break;
                case 't':
                  fput_reg (GET_FIELD (insn, 27, 31), info);
                  break;
@@ -476,6 +479,10 @@ print_insn_hppa (memaddr, info)
                      if (GET_FIELD (insn, 25, 25))
                        (*info->fprintf_func) (info->stream, ",i");
                      break;
+                   case 'z':
+                     if (!GET_FIELD (insn, 21, 21))
+                       (*info->fprintf_func) (info->stream, ",z");
+                     break;
                    case 'a':
                      (*info->fprintf_func)
                        (info->stream, "%s", add_compl_names[GET_FIELD
@@ -757,10 +764,34 @@ print_insn_hppa (memaddr, info)
                  (*info->fprintf_func) (info->stream, "%d",
                                    GET_FIELD (insn, 22, 26));
                  break;
+               case 'q':
+                 {
+                   int num;
+                   num = GET_FIELD (insn, 20, 20) << 5;
+                   num |= GET_FIELD (insn, 22, 26);
+                   (*info->fprintf_func) (info->stream, "%d", num);
+                   break;
+                 }
                case 'T':
                  (*info->fprintf_func) (info->stream, "%d",
                                    32 - GET_FIELD (insn, 27, 31));
                  break;
+               case '%':
+                 {
+                   int num;
+                   num = (GET_FIELD (insn, 23, 23) + 1) * 32;
+                   num -= GET_FIELD (insn, 27, 31);
+                   (*info->fprintf_func) (info->stream, "%d", num);
+                   break;
+                 }
+               case '|':
+                 {
+                   int num;
+                   num = (GET_FIELD (insn, 19, 19) + 1) * 32;
+                   num -= GET_FIELD (insn, 27, 31);
+                   (*info->fprintf_func) (info->stream, "%d", num);
+                   break;
+                 }
                case '$':
                  fput_const (GET_FIELD (insn, 20, 28), info);
                  break;
This page took 0.027149 seconds and 4 git commands to generate.