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

version 1.1, 2003/10/16 17:57:43 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        "i286c.mcr"  
 #include        "memory.h"  #include        "memory.h"
 #include        "nevent.h"  #include        "i286c.mcr"
   
   
 // -------------------------------------------------------- opecode 0x80,1,2,3  // -------------------------------------------------------- opecode 0x80,1,2,3
Line 12 Line 11
   
 I286_8X _add_r8_i(BYTE *p) {  I286_8X _add_r8_i(BYTE *p) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = *p;          dst = *p;
Line 22  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) {
   
         DWORD   src;          UINT    src;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         ORBYTE((*p), src);          ORBYTE((*p), src);
Line 30  I286_8X _or_r8_i(BYTE *p) { Line 31  I286_8X _or_r8_i(BYTE *p) {
   
 I286_8X _adc_r8_i(BYTE *p) {  I286_8X _adc_r8_i(BYTE *p) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = *p;          dst = *p;
Line 40  I286_8X _adc_r8_i(BYTE *p) { Line 43  I286_8X _adc_r8_i(BYTE *p) {
   
 I286_8X _sbb_r8_i(BYTE *p) {  I286_8X _sbb_r8_i(BYTE *p) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = *p;          dst = *p;
Line 50  I286_8X _sbb_r8_i(BYTE *p) { Line 55  I286_8X _sbb_r8_i(BYTE *p) {
   
 I286_8X _and_r8_i(BYTE *p) {  I286_8X _and_r8_i(BYTE *p) {
   
         DWORD   src;          UINT    src;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         ANDBYTE((*p), src);          ANDBYTE((*p), src);
Line 58  I286_8X _and_r8_i(BYTE *p) { Line 63  I286_8X _and_r8_i(BYTE *p) {
   
 I286_8X _sub_r8_i(BYTE *p) {  I286_8X _sub_r8_i(BYTE *p) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = *p;          dst = *p;
Line 68  I286_8X _sub_r8_i(BYTE *p) { Line 75  I286_8X _sub_r8_i(BYTE *p) {
   
 I286_8X _xor_r8_i(BYTE *p) {  I286_8X _xor_r8_i(BYTE *p) {
   
         DWORD   src;          UINT    src;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         BYTE_XOR((*p), src);          BYTE_XOR((*p), src);
Line 76  I286_8X _xor_r8_i(BYTE *p) { Line 83  I286_8X _xor_r8_i(BYTE *p) {
   
 I286_8X _cmp_r8_i(BYTE *p) {  I286_8X _cmp_r8_i(BYTE *p) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = *p;          dst = *p;
Line 86  I286_8X _cmp_r8_i(BYTE *p) { Line 95  I286_8X _cmp_r8_i(BYTE *p) {
   
 // ----- ext8  // ----- ext8
   
 I286_8X _add_ext8_i(DWORD madr) {  I286_8X _add_ext8_i(UINT32 madr) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
Line 96  I286_8X _add_ext8_i(DWORD madr) { Line 107  I286_8X _add_ext8_i(DWORD madr) {
         i286_memorywrite(madr, (BYTE)res);          i286_memorywrite(madr, (BYTE)res);
 }  }
   
 I286_8X _or_ext8_i(DWORD madr) {  I286_8X _or_ext8_i(UINT32 madr) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
Line 106  I286_8X _or_ext8_i(DWORD madr) { Line 118  I286_8X _or_ext8_i(DWORD madr) {
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)dst);
 }  }
   
 I286_8X _adc_ext8_i(DWORD madr) {  I286_8X _adc_ext8_i(UINT32 madr) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
Line 116  I286_8X _adc_ext8_i(DWORD madr) { Line 130  I286_8X _adc_ext8_i(DWORD madr) {
         i286_memorywrite(madr, (BYTE)res);          i286_memorywrite(madr, (BYTE)res);
 }  }
   
 I286_8X _sbb_ext8_i(DWORD madr) {  I286_8X _sbb_ext8_i(UINT32 madr) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
Line 126  I286_8X _sbb_ext8_i(DWORD madr) { Line 142  I286_8X _sbb_ext8_i(DWORD madr) {
         i286_memorywrite(madr, (BYTE)res);          i286_memorywrite(madr, (BYTE)res);
 }  }
   
 I286_8X _and_ext8_i(DWORD madr) {  I286_8X _and_ext8_i(UINT32 madr) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
Line 136  I286_8X _and_ext8_i(DWORD madr) { Line 153  I286_8X _and_ext8_i(DWORD madr) {
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)dst);
 }  }
   
 I286_8X _sub_ext8_i(DWORD madr) {  I286_8X _sub_ext8_i(UINT32 madr) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
Line 146  I286_8X _sub_ext8_i(DWORD madr) { Line 165  I286_8X _sub_ext8_i(DWORD madr) {
         i286_memorywrite(madr, (BYTE)res);          i286_memorywrite(madr, (BYTE)res);
 }  }
   
 I286_8X _xor_ext8_i(DWORD madr) {  I286_8X _xor_ext8_i(UINT32 madr) {
   
         DWORD   src, dst;          UINT    src;
           UINT    dst;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
Line 156  I286_8X _xor_ext8_i(DWORD madr) { Line 176  I286_8X _xor_ext8_i(DWORD madr) {
         i286_memorywrite(madr, (BYTE)dst);          i286_memorywrite(madr, (BYTE)dst);
 }  }
   
 I286_8X _cmp_ext8_i(DWORD madr) {  I286_8X _cmp_ext8_i(UINT32 madr) {
   
         DWORD   src, dst, res;          UINT    src;
           UINT    dst;
           UINT    res;
   
         GET_PCBYTE(src)          GET_PCBYTE(src)
         dst = i286_memoryread(madr);          dst = i286_memoryread(madr);
Line 178  const I286OP8XEXT8 c_op8xext8_table[] =  Line 200  const I286OP8XEXT8 c_op8xext8_table[] = 
   
 // ----- reg16  // ----- reg16
   
 I286_8X _add_r16_i(WORD *p, DWORD src) {  I286_8X _add_r16_i(UINT16 *p, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = *p;          dst = *p;
         ADDWORD(res, dst, src);          ADDWORD(res, dst, src);
         *p = (WORD)res;          *p = (UINT16)res;
 }  }
   
 I286_8X _or_r16_i(WORD *p, DWORD src) {  I286_8X _or_r16_i(UINT16 *p, UINT32 src) {
   
         ORWORD((*p), src);          ORWORD((*p), src);
 }  }
   
 I286_8X _adc_r16_i(WORD *p, DWORD src) {  I286_8X _adc_r16_i(UINT16 *p, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = *p;          dst = *p;
         ADCWORD(res, dst, src);          ADCWORD(res, dst, src);
         *p = (WORD)res;          *p = (UINT16)res;
 }  }
   
 I286_8X _sbb_r16_i(WORD *p, DWORD src) {  I286_8X _sbb_r16_i(UINT16 *p, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = *p;          dst = *p;
         SBBWORD(res, dst, src);          SBBWORD(res, dst, src);
         *p = (WORD)res;          *p = (UINT16)res;
 }  }
   
 I286_8X _and_r16_i(WORD *p, DWORD src) {  I286_8X _and_r16_i(UINT16 *p, UINT32 src) {
   
         ANDWORD((*p), src);          ANDWORD((*p), src);
 }  }
   
 I286_8X _sub_r16_i(WORD *p, DWORD src) {  I286_8X _sub_r16_i(UINT16 *p, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = *p;          dst = *p;
         WORD_SUB(res, dst, src);          WORD_SUB(res, dst, src);
         *p = (WORD)res;          *p = (UINT16)res;
 }  }
   
 I286_8X _xor_r16_i(WORD *p, DWORD src) {  I286_8X _xor_r16_i(UINT16 *p, UINT32 src) {
   
         WORD_XOR((*p), src);          WORD_XOR((*p), src);
 }  }
   
 I286_8X _cmp_r16_i(WORD *p, DWORD src) {  I286_8X _cmp_r16_i(UINT16 *p, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = *p;          dst = *p;
         WORD_SUB(res, dst, src);          WORD_SUB(res, dst, src);
 }  }
   
   
 // ----- ext16  // ----- ext16
   
 I286_8X _add_ext16_i(DWORD madr, DWORD src) {  I286_8X _add_ext16_i(UINT32 madr, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         ADDWORD(res, dst, src);          ADDWORD(res, dst, src);
         i286_memorywrite_w(madr, (WORD)res);          i286_memorywrite_w(madr, (UINT16)res);
 }  }
   
 I286_8X _or_ext16_i(DWORD madr, DWORD src) {  I286_8X _or_ext16_i(UINT32 madr, UINT32 src) {
   
         DWORD   dst;          UINT32  dst;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         ORWORD(dst, src);          ORWORD(dst, src);
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)dst);
 }  }
   
 I286_8X _adc_ext16_i(DWORD madr, DWORD src) {  I286_8X _adc_ext16_i(UINT32 madr, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         ADCWORD(res, dst, src);          ADCWORD(res, dst, src);
         i286_memorywrite_w(madr, (WORD)res);          i286_memorywrite_w(madr, (UINT16)res);
 }  }
   
 I286_8X _sbb_ext16_i(DWORD madr, DWORD src) {  I286_8X _sbb_ext16_i(UINT32 madr, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         SBBWORD(res, dst, src);          SBBWORD(res, dst, src);
         i286_memorywrite_w(madr, (WORD)res);          i286_memorywrite_w(madr, (UINT16)res);
 }  }
   
 I286_8X _and_ext16_i(DWORD madr, DWORD src) {  I286_8X _and_ext16_i(UINT32 madr, UINT32 src) {
   
         DWORD   dst;          UINT32  dst;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         ANDWORD(dst, src);          ANDWORD(dst, src);
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)dst);
 }  }
   
 I286_8X _sub_ext16_i(DWORD madr, DWORD src) {  I286_8X _sub_ext16_i(UINT32 madr, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         WORD_SUB(res, dst, src);          WORD_SUB(res, dst, src);
         i286_memorywrite_w(madr, (WORD)res);          i286_memorywrite_w(madr, (UINT16)res);
 }  }
   
 I286_8X _xor_ext16_i(DWORD madr, DWORD src) {  I286_8X _xor_ext16_i(UINT32 madr, UINT32 src) {
   
         DWORD   dst;          UINT32  dst;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         WORD_XOR(dst, src);          WORD_XOR(dst, src);
         i286_memorywrite_w(madr, (WORD)dst);          i286_memorywrite_w(madr, (UINT16)dst);
 }  }
   
 I286_8X _cmp_ext16_i(DWORD madr, DWORD src) {  I286_8X _cmp_ext16_i(UINT32 madr, UINT32 src) {
   
         DWORD   dst, res;          UINT32  dst;
           UINT32  res;
   
         dst = i286_memoryread_w(madr);          dst = i286_memoryread_w(madr);
         WORD_SUB(res, dst, src);          WORD_SUB(res, dst, src);

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


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