--- np2/i386c/ia32/instructions/misc_inst.c 2003/12/22 18:00:31 1.2 +++ np2/i386c/ia32/instructions/misc_inst.c 2004/02/20 16:09:05 1.7 @@ -1,4 +1,4 @@ -/* $Id: misc_inst.c,v 1.2 2003/12/22 18:00:31 monaka Exp $ */ +/* $Id: misc_inst.c,v 1.7 2004/02/20 16:09:05 monaka Exp $ */ /* * Copyright (c) 2002-2003 NONAKA Kimihiro @@ -38,15 +38,15 @@ void LEA_GwM(void) { - WORD *out; - DWORD op, dst; + UINT16 *out; + UINT32 op, dst; GET_PCBYTE(op); if (op < 0xc0) { - CPU_WORKCLOCK(3); + CPU_WORKCLOCK(2); out = reg16_b53[op]; - dst = calc_lea(op); - *out = dst; + dst = calc_ea_dst(op); + *out = (UINT16)dst; return; } EXCEPTION(UD_EXCEPTION, 0); @@ -55,14 +55,14 @@ LEA_GwM(void) void LEA_GdM(void) { - DWORD *out; - DWORD op, dst; + UINT32 *out; + UINT32 op, dst; GET_PCBYTE(op); if (op < 0xc0) { - CPU_WORKCLOCK(3); + CPU_WORKCLOCK(2); out = reg32_b53[op]; - dst = calc_lea(op); + dst = calc_ea_dst(op); *out = dst; return; } @@ -130,7 +130,7 @@ SALC(void) { CPU_WORKCLOCK(2); - CPU_AL = (CPU_FLAGL & C_FLAG) - 1; + CPU_AL = (CPU_FLAGL & C_FLAG) ? 0xff : 0; } /* undoc 286 */ @@ -166,20 +166,18 @@ AddrSize(void) void _2byte_ESC16(void) { - DWORD op; + UINT32 op; GET_PCBYTE(op); - PROFILE_INC_INST_2BYTE(op); (*insttable_2byte[0][op])(); } void _2byte_ESC32(void) { - DWORD op; + UINT32 op; GET_PCBYTE(op); - PROFILE_INC_INST_2BYTE(op); (*insttable_2byte[1][op])(); }