start-sanitize-d10v

Mon Jul 22 11:25:24 1996  Martin M. Hunt  <hunt@pizza.cygnus.com>
        * d10v-opc.c (pre_defined_registers):  Declare.
        * d10v-dis.c (print_operand): Now uses pre_defined_registers
        to pick a better name for the registers.

end-sanitize-d10v
This commit is contained in:
Martin Hunt
1996-07-22 18:57:20 +00:00
parent c38655b90f
commit 95e3e73328
3 changed files with 82 additions and 11 deletions

View File

@@ -106,18 +106,37 @@ print_operand (buf, oper, insn, op)
num = (insn >> shift) & (0x7FFFFFFF >> (31 - oper->bits));
if (oper->flags & OPERAND_ACC)
*buf++ = 'a';
else if (oper->flags & OPERAND_CONTROL)
{
*buf++ ='c';
*buf++ ='r';
}
else if(oper->flags & OPERAND_REG)
*buf++ = 'r';
if (oper->flags & OPERAND_REG)
sprintf (buf, "%d", num);
{
int i;
int match=0;
num += oper->flags & (OPERAND_ACC|OPERAND_FLAG|OPERAND_CONTROL);
for (i=0;i<reg_name_cnt();i++)
{
if (num == pre_defined_registers[i].value)
{
if (pre_defined_registers[i].pname)
strcpy(buf,pre_defined_registers[i].pname);
else
strcpy(buf,pre_defined_registers[i].name);
match=1;
break;
}
}
if (match==0)
{
if (oper->flags & OPERAND_ACC)
*buf++ = 'a';
else if (oper->flags & OPERAND_CONTROL)
{
*buf++ ='c';
*buf++ ='r';
}
else if(oper->flags & OPERAND_REG)
*buf++ = 'r';
sprintf (buf, "%d", num);
}
}
else
sprintf (buf, "0x%x", num);
}