Add new field to disassemble_info structure: symbol_is_valid() and use it to
[deliverable/binutils-gdb.git] / opcodes / d10v-dis.c
index 29996ad29590c2c5271be3da707d4fc3eec9c918..433fd518326e93904b62f42980339360e8cfbbb1 100644 (file)
@@ -123,7 +123,7 @@ print_operand (oper, insn, op, memaddr, info)
        num += num ? OPERAND_ACC1 : OPERAND_ACC0;
       for (i = 0; i < d10v_reg_name_cnt (); i++)
        {
-         if (num == d10v_predefined_registers[i].value)
+         if (num == (d10v_predefined_registers[i].value & ~ OPERAND_SP))
            {
              if (d10v_predefined_registers[i].pname)
                (*info->fprintf_func) (info->stream, "%s",
@@ -145,7 +145,7 @@ print_operand (oper, insn, op, memaddr, info)
            (*info->fprintf_func) (info->stream, "cr");
          else if (oper->flags & OPERAND_REG)
            (*info->fprintf_func) (info->stream, "r");
-         (*info->fprintf_func) (info->stream, "%d", num);
+         (*info->fprintf_func) (info->stream, "%d", num & REGISTER_MASK);
        }
     }
   else
@@ -202,7 +202,7 @@ dis_long (insn, memaddr, info)
 
   while (op->name)
     {
-      if ((op->format & LONG_OPCODE) && ((op->mask & insn) == op->opcode))
+      if ((op->format & LONG_OPCODE) && ((op->mask & insn) == (unsigned long) op->opcode))
        {
          match = 1;
          (*info->fprintf_func) (info->stream, "%s\t", op->name);
@@ -253,7 +253,7 @@ dis_2_short (insn, memaddr, info, order)
       while (op->name)
        {
          if ((op->format & SHORT_OPCODE)
-             && ((op->mask & ins[j]) == op->opcode))
+             && ((op->mask & ins[j]) == (unsigned long) op->opcode))
            {
              (*info->fprintf_func) (info->stream, "%s\t", op->name);
              for (i = 0; op->operands[i]; i++)
This page took 0.024154 seconds and 4 git commands to generate.