Browse Source

added disassembly to unimplemented instruction

bunnei 12 years ago
parent
commit
6151e26958
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/core/arm/interpreter/armsupp.cpp

+ 6 - 1
src/core/arm/interpreter/armsupp.cpp

@@ -17,9 +17,11 @@
 
 
 #include "armdefs.h"
 #include "armdefs.h"
 #include "armemu.h"
 #include "armemu.h"
+
 //#include "ansidecl.h"
 //#include "ansidecl.h"
 #include "skyeye_defs.h"
 #include "skyeye_defs.h"
 #include "core/hle/hle.h"
 #include "core/hle/hle.h"
+#include "core/arm/disassembler/arm_disasm.h"
 
 
 unsigned xscale_cp15_cp_access_allowed (ARMul_State * state, unsigned reg,
 unsigned xscale_cp15_cp_access_allowed (ARMul_State * state, unsigned reg,
                                         unsigned cpnum);
                                         unsigned cpnum);
@@ -846,7 +848,10 @@ ARMul_CDP (ARMul_State * state, ARMword instr)
 void
 void
 ARMul_UndefInstr (ARMul_State * state, ARMword instr)
 ARMul_UndefInstr (ARMul_State * state, ARMword instr)
 {
 {
-	ERROR_LOG(ARM11, "Undefined instruction!! Instr: 0x%x", instr);
+	char buff[512];
+	ARM_Disasm disasm = ARM_Disasm();
+	disasm.disasm(state->pc, instr, buff);
+	ERROR_LOG(ARM11, "Undefined instruction!! Disasm: %s Opcode: 0x%x", buff, instr);
 	ARMul_Abort (state, ARMul_UndefinedInstrV);
 	ARMul_Abort (state, ARMul_UndefinedInstrV);
 }
 }