aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorDoug Evans <dje@google.com>1998-01-25 23:34:09 +0000
committerDoug Evans <dje@google.com>1998-01-25 23:34:09 +0000
commit17893656c150e461a5a09a3f2ae71163f6ce2d94 (patch)
tree056f62c88b2e00cecbe1bf9308d205ef0e36262d /opcodes
parent0776b0b0da69ddb906b4d877a9ce69b4ee14dfb3 (diff)
downloadgdb-17893656c150e461a5a09a3f2ae71163f6ce2d94.zip
gdb-17893656c150e461a5a09a3f2ae71163f6ce2d94.tar.gz
gdb-17893656c150e461a5a09a3f2ae71163f6ce2d94.tar.bz2
checkpoint
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/txvu-opc.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/opcodes/txvu-opc.c b/opcodes/txvu-opc.c
index 8a3a2a3..ad6e5ee 100644
--- a/opcodes/txvu-opc.c
+++ b/opcodes/txvu-opc.c
@@ -56,6 +56,7 @@ PRINT_FN (dotdest);
PARSE_FN (dotdest1);
PARSE_FN (dest1);
+PRINT_FN (dest1);
PARSE_FN (bc);
EXTRACT_FN (bc);
@@ -218,7 +219,7 @@ const struct txvu_operand txvu_operands[] =
/* Destination indicator, single letter only, no leading '.'. */
#define LDEST1 (LDOTDEST1 + 1)
- { 0, 0, 0, parse_dest1, 0, 0, print_dotdest },
+ { 0, 0, 0, parse_dest1, 0, 0, print_dest1 },
/* end of list place holder */
{ 0 }
@@ -459,12 +460,12 @@ struct txvu_opcode txvu_lower_opcodes[] = {
{ "ibltz", { SP, LISREG, C, LPCREL11 }, MLOP7 + MDEST + MT, VLOP7 (0x2c) },
{ "ibne", { SP, LITREG, C, LISREG, C, LPCREL11 }, MLOP7 + MDEST, VLOP7 (0x29) },
{ "ilw", { LDOTDEST1, SP, LITREG, C, LIMM11, '(', LISREG, ')', LDEST1 }, MLOP7, VLOP7 (0x04) },
- { "ilwr", { LDOTDEST1, SP, LITREG, C, '(', LISREG, ')', LDEST1 }, MLOP7, VLOP7 (0x40) + VLIMM11 (0x3fe) },
+ { "ilwr", { LDOTDEST1, SP, LITREG, C, '(', LISREG, ')', LDEST1 }, MLOP7 + MLIMM11, VLOP7 (0x40) + VLIMM11 (0x3fe) },
{ "ior", { SP, LIDREG, C, LISREG, C, LITREG }, MLOP7 + MDEST + MLOP6, VLOP7 (0x40) + VLOP6 (0x34) },
{ "isub", { SP, LIDREG, C, LISREG, C, LITREG }, MLOP7 + MDEST + MLOP6, VLOP7 (0x40) + VLOP6 (0x31) },
{ "isubiu", { SP, LITREG, C, LISREG, C, LUIMM15 }, MLOP7, VLOP7 (0x09) },
{ "isw", { LDOTDEST1, SP, LITREG, C, LIMM11, '(', LISREG, ')', LDEST1 }, MLOP7, VLOP7 (0x05) },
- { "iswr", { LDOTDEST1, SP, LITREG, C, '(', LISREG, ')', LDEST1 }, MLOP7, VLOP7 (0x40) + VLIMM11 (0x3ff) },
+ { "iswr", { LDOTDEST1, SP, LITREG, C, '(', LISREG, ')', LDEST1 }, MLOP7 + MLIMM11, VLOP7 (0x40) + VLIMM11 (0x3ff) },
{ "jalr", { SP, LITREG, C, LISREG }, MLOP7 + MDEST + MLIMM11, VLOP7 (0x25) },
{ "jr", { SP, LISREG }, MLOP7 + MDEST + MT + MLIMM11, VLOP7 (0x24) },
{ "lq", { DOTDEST, SP, VFTREG, C, LIMM11, '(', LISREG, ')' }, MLOP7, VLOP7 (0x00) },
@@ -810,6 +811,15 @@ print_dotdest (info, insn, value)
(*info->fprintf_func) (info->stream, ".");
_print_dest (info, insn, value);
}
+
+static void
+print_dest1 (info, insn, value)
+ disassemble_info *info;
+ TXVU_INSN insn;
+ long value;
+{
+ _print_dest (info, insn, mnemonic_dest);
+}
/* Utilities for single destination choice handling. */
@@ -1107,7 +1117,7 @@ print_ffstreg (info, insn, value)
TXVU_INSN insn;
long value;
{
- (*info->fprintf_func) (info->stream, "vf%ld", value & TXVU_MASK_REG);
+ (*info->fprintf_func) (info->stream, "vf%02ld", value & TXVU_MASK_REG);
print_sdest (info, insn, (value >> 5) & 3);
}
@@ -1177,7 +1187,7 @@ print_freg (info, insn, value)
TXVU_INSN insn;
long value;
{
- (*info->fprintf_func) (info->stream, "vf%ld", value);
+ (*info->fprintf_func) (info->stream, "vf%02ld", value);
}
/* I register. */
@@ -1219,7 +1229,7 @@ print_ireg (info, insn, value)
TXVU_INSN insn;
long value;
{
- (*info->fprintf_func) (info->stream, "vi%ld", value);
+ (*info->fprintf_func) (info->stream, "vi%02ld", value);
}
/* VI01 register. */