[ i86/v30 ]\r
*/\r
\r
-// disable warnings C4146 for microsoft visual c++ 2005\r
#if defined(_MSC_VER) && (_MSC_VER >= 1400)\r
#pragma warning( disable : 4146 )\r
+#pragma warning( disable : 4996 )\r
#endif\r
\r
#include "i86.h"\r
typedef enum { AX, CX, DX, BX, SP, BP, SI, DI } WREGS;\r
\r
typedef enum {\r
-#ifdef _BIG_ENDIAN\r
+#ifdef __BIG_ENDIAN__\r
AH, AL, CH, CL, DH, DL, BH, BL,\r
SPH, SPL, BPH, BPL, SIH, SIL, DIH, DIL,\r
#else\r
return true;\r
}\r
\r
-void I86::debug_regs_info(_TCHAR *buffer)\r
+void I86::debug_regs_info(_TCHAR *buffer, size_t buffer_len)\r
{\r
- _stprintf(buffer, _T("AX=%04X BX=%04X CX=%04X DX=%04X SP=%04X BP=%04X SI=%04X DI=%04X\nDS=%04X ES=%04X SS=%04X CS=%04X IP=%04X FLAG=[%c%c%c%c%c%c%c%c%c]"),\r
+ _stprintf_s(buffer, buffer_len,\r
+ _T("AX=%04X BX=%04X CX=%04X DX=%04X SP=%04X BP=%04X SI=%04X DI=%04X\nDS=%04X ES=%04X SS=%04X CS=%04X IP=%04X FLAG=[%c%c%c%c%c%c%c%c%c]"),\r
regs.w[AX], regs.w[BX], regs.w[CX], regs.w[DX], regs.w[SP], regs.w[BP], regs.w[SI], regs.w[DI], sregs[DS], sregs[ES], sregs[SS], sregs[CS], (uint16)(pc - base[CS]),\r
OF ? _T('O') : _T('-'), DF ? _T('D') : _T('-'), IF ? _T('I') : _T('-'), TF ? _T('T') : _T('-'),\r
SF ? _T('S') : _T('-'), ZF ? _T('Z') : _T('-'), AF ? _T('A') : _T('-'), PF ? _T('P') : _T('-'), CF ? _T('C') : _T('-'));\r
}\r
\r
-int I86::debug_dasm(uint32 pc, _TCHAR *buffer)\r
+int I86::debug_dasm(uint32 pc, _TCHAR *buffer, size_t buffer_len)\r
{\r
UINT32 eip = (UINT32)(uint16)(pc - base[CS]);\r
UINT8 ops[16];\r
AuxVal = 1;\r
SetSZPF_Byte(dst);\r
break;\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)\r
+ default:\r
+ __assume(0);\r
+#else\r
default:\r
//__assume(0);\r
break;\r
+#endif\r
}\r
} else {\r
icount -= (ModRM >= 0xc0) ? timing.rot_reg_base + timing.rot_reg_bit : timing.rot_m8_base + timing.rot_m8_bit;\r
AuxVal = 1;\r
PutbackRMByte(ModRM, (uint8)dst);\r
break;\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)\r
+ default:\r
+ __assume(0);\r
+#else\r
default:\r
//__assume(0);\r
break;\r
+#endif\r
}\r
}\r
}\r
AuxVal = 1;\r
SetSZPF_Word(dst);\r
break;\r
+#if defined(_MSC_VER) && (_MSC_VER >= 1200)\r
+ default:\r
+ __assume(0);\r
+#else\r
default:\r
//__assume(0);\r
break;\r
+#endif\r
}\r
} else {\r
icount -= (ModRM >= 0xc0) ? timing.rot_reg_base + timing.rot_reg_bit : timing.rot_m8_base + timing.rot_m16_bit;\r