--- np2/i286c/i286c_sf.c 2003/10/21 11:22:05 1.3 +++ np2/i286c/i286c_sf.c 2003/12/12 01:04:40 1.7 @@ -1,61 +1,60 @@ #include "compiler.h" -#include "i286.h" +#include "cpucore.h" #include "i286c.h" -#include "memory.h" #include "i286c.mcr" #include "i286c_sf.mcr" // ------------------------------------------------------------------------ -I286_SFT _rol_r8_1(BYTE *p) { +I286_SFT _rol_r8_1(UINT8 *p) { 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) { 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) { 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) { 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) { UINT src; UINT dst; src = *p; BYTE_SHL1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } I286_SFT _shr_r8_1(BYTE *p) { @@ -65,7 +64,7 @@ I286_SFT _shr_r8_1(BYTE *p) { src = *p; BYTE_SHR1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } I286_SFT _sar_r8_1(BYTE *p) { @@ -75,7 +74,7 @@ I286_SFT _sar_r8_1(BYTE *p) { src = *p; BYTE_SAR1(dst, src) - *p = (BYTE)dst; + *p = (UINT8)dst; } @@ -86,7 +85,7 @@ I286_SFT _rol_e8_1(UINT32 madr) { src = i286_memoryread(madr); BYTE_ROL1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } I286_SFT _ror_e8_1(UINT32 madr) { @@ -96,7 +95,7 @@ I286_SFT _ror_e8_1(UINT32 madr) { src = i286_memoryread(madr); BYTE_ROR1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } I286_SFT _rcl_e8_1(UINT32 madr) { @@ -106,7 +105,7 @@ I286_SFT _rcl_e8_1(UINT32 madr) { src = i286_memoryread(madr); BYTE_RCL1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } I286_SFT _rcr_e8_1(UINT32 madr) { @@ -116,7 +115,7 @@ I286_SFT _rcr_e8_1(UINT32 madr) { src = i286_memoryread(madr); BYTE_RCR1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } I286_SFT _shl_e8_1(UINT32 madr) { @@ -126,7 +125,7 @@ I286_SFT _shl_e8_1(UINT32 madr) { src = i286_memoryread(madr); BYTE_SHL1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } I286_SFT _shr_e8_1(UINT32 madr) { @@ -136,7 +135,7 @@ I286_SFT _shr_e8_1(UINT32 madr) { src = i286_memoryread(madr); BYTE_SHR1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } I286_SFT _sar_e8_1(UINT32 madr) { @@ -146,7 +145,7 @@ I286_SFT _sar_e8_1(UINT32 madr) { src = i286_memoryread(madr); BYTE_SAR1(dst, src) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } @@ -239,7 +238,7 @@ I286_SFT _rol_e16_1(UINT32 madr) { src = i286_memoryread_w(madr); WORD_ROL1(dst, src) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } I286_SFT _ror_e16_1(UINT32 madr) { @@ -249,7 +248,7 @@ I286_SFT _ror_e16_1(UINT32 madr) { src = i286_memoryread_w(madr); WORD_ROR1(dst, src) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } I286_SFT _rcl_e16_1(UINT32 madr) { @@ -259,7 +258,7 @@ I286_SFT _rcl_e16_1(UINT32 madr) { src = i286_memoryread_w(madr); WORD_RCL1(dst, src) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } I286_SFT _rcr_e16_1(UINT32 madr) { @@ -269,7 +268,7 @@ I286_SFT _rcr_e16_1(UINT32 madr) { src = i286_memoryread_w(madr); WORD_RCR1(dst, src) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } I286_SFT _shl_e16_1(UINT32 madr) { @@ -279,7 +278,7 @@ I286_SFT _shl_e16_1(UINT32 madr) { src = i286_memoryread_w(madr); WORD_SHL1(dst, src) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } I286_SFT _shr_e16_1(UINT32 madr) { @@ -289,7 +288,7 @@ I286_SFT _shr_e16_1(UINT32 madr) { src = i286_memoryread_w(madr); WORD_SHR1(dst, src) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } I286_SFT _sar_e16_1(UINT32 madr) { @@ -299,7 +298,7 @@ I286_SFT _sar_e16_1(UINT32 madr) { src = i286_memoryread_w(madr); WORD_SAR1(dst, src) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } @@ -313,145 +312,145 @@ const I286OPSFTE16 sft_e16_table[] = { // ------------------------------------------------------------------------ -I286_SFT _rol_r8_cl(BYTE *p, BYTE cl) { +I286_SFT _rol_r8_cl(UINT8 *p, REG8 cl) { 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) { 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) { 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) { 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) { 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) { 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) { UINT src; UINT dst; src = *p; BYTE_SARCL(dst, src, cl) - *p = (BYTE)dst; + *p = (UINT8)dst; } -I286_SFT _rol_e8_cl(UINT32 madr, BYTE cl) { +I286_SFT _rol_e8_cl(UINT32 madr, REG8 cl) { 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(UINT32 madr, BYTE cl) { +I286_SFT _ror_e8_cl(UINT32 madr, REG8 cl) { 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(UINT32 madr, BYTE cl) { +I286_SFT _rcl_e8_cl(UINT32 madr, REG8 cl) { 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(UINT32 madr, BYTE cl) { +I286_SFT _rcr_e8_cl(UINT32 madr, REG8 cl) { 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(UINT32 madr, BYTE cl) { +I286_SFT _shl_e8_cl(UINT32 madr, REG8 cl) { 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(UINT32 madr, BYTE cl) { +I286_SFT _shr_e8_cl(UINT32 madr, REG8 cl) { 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(UINT32 madr, BYTE cl) { +I286_SFT _sar_e8_cl(UINT32 madr, REG8 cl) { UINT src; UINT dst; src = i286_memoryread(madr); BYTE_SARCL(dst, src, cl) - i286_memorywrite(madr, (BYTE)dst); + i286_memorywrite(madr, (REG8)dst); } @@ -466,7 +465,7 @@ const I286OPSFTE8CL sft_e8cl_table[] = { // ------------------------------------------------------------------------ -I286_SFT _rol_r16_cl(UINT16 *p, BYTE cl) { +I286_SFT _rol_r16_cl(UINT16 *p, REG8 cl) { UINT32 src; UINT32 dst; @@ -476,7 +475,7 @@ I286_SFT _rol_r16_cl(UINT16 *p, BYTE cl) *p = (UINT16)dst; } -I286_SFT _ror_r16_cl(UINT16 *p, BYTE cl) { +I286_SFT _ror_r16_cl(UINT16 *p, REG8 cl) { UINT32 src; UINT32 dst; @@ -486,7 +485,7 @@ I286_SFT _ror_r16_cl(UINT16 *p, BYTE cl) *p = (UINT16)dst; } -I286_SFT _rcl_r16_cl(UINT16 *p, BYTE cl) { +I286_SFT _rcl_r16_cl(UINT16 *p, REG8 cl) { UINT32 src; UINT32 dst; @@ -496,7 +495,7 @@ I286_SFT _rcl_r16_cl(UINT16 *p, BYTE cl) *p = (UINT16)dst; } -I286_SFT _rcr_r16_cl(UINT16 *p, BYTE cl) { +I286_SFT _rcr_r16_cl(UINT16 *p, REG8 cl) { UINT32 src; UINT32 dst; @@ -506,7 +505,7 @@ I286_SFT _rcr_r16_cl(UINT16 *p, BYTE cl) *p = (UINT16)dst; } -I286_SFT _shl_r16_cl(UINT16 *p, BYTE cl) { +I286_SFT _shl_r16_cl(UINT16 *p, REG8 cl) { UINT32 src; UINT32 dst; @@ -516,7 +515,7 @@ I286_SFT _shl_r16_cl(UINT16 *p, BYTE cl) *p = (UINT16)dst; } -I286_SFT _shr_r16_cl(UINT16 *p, BYTE cl) { +I286_SFT _shr_r16_cl(UINT16 *p, REG8 cl) { UINT32 src; UINT32 dst; @@ -526,7 +525,7 @@ I286_SFT _shr_r16_cl(UINT16 *p, BYTE cl) *p = (UINT16)dst; } -I286_SFT _sar_r16_cl(UINT16 *p, BYTE cl) { +I286_SFT _sar_r16_cl(UINT16 *p, REG8 cl) { UINT32 src; UINT32 dst; @@ -537,74 +536,74 @@ I286_SFT _sar_r16_cl(UINT16 *p, BYTE cl) } -I286_SFT _rol_e16_cl(UINT32 madr, BYTE cl) { +I286_SFT _rol_e16_cl(UINT32 madr, REG8 cl) { UINT32 src; UINT32 dst; src = i286_memoryread_w(madr); WORD_ROLCL(dst, src, cl) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _ror_e16_cl(UINT32 madr, BYTE cl) { +I286_SFT _ror_e16_cl(UINT32 madr, REG8 cl) { UINT32 src; UINT32 dst; src = i286_memoryread_w(madr); WORD_RORCL(dst, src, cl) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _rcl_e16_cl(UINT32 madr, BYTE cl) { +I286_SFT _rcl_e16_cl(UINT32 madr, REG8 cl) { UINT32 src; UINT32 dst; src = i286_memoryread_w(madr); WORD_RCLCL(dst, src, cl) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _rcr_e16_cl(UINT32 madr, BYTE cl) { +I286_SFT _rcr_e16_cl(UINT32 madr, REG8 cl) { UINT32 src; UINT32 dst; src = i286_memoryread_w(madr); WORD_RCRCL(dst, src, cl) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _shl_e16_cl(UINT32 madr, BYTE cl) { +I286_SFT _shl_e16_cl(UINT32 madr, REG8 cl) { UINT32 src; UINT32 dst; src = i286_memoryread_w(madr); WORD_SHLCL(dst, src, cl) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _shr_e16_cl(UINT32 madr, BYTE cl) { +I286_SFT _shr_e16_cl(UINT32 madr, REG8 cl) { UINT32 src; UINT32 dst; src = i286_memoryread_w(madr); WORD_SHRCL(dst, src, cl) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); } -I286_SFT _sar_e16_cl(UINT32 madr, BYTE cl) { +I286_SFT _sar_e16_cl(UINT32 madr, REG8 cl) { UINT32 src; UINT32 dst; src = i286_memoryread_w(madr); WORD_SARCL(dst, src, cl) - i286_memorywrite_w(madr, (UINT16)dst); + i286_memorywrite_w(madr, (REG16)dst); }