|
|
| version 1.3, 2003/10/21 11:22:05 | version 1.6, 2003/12/11 21:57:38 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "i286.h" | #include "cpucore.h" |
| #include "i286c.h" | #include "i286c.h" |
| #include "memory.h" | #include "memory.h" |
| #include "i286c.mcr" | #include "i286c.mcr" |
| Line 8 | Line 8 |
| // ------------------------------------------------------------------------ | // ------------------------------------------------------------------------ |
| I286_SFT _rol_r8_1(BYTE *p) { | I286_SFT _rol_r8_1(UINT8 *p) { |
| UINT src; | UINT src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_ROL1(dst, src) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_ROR1(dst, src) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_RCL1(dst, src) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_RCR1(dst, src) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_SHL1(dst, src) | BYTE_SHL1(dst, src) |
| *p = (BYTE)dst; | *p = (UINT8)dst; |
| } | } |
| I286_SFT _shr_r8_1(BYTE *p) { | I286_SFT _shr_r8_1(BYTE *p) { |
| Line 65 I286_SFT _shr_r8_1(BYTE *p) { | Line 65 I286_SFT _shr_r8_1(BYTE *p) { |
| src = *p; | src = *p; |
| BYTE_SHR1(dst, src) | BYTE_SHR1(dst, src) |
| *p = (BYTE)dst; | *p = (UINT8)dst; |
| } | } |
| I286_SFT _sar_r8_1(BYTE *p) { | I286_SFT _sar_r8_1(BYTE *p) { |
| Line 75 I286_SFT _sar_r8_1(BYTE *p) { | Line 75 I286_SFT _sar_r8_1(BYTE *p) { |
| src = *p; | src = *p; |
| BYTE_SAR1(dst, src) | BYTE_SAR1(dst, src) |
| *p = (BYTE)dst; | *p = (UINT8)dst; |
| } | } |
| Line 86 I286_SFT _rol_e8_1(UINT32 madr) { | Line 86 I286_SFT _rol_e8_1(UINT32 madr) { |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_ROL1(dst, src) | BYTE_ROL1(dst, src) |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (REG8)dst); |
| } | } |
| I286_SFT _ror_e8_1(UINT32 madr) { | I286_SFT _ror_e8_1(UINT32 madr) { |
| Line 96 I286_SFT _ror_e8_1(UINT32 madr) { | Line 96 I286_SFT _ror_e8_1(UINT32 madr) { |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_ROR1(dst, src) | BYTE_ROR1(dst, src) |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (REG8)dst); |
| } | } |
| I286_SFT _rcl_e8_1(UINT32 madr) { | I286_SFT _rcl_e8_1(UINT32 madr) { |
| Line 106 I286_SFT _rcl_e8_1(UINT32 madr) { | Line 106 I286_SFT _rcl_e8_1(UINT32 madr) { |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_RCL1(dst, src) | BYTE_RCL1(dst, src) |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (REG8)dst); |
| } | } |
| I286_SFT _rcr_e8_1(UINT32 madr) { | I286_SFT _rcr_e8_1(UINT32 madr) { |
| Line 116 I286_SFT _rcr_e8_1(UINT32 madr) { | Line 116 I286_SFT _rcr_e8_1(UINT32 madr) { |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_RCR1(dst, src) | BYTE_RCR1(dst, src) |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (REG8)dst); |
| } | } |
| I286_SFT _shl_e8_1(UINT32 madr) { | I286_SFT _shl_e8_1(UINT32 madr) { |
| Line 126 I286_SFT _shl_e8_1(UINT32 madr) { | Line 126 I286_SFT _shl_e8_1(UINT32 madr) { |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_SHL1(dst, src) | BYTE_SHL1(dst, src) |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (REG8)dst); |
| } | } |
| I286_SFT _shr_e8_1(UINT32 madr) { | I286_SFT _shr_e8_1(UINT32 madr) { |
| Line 136 I286_SFT _shr_e8_1(UINT32 madr) { | Line 136 I286_SFT _shr_e8_1(UINT32 madr) { |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_SHR1(dst, src) | BYTE_SHR1(dst, src) |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (REG8)dst); |
| } | } |
| I286_SFT _sar_e8_1(UINT32 madr) { | I286_SFT _sar_e8_1(UINT32 madr) { |
| Line 146 I286_SFT _sar_e8_1(UINT32 madr) { | Line 146 I286_SFT _sar_e8_1(UINT32 madr) { |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_SAR1(dst, src) | BYTE_SAR1(dst, src) |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (REG8)dst); |
| } | } |
| Line 239 I286_SFT _rol_e16_1(UINT32 madr) { | Line 239 I286_SFT _rol_e16_1(UINT32 madr) { |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_ROL1(dst, src) | WORD_ROL1(dst, src) |
| i286_memorywrite_w(madr, (UINT16)dst); | i286_memorywrite_w(madr, (REG16)dst); |
| } | } |
| I286_SFT _ror_e16_1(UINT32 madr) { | I286_SFT _ror_e16_1(UINT32 madr) { |
| Line 249 I286_SFT _ror_e16_1(UINT32 madr) { | Line 249 I286_SFT _ror_e16_1(UINT32 madr) { |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_ROR1(dst, src) | WORD_ROR1(dst, src) |
| i286_memorywrite_w(madr, (UINT16)dst); | i286_memorywrite_w(madr, (REG16)dst); |
| } | } |
| I286_SFT _rcl_e16_1(UINT32 madr) { | I286_SFT _rcl_e16_1(UINT32 madr) { |
| Line 259 I286_SFT _rcl_e16_1(UINT32 madr) { | Line 259 I286_SFT _rcl_e16_1(UINT32 madr) { |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_RCL1(dst, src) | WORD_RCL1(dst, src) |
| i286_memorywrite_w(madr, (UINT16)dst); | i286_memorywrite_w(madr, (REG16)dst); |
| } | } |
| I286_SFT _rcr_e16_1(UINT32 madr) { | I286_SFT _rcr_e16_1(UINT32 madr) { |
| Line 269 I286_SFT _rcr_e16_1(UINT32 madr) { | Line 269 I286_SFT _rcr_e16_1(UINT32 madr) { |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_RCR1(dst, src) | WORD_RCR1(dst, src) |
| i286_memorywrite_w(madr, (UINT16)dst); | i286_memorywrite_w(madr, (REG16)dst); |
| } | } |
| I286_SFT _shl_e16_1(UINT32 madr) { | I286_SFT _shl_e16_1(UINT32 madr) { |
| Line 279 I286_SFT _shl_e16_1(UINT32 madr) { | Line 279 I286_SFT _shl_e16_1(UINT32 madr) { |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_SHL1(dst, src) | WORD_SHL1(dst, src) |
| i286_memorywrite_w(madr, (UINT16)dst); | i286_memorywrite_w(madr, (REG16)dst); |
| } | } |
| I286_SFT _shr_e16_1(UINT32 madr) { | I286_SFT _shr_e16_1(UINT32 madr) { |
| Line 289 I286_SFT _shr_e16_1(UINT32 madr) { | Line 289 I286_SFT _shr_e16_1(UINT32 madr) { |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_SHR1(dst, src) | WORD_SHR1(dst, src) |
| i286_memorywrite_w(madr, (UINT16)dst); | i286_memorywrite_w(madr, (REG16)dst); |
| } | } |
| I286_SFT _sar_e16_1(UINT32 madr) { | I286_SFT _sar_e16_1(UINT32 madr) { |
| Line 299 I286_SFT _sar_e16_1(UINT32 madr) { | Line 299 I286_SFT _sar_e16_1(UINT32 madr) { |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_SAR1(dst, src) | WORD_SAR1(dst, src) |
| i286_memorywrite_w(madr, (UINT16)dst); | i286_memorywrite_w(madr, (REG16)dst); |
| } | } |
| Line 313 const I286OPSFTE16 sft_e16_table[] = { | Line 313 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_ROLCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_RORCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_RCLCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_RCRCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_SHLCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_SHRCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = *p; | src = *p; |
| BYTE_SARCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_ROLCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_RORCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_RCLCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_RCRCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_SHLCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_SHRCL(dst, src, cl) | 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 src; |
| UINT dst; | UINT dst; |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_SARCL(dst, src, cl) | BYTE_SARCL(dst, src, cl) |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (REG8)dst); |
| } | } |
| Line 466 const I286OPSFTE8CL sft_e8cl_table[] = { | Line 466 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 src; |
| UINT32 dst; | UINT32 dst; |
| Line 476 I286_SFT _rol_r16_cl(UINT16 *p, BYTE cl) | Line 476 I286_SFT _rol_r16_cl(UINT16 *p, BYTE cl) |
| *p = (UINT16)dst; | *p = (UINT16)dst; |
| } | } |
| I286_SFT _ror_r16_cl(UINT16 *p, BYTE cl) { | I286_SFT _ror_r16_cl(UINT16 *p, REG8 cl) { |
| UINT32 src; | UINT32 src; |
| UINT32 dst; | UINT32 dst; |
| Line 486 I286_SFT _ror_r16_cl(UINT16 *p, BYTE cl) | Line 486 I286_SFT _ror_r16_cl(UINT16 *p, BYTE cl) |
| *p = (UINT16)dst; | *p = (UINT16)dst; |
| } | } |
| I286_SFT _rcl_r16_cl(UINT16 *p, BYTE cl) { | I286_SFT _rcl_r16_cl(UINT16 *p, REG8 cl) { |
| UINT32 src; | UINT32 src; |
| UINT32 dst; | UINT32 dst; |
| Line 496 I286_SFT _rcl_r16_cl(UINT16 *p, BYTE cl) | Line 496 I286_SFT _rcl_r16_cl(UINT16 *p, BYTE cl) |
| *p = (UINT16)dst; | *p = (UINT16)dst; |
| } | } |
| I286_SFT _rcr_r16_cl(UINT16 *p, BYTE cl) { | I286_SFT _rcr_r16_cl(UINT16 *p, REG8 cl) { |
| UINT32 src; | UINT32 src; |
| UINT32 dst; | UINT32 dst; |
| Line 506 I286_SFT _rcr_r16_cl(UINT16 *p, BYTE cl) | Line 506 I286_SFT _rcr_r16_cl(UINT16 *p, BYTE cl) |
| *p = (UINT16)dst; | *p = (UINT16)dst; |
| } | } |
| I286_SFT _shl_r16_cl(UINT16 *p, BYTE cl) { | I286_SFT _shl_r16_cl(UINT16 *p, REG8 cl) { |
| UINT32 src; | UINT32 src; |
| UINT32 dst; | UINT32 dst; |
| Line 516 I286_SFT _shl_r16_cl(UINT16 *p, BYTE cl) | Line 516 I286_SFT _shl_r16_cl(UINT16 *p, BYTE cl) |
| *p = (UINT16)dst; | *p = (UINT16)dst; |
| } | } |
| I286_SFT _shr_r16_cl(UINT16 *p, BYTE cl) { | I286_SFT _shr_r16_cl(UINT16 *p, REG8 cl) { |
| UINT32 src; | UINT32 src; |
| UINT32 dst; | UINT32 dst; |
| Line 526 I286_SFT _shr_r16_cl(UINT16 *p, BYTE cl) | Line 526 I286_SFT _shr_r16_cl(UINT16 *p, BYTE cl) |
| *p = (UINT16)dst; | *p = (UINT16)dst; |
| } | } |
| I286_SFT _sar_r16_cl(UINT16 *p, BYTE cl) { | I286_SFT _sar_r16_cl(UINT16 *p, REG8 cl) { |
| UINT32 src; | UINT32 src; |
| UINT32 dst; | UINT32 dst; |
| Line 537 I286_SFT _sar_r16_cl(UINT16 *p, BYTE cl) | Line 537 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 src; |
| UINT32 dst; | UINT32 dst; |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_ROLCL(dst, src, cl) | 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 src; |
| UINT32 dst; | UINT32 dst; |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_RORCL(dst, src, cl) | 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 src; |
| UINT32 dst; | UINT32 dst; |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_RCLCL(dst, src, cl) | 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 src; |
| UINT32 dst; | UINT32 dst; |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_RCRCL(dst, src, cl) | 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 src; |
| UINT32 dst; | UINT32 dst; |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_SHLCL(dst, src, cl) | 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 src; |
| UINT32 dst; | UINT32 dst; |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_SHRCL(dst, src, cl) | 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 src; |
| UINT32 dst; | UINT32 dst; |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_SARCL(dst, src, cl) | WORD_SARCL(dst, src, cl) |
| i286_memorywrite_w(madr, (UINT16)dst); | i286_memorywrite_w(madr, (REG16)dst); |
| } | } |