disassembler: Decode operands of new jump instructions
authorMichael Buesch <mb@bu3sch.de>
Thu, 23 Sep 2010 18:31:17 +0000 (20:31 +0200)
committerMichael Buesch <mb@bu3sch.de>
Thu, 23 Sep 2010 18:31:17 +0000 (20:31 +0200)
Signed-off-by: Michael Buesch <mb@bu3sch.de>
disassembler/main.c

index b73c3bf2c36ea20d0b65bdc9d9386457d5ccb154..b0d2c7b04dcd993fbd2178dc9a80eb52b2ebac07 100644 (file)
@@ -456,6 +456,33 @@ static void disasm_constant_opcodes(struct disassembler_context *ctx,
                disasm_std_operand(stmt, 0, 0);
                disasm_std_operand(stmt, 1, 1);
                break;
+       case 0x0D6:
+               stmt->u.insn.name = "@D6"; /* FIXME */
+               stmt->u.insn.is_labelref = 2;
+               stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
+               disasm_std_operand(stmt, 0, 0);
+               disasm_std_operand(stmt, 1, 1);
+               break;
+       case (0x0D6 | 0x1):
+               stmt->u.insn.name = "@D7"; /* FIXME */
+               stmt->u.insn.is_labelref = 2;
+               stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
+               disasm_std_operand(stmt, 0, 0);
+               disasm_std_operand(stmt, 1, 1);
+       case 0x0D8:
+               stmt->u.insn.name = "@D8"; /* FIXME */
+               stmt->u.insn.is_labelref = 2;
+               stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
+               disasm_std_operand(stmt, 0, 0);
+               disasm_std_operand(stmt, 1, 1);
+               break;
+       case (0x0D8 | 0x1):
+               stmt->u.insn.name = "@D9"; /* FIXME */
+               stmt->u.insn.is_labelref = 2;
+               stmt->u.insn.labeladdr = stmt->u.insn.bin->operands[2];
+               disasm_std_operand(stmt, 0, 0);
+               disasm_std_operand(stmt, 1, 1);
+               break;
        case 0x0DA:
                stmt->u.insn.name = "jl";
                stmt->u.insn.is_labelref = 2;