aboutsummaryrefslogtreecommitdiff
path: root/opcodes/nds32-dis.c
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/nds32-dis.c')
-rw-r--r--opcodes/nds32-dis.c57
1 files changed, 43 insertions, 14 deletions
diff --git a/opcodes/nds32-dis.c b/opcodes/nds32-dis.c
index 6656342..e88e3bf 100644
--- a/opcodes/nds32-dis.c
+++ b/opcodes/nds32-dis.c
@@ -155,7 +155,7 @@ nds32_parse_audio_ext (const field_t *pfd,
else
int_value = __GF (insn, pfd->bitpos, pfd->bitsize) << pfd->shift;
- if (int_value < 0)
+ if (int_value < 10)
func (stream, "#%d", int_value);
else
func (stream, "#0x%x", int_value);
@@ -269,7 +269,7 @@ nds32_parse_opcode (struct nds32_opcode *opc, bfd_vma pc ATTRIBUTE_UNUSED,
else if (strstr (opc->instruction, "tito"))
func (stream, "%s", opc->opcode);
else
- func (stream, "%s ", opc->opcode);
+ func (stream, "%s\t", opc->opcode);
}
while (*pstr_src)
@@ -280,7 +280,7 @@ nds32_parse_opcode (struct nds32_opcode *opc, bfd_vma pc ATTRIBUTE_UNUSED,
case '=':
case '&':
pstr_src++;
- /* compare with operand_fields[].name. */
+ /* Compare with operand_fields[].name. */
pstr_tmp = &tmp_string[0];
while (*pstr_src)
{
@@ -304,7 +304,7 @@ nds32_parse_opcode (struct nds32_opcode *opc, bfd_vma pc ATTRIBUTE_UNUSED,
pfd++;
}
- /* for insn-16. */
+ /* For insn-16. */
if (parse_mode & NDS32_PARSE_INSN16)
{
if (pfd->hw_res == HW_GPR)
@@ -373,13 +373,18 @@ nds32_parse_opcode (struct nds32_opcode *opc, bfd_vma pc ATTRIBUTE_UNUSED,
}
else if (pfd->hw_res == HW_INT)
{
- if (int_value < 0)
+ if (int_value < 10)
func (stream, "#%d", int_value);
else
func (stream, "#0x%x", int_value);
}
- else /* if(pfd->hw_res == HW_UINT). */
- func (stream, "#0x%x", int_value);
+ else /* if (pfd->hw_res == HW_UINT). */
+ {
+ if (int_value < 10)
+ func (stream, "#%u", int_value);
+ else
+ func (stream, "#0x%x", int_value);
+ }
}
}
@@ -491,14 +496,17 @@ nds32_parse_opcode (struct nds32_opcode *opc, bfd_vma pc ATTRIBUTE_UNUSED,
}
else if (pfd->hw_res == HW_INT)
{
- if (int_value < 0)
+ if (int_value < 10)
func (stream, "#%d", int_value);
else
func (stream, "#0x%x", int_value);
}
- else /* if(pfd->hw_res == HW_UINT). */
+ else /* if (pfd->hw_res == HW_UINT). */
{
- func (stream, "#0x%x", int_value);
+ if (int_value < 10)
+ func (stream, "#%u", int_value);
+ else
+ func (stream, "#0x%x", int_value);
}
}
break;
@@ -508,13 +516,34 @@ nds32_parse_opcode (struct nds32_opcode *opc, bfd_vma pc ATTRIBUTE_UNUSED,
pstr_src++;
break;
+ case ',':
+ func (stream, ", ");
+ pstr_src++;
+ break;
+
+ case '+':
+ func (stream, " + ");
+ pstr_src++;
+ break;
+
+ case '<':
+ if (pstr_src[1] == '<')
+ {
+ func (stream, " << ");
+ pstr_src += 2;
+ }
+ else
+ {
+ func (stream, " <");
+ pstr_src++;
+ }
+ break;
+
default:
func (stream, "%c", *pstr_src++);
break;
- } /* switch (*pstr_src). */
-
- } /* while (*pstr_src). */
- return;
+ }
+ }
}
/* Filter instructions with some bits must be fixed. */