* opcodess/arm-opc.h (arm_opcodes): Add cirrus insns.
[deliverable/binutils-gdb.git] / opcodes / arm-dis.c
index 61038ae7d523f984f7d99de2e5078cc2139bf8d7..104b933bbc2fb1f1591701f703ea5de75ec09828 100644 (file)
@@ -445,6 +445,25 @@ print_insn_arm (pc, info, given)
                      }
                      break;
 
+                   case 'I':
+                     /* Print a Cirrus/DSP shift immediate.  */
+                     /* Immediates are 7bit signed ints with bits 0..3 in
+                        bits 0..3 of opcode and bits 4..6 in bits 5..7
+                        of opcode.  */
+                     {
+                       int imm;
+
+                       imm = (given & 0xf) | ((given & 0xe0) >> 1);
+
+                       /* Is ``imm'' a negative number?  */
+                       if (imm & 0x40)
+                         imm |= (-1 << 7);
+
+                       func (stream, "%d", imm);
+                     }
+
+                     break;
+
                    case 'C':
                      func (stream, "_");
                      if (given & 0x80000)
This page took 0.02334 seconds and 4 git commands to generate.