Diff for /np2/i286c/i286c_sf.c between versions 1.1 and 1.3

version 1.1, 2003/10/16 17:57:44 version 1.3, 2003/10/21 11:22:05
Line 1 Line 1
 #include        "compiler.h"  #include        "compiler.h"
 #include        "i286.h"  #include        "i286.h"
 #include        "i286c.h"  #include        "i286c.h"
   #include        "memory.h"
 #include        "i286c.mcr"  #include        "i286c.mcr"
 #include        "i286c_sf.mcr"  #include        "i286c_sf.mcr"
 #include        "memory.h"  
 #include        "nevent.h"  
   
   
 // ------------------------------------------------------------------------  // ------------------------------------------------------------------------
   
 I286_SFT _rol_r8_1(BYTE *p) {  I286_SFT _rol_r8_1(BYTE *p) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_ROL1(dst, src)          BYTE_ROL1(dst, src)
Line 20  I286_SFT _rol_r8_1(BYTE *p) { Line 20  I286_SFT _rol_r8_1(BYTE *p) {
   
 I286_SFT _ror_r8_1(BYTE *p) {  I286_SFT _ror_r8_1(BYTE *p) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_ROR1(dst, src)          BYTE_ROR1(dst, src)
Line 29  I286_SFT _ror_r8_1(BYTE *p) { Line 30  I286_SFT _ror_r8_1(BYTE *p) {
   
 I286_SFT _rcl_r8_1(BYTE *p) {  I286_SFT _rcl_r8_1(BYTE *p) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_RCL1(dst, src)          BYTE_RCL1(dst, src)
Line 38  I286_SFT _rcl_r8_1(BYTE *p) { Line 40  I286_SFT _rcl_r8_1(BYTE *p) {
   
 I286_SFT _rcr_r8_1(BYTE *p) {  I286_SFT _rcr_r8_1(BYTE *p) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_RCR1(dst, src)          BYTE_RCR1(dst, src)
Line 47  I286_SFT _rcr_r8_1(BYTE *p) { Line 50  I286_SFT _rcr_r8_1(BYTE *p) {
   
 I286_SFT _shl_r8_1(BYTE *p) {  I286_SFT _shl_r8_1(BYTE *p) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_SHL1(dst, src)          BYTE_SHL1(dst, src)
Line 56  I286_SFT _shl_r8_1(BYTE *p) { Line 60  I286_SFT _shl_r8_1(BYTE *p) {
   
 I286_SFT _shr_r8_1(BYTE *p) {  I286_SFT _shr_r8_1(BYTE *p) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_SHR1(dst, src)          BYTE_SHR1(dst, src)
Line 65  I286_SFT _shr_r8_1(BYTE *p) { Line 70  I286_SFT _shr_r8_1(BYTE *p) {
   
 I286_SFT _sar_r8_1(BYTE *p) {  I286_SFT _sar_r8_1(BYTE *p) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_SAR1(dst, src)          BYTE_SAR1(dst, src)
Line 73  I286_SFT _sar_r8_1(BYTE *p) { Line 79  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);          src = i286_memoryread(madr);
         BYTE_ROL1(dst, src)          BYTE_ROL1(dst, src)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_ROR1(dst, src)          BYTE_ROR1(dst, src)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_RCL1(dst, src)          BYTE_RCL1(dst, src)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_RCR1(dst, src)          BYTE_RCR1(dst, src)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_SHL1(dst, src)          BYTE_SHL1(dst, src)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_SHR1(dst, src)          BYTE_SHR1(dst, src)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_SAR1(dst, src)          BYTE_SAR1(dst, src)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)dst);
Line 141  const I286OPSFTE8 sft_e8_table[] = { Line 161  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;          src = *p;
         WORD_ROL1(dst, src)          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;          src = *p;
         WORD_ROR1(dst, src)          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;          src = *p;
         WORD_RCL1(dst, src)          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;          src = *p;
         WORD_RCR1(dst, src)          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;          src = *p;
         WORD_SHL1(dst, src)          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;          src = *p;
         WORD_SHR1(dst, src)          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;          src = *p;
         WORD_SAR1(dst, src)          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);          src = i286_memoryread_w(madr);
         WORD_ROL1(dst, src)          WORD_ROL1(dst, src)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_ROR1(dst, src)          WORD_ROR1(dst, src)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_RCL1(dst, src)          WORD_RCL1(dst, src)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_RCR1(dst, src)          WORD_RCR1(dst, src)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_SHL1(dst, src)          WORD_SHL1(dst, src)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_SHR1(dst, src)          WORD_SHR1(dst, src)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_SAR1(dst, src)          WORD_SAR1(dst, src)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)dst);
 }  }
   
   
Line 281  const I286OPSFTE16 sft_e16_table[] = { Line 315  const I286OPSFTE16 sft_e16_table[] = {
   
 I286_SFT _rol_r8_cl(BYTE *p, BYTE cl) {  I286_SFT _rol_r8_cl(BYTE *p, BYTE cl) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_ROLCL(dst, src, cl)          BYTE_ROLCL(dst, src, cl)
Line 290  I286_SFT _rol_r8_cl(BYTE *p, BYTE cl) { Line 325  I286_SFT _rol_r8_cl(BYTE *p, BYTE cl) {
   
 I286_SFT _ror_r8_cl(BYTE *p, BYTE cl) {  I286_SFT _ror_r8_cl(BYTE *p, BYTE cl) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_RORCL(dst, src, cl)          BYTE_RORCL(dst, src, cl)
Line 299  I286_SFT _ror_r8_cl(BYTE *p, BYTE cl) { Line 335  I286_SFT _ror_r8_cl(BYTE *p, BYTE cl) {
   
 I286_SFT _rcl_r8_cl(BYTE *p, BYTE cl) {  I286_SFT _rcl_r8_cl(BYTE *p, BYTE cl) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_RCLCL(dst, src, cl)          BYTE_RCLCL(dst, src, cl)
Line 308  I286_SFT _rcl_r8_cl(BYTE *p, BYTE cl) { Line 345  I286_SFT _rcl_r8_cl(BYTE *p, BYTE cl) {
   
 I286_SFT _rcr_r8_cl(BYTE *p, BYTE cl) {  I286_SFT _rcr_r8_cl(BYTE *p, BYTE cl) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_RCRCL(dst, src, cl)          BYTE_RCRCL(dst, src, cl)
Line 317  I286_SFT _rcr_r8_cl(BYTE *p, BYTE cl) { Line 355  I286_SFT _rcr_r8_cl(BYTE *p, BYTE cl) {
   
 I286_SFT _shl_r8_cl(BYTE *p, BYTE cl) {  I286_SFT _shl_r8_cl(BYTE *p, BYTE cl) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_SHLCL(dst, src, cl)          BYTE_SHLCL(dst, src, cl)
Line 326  I286_SFT _shl_r8_cl(BYTE *p, BYTE cl) { Line 365  I286_SFT _shl_r8_cl(BYTE *p, BYTE cl) {
   
 I286_SFT _shr_r8_cl(BYTE *p, BYTE cl) {  I286_SFT _shr_r8_cl(BYTE *p, BYTE cl) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_SHRCL(dst, src, cl)          BYTE_SHRCL(dst, src, cl)
Line 335  I286_SFT _shr_r8_cl(BYTE *p, BYTE cl) { Line 375  I286_SFT _shr_r8_cl(BYTE *p, BYTE cl) {
   
 I286_SFT _sar_r8_cl(BYTE *p, BYTE cl) {  I286_SFT _sar_r8_cl(BYTE *p, BYTE cl) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         src = *p;          src = *p;
         BYTE_SARCL(dst, src, cl)          BYTE_SARCL(dst, src, cl)
Line 343  I286_SFT _sar_r8_cl(BYTE *p, BYTE cl) { Line 384  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);          src = i286_memoryread(madr);
         BYTE_ROLCL(dst, src, cl)          BYTE_ROLCL(dst, src, cl)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_RORCL(dst, src, cl)          BYTE_RORCL(dst, src, cl)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_RCLCL(dst, src, cl)          BYTE_RCLCL(dst, src, cl)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_RCRCL(dst, src, cl)          BYTE_RCRCL(dst, src, cl)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_SHLCL(dst, src, cl)          BYTE_SHLCL(dst, src, cl)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_SHRCL(dst, src, cl)          BYTE_SHRCL(dst, src, cl)
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)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);          src = i286_memoryread(madr);
         BYTE_SARCL(dst, src, cl)          BYTE_SARCL(dst, src, cl)
Line 418  const I286OPSFTE8CL sft_e8cl_table[] = { Line 466  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;          src = *p;
         WORD_ROLCL(dst, src, cl)          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;          src = *p;
         WORD_RORCL(dst, src, cl)          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;          src = *p;
         WORD_RCLCL(dst, src, cl)          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;          src = *p;
         WORD_RCRCL(dst, src, cl)          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;          src = *p;
         WORD_SHLCL(dst, src, cl)          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;          src = *p;
         WORD_SHRCL(dst, src, cl)          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;          src = *p;
         WORD_SARCL(dst, src, cl)          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);          src = i286_memoryread_w(madr);
         WORD_ROLCL(dst, src, cl)          WORD_ROLCL(dst, src, cl)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_RORCL(dst, src, cl)          WORD_RORCL(dst, src, cl)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_RCLCL(dst, src, cl)          WORD_RCLCL(dst, src, cl)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_RCRCL(dst, src, cl)          WORD_RCRCL(dst, src, cl)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_SHLCL(dst, src, cl)          WORD_SHLCL(dst, src, cl)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_SHRCL(dst, src, cl)          WORD_SHRCL(dst, src, cl)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)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);          src = i286_memoryread_w(madr);
         WORD_SARCL(dst, src, cl)          WORD_SARCL(dst, src, cl)
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)dst);
 }  }
   
   
Line 553  const I286OPSFTR16CL sft_r16cl_table[] = Line 615  const I286OPSFTR16CL sft_r16cl_table[] =
 const I286OPSFTE16CL sft_e16cl_table[] = {  const I286OPSFTE16CL sft_e16cl_table[] = {
                 _rol_e16_cl,    _ror_e16_cl,    _rcl_e16_cl,    _rcr_e16_cl,                  _rol_e16_cl,    _ror_e16_cl,    _rcl_e16_cl,    _rcr_e16_cl,
                 _shl_e16_cl,    _shr_e16_cl,    _shl_e16_cl,    _sar_e16_cl};                  _shl_e16_cl,    _shr_e16_cl,    _shl_e16_cl,    _sar_e16_cl};
   

Removed from v.1.1  
changed lines
  Added in v.1.3


RetroPC.NET-CVS <cvs@retropc.net>