--- np2/i286c/i286c_sf.c 2003/10/16 17:57:44 1.1.1.1 +++ np2/i286c/i286c_sf.c 2003/12/11 21:57:38 1.6 @@ -1,132 +1,152 @@ #include "compiler.h" -#include "i286.h" +#include "cpucore.h" #include "i286c.h" +#include "memory.h" #include "i286c.mcr" #include "i286c_sf.mcr" -#include "memory.h" -#include "nevent.h" // ------------------------------------------------------------------------ -I286_SFT _rol_r8_1(BYTE *p) { +I286_SFT _rol_r8_1(UINT8 *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_ROL1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _ror_r8_1(BYTE *p) { +I286_SFT _ror_r8_1(UINT8 *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_ROR1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _rcl_r8_1(BYTE *p) { +I286_SFT _rcl_r8_1(UINT8 *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RCL1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _rcr_r8_1(BYTE *p) { +I286_SFT _rcr_r8_1(UINT8 *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RCR1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _shl_r8_1(BYTE *p) { +I286_SFT _shl_r8_1(UINT8 *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SHL1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } I286_SFT _shr_r8_1(BYTE *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SHR1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } I286_SFT _sar_r8_1(BYTE *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SAR1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _rol_e8_1(DWORD madr) { +I286_SFT _rol_e8_1(UINT32 madr) { + + UINT src; + UINT dst; - DWORD src, dst; src = i286_memoryread(madr); BYTE_ROL1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _ror_e8_1(DWORD madr) { +I286_SFT _ror_e8_1(UINT32 madr) { + + UINT src; + UINT dst; - DWORD src, dst; src = i286_memoryread(madr); BYTE_ROR1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _rcl_e8_1(DWORD madr) { +I286_SFT _rcl_e8_1(UINT32 madr) { + + UINT src; + UINT dst; - DWORD src, dst; src = i286_memoryread(madr); BYTE_RCL1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _rcr_e8_1(DWORD madr) { +I286_SFT _rcr_e8_1(UINT32 madr) { + + UINT src; + UINT dst; - DWORD src, dst; src = i286_memoryread(madr); BYTE_RCR1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _shl_e8_1(DWORD madr) { +I286_SFT _shl_e8_1(UINT32 madr) { + + UINT src; + UINT dst; - DWORD src, dst; src = i286_memoryread(madr); BYTE_SHL1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _shr_e8_1(DWORD madr) { +I286_SFT _shr_e8_1(UINT32 madr) { + + UINT src; + UINT dst; - DWORD src, dst; src = i286_memoryread(madr); BYTE_SHR1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _sar_e8_1(DWORD madr) { +I286_SFT _sar_e8_1(UINT32 madr) { + + UINT src; + UINT dst; - DWORD src, dst; src = i286_memoryread(madr); BYTE_SAR1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } @@ -141,131 +161,145 @@ const I286OPSFTE8 sft_e8_table[] = { // ------------------------------------------------------------------------ -I286_SFT _rol_r16_1(WORD *p) { +I286_SFT _rol_r16_1(UINT16 *p) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_ROL1(dst, src) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _ror_r16_1(WORD *p) { +I286_SFT _ror_r16_1(UINT16 *p) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_ROR1(dst, src) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _rcl_r16_1(WORD *p) { +I286_SFT _rcl_r16_1(UINT16 *p) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_RCL1(dst, src) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _rcr_r16_1(WORD *p) { +I286_SFT _rcr_r16_1(UINT16 *p) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_RCR1(dst, src) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _shl_r16_1(WORD *p) { +I286_SFT _shl_r16_1(UINT16 *p) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_SHL1(dst, src) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _shr_r16_1(WORD *p) { +I286_SFT _shr_r16_1(UINT16 *p) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_SHR1(dst, src) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _sar_r16_1(WORD *p) { +I286_SFT _sar_r16_1(UINT16 *p) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_SAR1(dst, src) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _rol_e16_1(DWORD madr) { +I286_SFT _rol_e16_1(UINT32 madr) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_ROL1(dst, src) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _ror_e16_1(DWORD madr) { +I286_SFT _ror_e16_1(UINT32 madr) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_ROR1(dst, src) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _rcl_e16_1(DWORD madr) { +I286_SFT _rcl_e16_1(UINT32 madr) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_RCL1(dst, src) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _rcr_e16_1(DWORD madr) { +I286_SFT _rcr_e16_1(UINT32 madr) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_RCR1(dst, src) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _shl_e16_1(DWORD madr) { +I286_SFT _shl_e16_1(UINT32 madr) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_SHL1(dst, src) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _shr_e16_1(DWORD madr) { +I286_SFT _shr_e16_1(UINT32 madr) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_SHR1(dst, src) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _sar_e16_1(DWORD madr) { +I286_SFT _sar_e16_1(UINT32 madr) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_SAR1(dst, src) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } @@ -279,131 +313,145 @@ const I286OPSFTE16 sft_e16_table[] = { // ------------------------------------------------------------------------ -I286_SFT _rol_r8_cl(BYTE *p, BYTE cl) { +I286_SFT _rol_r8_cl(UINT8 *p, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_ROLCL(dst, src, cl) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _ror_r8_cl(BYTE *p, BYTE cl) { +I286_SFT _ror_r8_cl(UINT8 *p, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RORCL(dst, src, cl) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _rcl_r8_cl(BYTE *p, BYTE cl) { +I286_SFT _rcl_r8_cl(UINT8 *p, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RCLCL(dst, src, cl) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _rcr_r8_cl(BYTE *p, BYTE cl) { +I286_SFT _rcr_r8_cl(UINT8 *p, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RCRCL(dst, src, cl) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _shl_r8_cl(BYTE *p, BYTE cl) { +I286_SFT _shl_r8_cl(UINT8 *p, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SHLCL(dst, src, cl) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _shr_r8_cl(BYTE *p, BYTE cl) { +I286_SFT _shr_r8_cl(UINT8 *p, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SHRCL(dst, src, cl) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _sar_r8_cl(BYTE *p, BYTE cl) { +I286_SFT _sar_r8_cl(UINT8 *p, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SARCL(dst, src, cl) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _rol_e8_cl(DWORD madr, BYTE cl) { +I286_SFT _rol_e8_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = i286_memoryread(madr); BYTE_ROLCL(dst, src, cl) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _ror_e8_cl(DWORD madr, BYTE cl) { +I286_SFT _ror_e8_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = i286_memoryread(madr); BYTE_RORCL(dst, src, cl) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _rcl_e8_cl(DWORD madr, BYTE cl) { +I286_SFT _rcl_e8_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = i286_memoryread(madr); BYTE_RCLCL(dst, src, cl) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _rcr_e8_cl(DWORD madr, BYTE cl) { +I286_SFT _rcr_e8_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = i286_memoryread(madr); BYTE_RCRCL(dst, src, cl) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _shl_e8_cl(DWORD madr, BYTE cl) { +I286_SFT _shl_e8_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = i286_memoryread(madr); BYTE_SHLCL(dst, src, cl) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _shr_e8_cl(DWORD madr, BYTE cl) { +I286_SFT _shr_e8_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = i286_memoryread(madr); BYTE_SHRCL(dst, src, cl) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } -I286_SFT _sar_e8_cl(DWORD madr, BYTE cl) { +I286_SFT _sar_e8_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT src; + UINT dst; src = i286_memoryread(madr); BYTE_SARCL(dst, src, cl) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } @@ -418,131 +466,145 @@ const I286OPSFTE8CL sft_e8cl_table[] = { // ------------------------------------------------------------------------ -I286_SFT _rol_r16_cl(WORD *p, BYTE cl) { +I286_SFT _rol_r16_cl(UINT16 *p, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_ROLCL(dst, src, cl) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _ror_r16_cl(WORD *p, BYTE cl) { +I286_SFT _ror_r16_cl(UINT16 *p, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_RORCL(dst, src, cl) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _rcl_r16_cl(WORD *p, BYTE cl) { +I286_SFT _rcl_r16_cl(UINT16 *p, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_RCLCL(dst, src, cl) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _rcr_r16_cl(WORD *p, BYTE cl) { +I286_SFT _rcr_r16_cl(UINT16 *p, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_RCRCL(dst, src, cl) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _shl_r16_cl(WORD *p, BYTE cl) { +I286_SFT _shl_r16_cl(UINT16 *p, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_SHLCL(dst, src, cl) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _shr_r16_cl(WORD *p, BYTE cl) { +I286_SFT _shr_r16_cl(UINT16 *p, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_SHRCL(dst, src, cl) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _sar_r16_cl(WORD *p, BYTE cl) { +I286_SFT _sar_r16_cl(UINT16 *p, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = *p; WORD_SARCL(dst, src, cl) - *p = (WORD)dst; + *p = (UINT16)dst; } -I286_SFT _rol_e16_cl(DWORD madr, BYTE cl) { +I286_SFT _rol_e16_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_ROLCL(dst, src, cl) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _ror_e16_cl(DWORD madr, BYTE cl) { +I286_SFT _ror_e16_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_RORCL(dst, src, cl) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _rcl_e16_cl(DWORD madr, BYTE cl) { +I286_SFT _rcl_e16_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_RCLCL(dst, src, cl) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _rcr_e16_cl(DWORD madr, BYTE cl) { +I286_SFT _rcr_e16_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_RCRCL(dst, src, cl) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _shl_e16_cl(DWORD madr, BYTE cl) { +I286_SFT _shl_e16_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_SHLCL(dst, src, cl) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _shr_e16_cl(DWORD madr, BYTE cl) { +I286_SFT _shr_e16_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_SHRCL(dst, src, cl) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _sar_e16_cl(DWORD madr, BYTE cl) { +I286_SFT _sar_e16_cl(UINT32 madr, REG8 cl) { - DWORD src, dst; + UINT32 src; + UINT32 dst; src = i286_memoryread_w(madr); WORD_SARCL(dst, src, cl) - i286_memorywrite_w(madr, (WORD)dst); + i286_memorywrite_w(madr, (REG16)dst); } @@ -553,3 +615,4 @@ const I286OPSFTR16CL sft_r16cl_table[] = const I286OPSFTE16CL sft_e16cl_table[] = { _rol_e16_cl, _ror_e16_cl, _rcl_e16_cl, _rcr_e16_cl, _shl_e16_cl, _shr_e16_cl, _shl_e16_cl, _sar_e16_cl}; +