--- np2/i286c/i286c_sf.c 2003/10/16 17:57:44 1.1.1.1 +++ np2/i286c/i286c_sf.c 2003/12/08 00:55:31 1.5 @@ -1,17 +1,17 @@ #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) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_ROL1(dst, src) @@ -20,7 +20,8 @@ I286_SFT _rol_r8_1(BYTE *p) { I286_SFT _ror_r8_1(BYTE *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_ROR1(dst, src) @@ -29,7 +30,8 @@ I286_SFT _ror_r8_1(BYTE *p) { I286_SFT _rcl_r8_1(BYTE *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RCL1(dst, src) @@ -38,7 +40,8 @@ I286_SFT _rcl_r8_1(BYTE *p) { I286_SFT _rcr_r8_1(BYTE *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RCR1(dst, src) @@ -47,7 +50,8 @@ I286_SFT _rcr_r8_1(BYTE *p) { I286_SFT _shl_r8_1(BYTE *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SHL1(dst, src) @@ -56,7 +60,8 @@ I286_SFT _shl_r8_1(BYTE *p) { I286_SFT _shr_r8_1(BYTE *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SHR1(dst, src) @@ -65,7 +70,8 @@ I286_SFT _shr_r8_1(BYTE *p) { I286_SFT _sar_r8_1(BYTE *p) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SAR1(dst, src) @@ -73,60 +79,74 @@ I286_SFT _sar_r8_1(BYTE *p) { } -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); } @@ -281,7 +315,8 @@ const I286OPSFTE16 sft_e16_table[] = { I286_SFT _rol_r8_cl(BYTE *p, BYTE cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_ROLCL(dst, src, cl) @@ -290,7 +325,8 @@ I286_SFT _rol_r8_cl(BYTE *p, BYTE cl) { I286_SFT _ror_r8_cl(BYTE *p, BYTE cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RORCL(dst, src, cl) @@ -299,7 +335,8 @@ I286_SFT _ror_r8_cl(BYTE *p, BYTE cl) { I286_SFT _rcl_r8_cl(BYTE *p, BYTE cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RCLCL(dst, src, cl) @@ -308,7 +345,8 @@ I286_SFT _rcl_r8_cl(BYTE *p, BYTE cl) { I286_SFT _rcr_r8_cl(BYTE *p, BYTE cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_RCRCL(dst, src, cl) @@ -317,7 +355,8 @@ I286_SFT _rcr_r8_cl(BYTE *p, BYTE cl) { I286_SFT _shl_r8_cl(BYTE *p, BYTE cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SHLCL(dst, src, cl) @@ -326,7 +365,8 @@ I286_SFT _shl_r8_cl(BYTE *p, BYTE cl) { I286_SFT _shr_r8_cl(BYTE *p, BYTE cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SHRCL(dst, src, cl) @@ -335,7 +375,8 @@ I286_SFT _shr_r8_cl(BYTE *p, BYTE cl) { I286_SFT _sar_r8_cl(BYTE *p, BYTE cl) { - DWORD src, dst; + UINT src; + UINT dst; src = *p; BYTE_SARCL(dst, src, cl) @@ -343,67 +384,74 @@ I286_SFT _sar_r8_cl(BYTE *p, BYTE cl) { } -I286_SFT _rol_e8_cl(DWORD madr, BYTE cl) { +I286_SFT _rol_e8_cl(UINT32 madr, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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, BYTE 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}; +