Diff for /np2/i286c/i286c_8x.c between versions 1.3 and 1.7

version 1.3, 2003/10/21 11:22:05 version 1.7, 2003/12/12 01:04:40
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        "i286c.mcr"  #include        "i286c.mcr"
   
   
Line 24  I286_8X _add_r8_i(BYTE *p) { Line 23  I286_8X _add_r8_i(BYTE *p) {
 I286_8X _or_r8_i(BYTE *p) {  I286_8X _or_r8_i(BYTE *p) {
   
         UINT    src;          UINT    src;
           UINT    dst;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         ORBYTE((*p), src);          dst = *p;
           ORBYTE(dst, src);
           *p = (BYTE)dst;
 }  }
   
 I286_8X _adc_r8_i(BYTE *p) {  I286_8X _adc_r8_i(BYTE *p) {
Line 56  I286_8X _sbb_r8_i(BYTE *p) { Line 58  I286_8X _sbb_r8_i(BYTE *p) {
 I286_8X _and_r8_i(BYTE *p) {  I286_8X _and_r8_i(BYTE *p) {
   
         UINT    src;          UINT    src;
           UINT    dst;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         ANDBYTE((*p), src);          dst = *p;
           ANDBYTE(dst, src);
           *p = (BYTE)dst;
 }  }
   
 I286_8X _sub_r8_i(BYTE *p) {  I286_8X _sub_r8_i(BYTE *p) {
Line 69  I286_8X _sub_r8_i(BYTE *p) { Line 74  I286_8X _sub_r8_i(BYTE *p) {
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = *p;          dst = *p;
         BYTE_SUB(res, dst, src);          SUBBYTE(res, dst, src);
         *p = (BYTE)res;          *p = (BYTE)res;
 }  }
   
 I286_8X _xor_r8_i(BYTE *p) {  I286_8X _xor_r8_i(BYTE *p) {
   
         UINT    src;          UINT    src;
           UINT    dst;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         BYTE_XOR((*p), src);          dst = *p;
           XORBYTE(dst, src);
           *p = (BYTE)dst;
 }  }
   
 I286_8X _cmp_r8_i(BYTE *p) {  I286_8X _cmp_r8_i(BYTE *p) {
Line 89  I286_8X _cmp_r8_i(BYTE *p) { Line 97  I286_8X _cmp_r8_i(BYTE *p) {
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = *p;          dst = *p;
         BYTE_SUB(res, dst, src);          SUBBYTE(res, dst, src);
 }  }
   
   
Line 104  I286_8X _add_ext8_i(UINT32 madr) { Line 112  I286_8X _add_ext8_i(UINT32 madr) {
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
         ADDBYTE(res, dst, src);          ADDBYTE(res, dst, src);
         i286_memorywrite(madr, (BYTE)res);          i286_memorywrite(madr, (REG8)res);
 }  }
   
 I286_8X _or_ext8_i(UINT32 madr) {  I286_8X _or_ext8_i(UINT32 madr) {
Line 115  I286_8X _or_ext8_i(UINT32 madr) { Line 123  I286_8X _or_ext8_i(UINT32 madr) {
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
         ORBYTE(dst, src);          ORBYTE(dst, src);
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (REG8)dst);
 }  }
   
 I286_8X _adc_ext8_i(UINT32 madr) {  I286_8X _adc_ext8_i(UINT32 madr) {
Line 127  I286_8X _adc_ext8_i(UINT32 madr) { Line 135  I286_8X _adc_ext8_i(UINT32 madr) {
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
         ADCBYTE(res, dst, src);          ADCBYTE(res, dst, src);
         i286_memorywrite(madr, (BYTE)res);          i286_memorywrite(madr, (REG8)res);
 }  }
   
 I286_8X _sbb_ext8_i(UINT32 madr) {  I286_8X _sbb_ext8_i(UINT32 madr) {
Line 139  I286_8X _sbb_ext8_i(UINT32 madr) { Line 147  I286_8X _sbb_ext8_i(UINT32 madr) {
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
         SBBBYTE(res, dst, src);          SBBBYTE(res, dst, src);
         i286_memorywrite(madr, (BYTE)res);          i286_memorywrite(madr, (REG8)res);
 }  }
   
 I286_8X _and_ext8_i(UINT32 madr) {  I286_8X _and_ext8_i(UINT32 madr) {
Line 150  I286_8X _and_ext8_i(UINT32 madr) { Line 158  I286_8X _and_ext8_i(UINT32 madr) {
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
         ANDBYTE(dst, src);          ANDBYTE(dst, src);
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (REG8)dst);
 }  }
   
 I286_8X _sub_ext8_i(UINT32 madr) {  I286_8X _sub_ext8_i(UINT32 madr) {
Line 161  I286_8X _sub_ext8_i(UINT32 madr) { Line 169  I286_8X _sub_ext8_i(UINT32 madr) {
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
         BYTE_SUB(res, dst, src);          SUBBYTE(res, dst, src);
         i286_memorywrite(madr, (BYTE)res);          i286_memorywrite(madr, (REG8)res);
 }  }
   
 I286_8X _xor_ext8_i(UINT32 madr) {  I286_8X _xor_ext8_i(UINT32 madr) {
Line 172  I286_8X _xor_ext8_i(UINT32 madr) { Line 180  I286_8X _xor_ext8_i(UINT32 madr) {
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
         BYTE_XOR(dst, src);          XORBYTE(dst, src);
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (REG8)dst);
 }  }
   
 I286_8X _cmp_ext8_i(UINT32 madr) {  I286_8X _cmp_ext8_i(UINT32 madr) {
Line 184  I286_8X _cmp_ext8_i(UINT32 madr) { Line 192  I286_8X _cmp_ext8_i(UINT32 madr) {
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
         BYTE_SUB(res, dst, src);          SUBBYTE(res, dst, src);
 }  }
   
   
Line 212  I286_8X _add_r16_i(UINT16 *p, UINT32 src Line 220  I286_8X _add_r16_i(UINT16 *p, UINT32 src
   
 I286_8X _or_r16_i(UINT16 *p, UINT32 src) {  I286_8X _or_r16_i(UINT16 *p, UINT32 src) {
   
         ORWORD((*p), src);          UINT32  dst;
   
           dst = *p;
           ORWORD(dst, src);
           *p = (UINT16)dst;
 }  }
   
 I286_8X _adc_r16_i(UINT16 *p, UINT32 src) {  I286_8X _adc_r16_i(UINT16 *p, UINT32 src) {
Line 237  I286_8X _sbb_r16_i(UINT16 *p, UINT32 src Line 249  I286_8X _sbb_r16_i(UINT16 *p, UINT32 src
   
 I286_8X _and_r16_i(UINT16 *p, UINT32 src) {  I286_8X _and_r16_i(UINT16 *p, UINT32 src) {
   
         ANDWORD((*p), src);          UINT32  dst;
   
           dst = *p;
           ANDWORD(dst, src);
           *p = (UINT16)dst;
 }  }
   
 I286_8X _sub_r16_i(UINT16 *p, UINT32 src) {  I286_8X _sub_r16_i(UINT16 *p, UINT32 src) {
Line 246  I286_8X _sub_r16_i(UINT16 *p, UINT32 src Line 262  I286_8X _sub_r16_i(UINT16 *p, UINT32 src
         UINT32  res;          UINT32  res;
   
         dst = *p;          dst = *p;
         WORD_SUB(res, dst, src);          SUBWORD(res, dst, src);
         *p = (UINT16)res;          *p = (UINT16)res;
 }  }
   
 I286_8X _xor_r16_i(UINT16 *p, UINT32 src) {  I286_8X _xor_r16_i(UINT16 *p, UINT32 src) {
   
         WORD_XOR((*p), src);          UINT32  dst;
   
           dst = *p;
           XORWORD(dst, src);
           *p = (UINT16)dst;
 }  }
   
 I286_8X _cmp_r16_i(UINT16 *p, UINT32 src) {  I286_8X _cmp_r16_i(UINT16 *p, UINT32 src) {
Line 261  I286_8X _cmp_r16_i(UINT16 *p, UINT32 src Line 281  I286_8X _cmp_r16_i(UINT16 *p, UINT32 src
         UINT32  res;          UINT32  res;
   
         dst = *p;          dst = *p;
         WORD_SUB(res, dst, src);          SUBWORD(res, dst, src);
 }  }
   
   
Line 274  I286_8X _add_ext16_i(UINT32 madr, UINT32 Line 294  I286_8X _add_ext16_i(UINT32 madr, UINT32
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         ADDWORD(res, dst, src);          ADDWORD(res, dst, src);
         i286_memorywrite_w(madr, (UINT16)res);          i286_memorywrite_w(madr, (REG16)res);
 }  }
   
 I286_8X _or_ext16_i(UINT32 madr, UINT32 src) {  I286_8X _or_ext16_i(UINT32 madr, UINT32 src) {
Line 283  I286_8X _or_ext16_i(UINT32 madr, UINT32  Line 303  I286_8X _or_ext16_i(UINT32 madr, UINT32 
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         ORWORD(dst, src);          ORWORD(dst, src);
         i286_memorywrite_w(madr, (UINT16)dst);          i286_memorywrite_w(madr, (REG16)dst);
 }  }
   
 I286_8X _adc_ext16_i(UINT32 madr, UINT32 src) {  I286_8X _adc_ext16_i(UINT32 madr, UINT32 src) {
Line 293  I286_8X _adc_ext16_i(UINT32 madr, UINT32 Line 313  I286_8X _adc_ext16_i(UINT32 madr, UINT32
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         ADCWORD(res, dst, src);          ADCWORD(res, dst, src);
         i286_memorywrite_w(madr, (UINT16)res);          i286_memorywrite_w(madr, (REG16)res);
 }  }
   
 I286_8X _sbb_ext16_i(UINT32 madr, UINT32 src) {  I286_8X _sbb_ext16_i(UINT32 madr, UINT32 src) {
Line 303  I286_8X _sbb_ext16_i(UINT32 madr, UINT32 Line 323  I286_8X _sbb_ext16_i(UINT32 madr, UINT32
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         SBBWORD(res, dst, src);          SBBWORD(res, dst, src);
         i286_memorywrite_w(madr, (UINT16)res);          i286_memorywrite_w(madr, (REG16)res);
 }  }
   
 I286_8X _and_ext16_i(UINT32 madr, UINT32 src) {  I286_8X _and_ext16_i(UINT32 madr, UINT32 src) {
Line 312  I286_8X _and_ext16_i(UINT32 madr, UINT32 Line 332  I286_8X _and_ext16_i(UINT32 madr, UINT32
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         ANDWORD(dst, src);          ANDWORD(dst, src);
         i286_memorywrite_w(madr, (UINT16)dst);          i286_memorywrite_w(madr, (REG16)dst);
 }  }
   
 I286_8X _sub_ext16_i(UINT32 madr, UINT32 src) {  I286_8X _sub_ext16_i(UINT32 madr, UINT32 src) {
Line 321  I286_8X _sub_ext16_i(UINT32 madr, UINT32 Line 341  I286_8X _sub_ext16_i(UINT32 madr, UINT32
         UINT32  res;          UINT32  res;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         WORD_SUB(res, dst, src);          SUBWORD(res, dst, src);
         i286_memorywrite_w(madr, (UINT16)res);          i286_memorywrite_w(madr, (REG16)res);
 }  }
   
 I286_8X _xor_ext16_i(UINT32 madr, UINT32 src) {  I286_8X _xor_ext16_i(UINT32 madr, UINT32 src) {
Line 330  I286_8X _xor_ext16_i(UINT32 madr, UINT32 Line 350  I286_8X _xor_ext16_i(UINT32 madr, UINT32
         UINT32  dst;          UINT32  dst;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         WORD_XOR(dst, src);          XORWORD(dst, src);
         i286_memorywrite_w(madr, (UINT16)dst);          i286_memorywrite_w(madr, (REG16)dst);
 }  }
   
 I286_8X _cmp_ext16_i(UINT32 madr, UINT32 src) {  I286_8X _cmp_ext16_i(UINT32 madr, UINT32 src) {
Line 340  I286_8X _cmp_ext16_i(UINT32 madr, UINT32 Line 360  I286_8X _cmp_ext16_i(UINT32 madr, UINT32
         UINT32  res;          UINT32  res;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         WORD_SUB(res, dst, src);          SUBWORD(res, dst, src);
 }  }
   
   

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


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