Diff for /np2/i286c/i286c_sf.mcr between versions 1.6 and 1.7

version 1.6, 2003/11/30 12:38:15 version 1.7, 2003/12/09 15:49:14
Line 39 Line 39
                 I286_OV = (s) & 0x80;                                                                           \                  I286_OV = (s) & 0x80;                                                                           \
                 I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1));
   
   #if 1
 #define BYTE_SAR1(d, s)                                                                                         \  #define BYTE_SAR1(d, s)                                                                                         \
                 (d) = (BYTE)(((SINT8)s) >> 1);                                                          \                  (d) = ((s) & 0x80) + ((s) >> 1);                                                        \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1));
   #else   // eVC3/4 compiler bug
   #define BYTE_SAR1(d, s)                                                                                         \
                   (d) = (BYTE)(((SINT8)(s)) >> 1);                                                        \
                   I286_OV = 0;                                                                                            \
                   I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1));
   #endif
   
   
 #define WORD_ROL1(d, s) {                                                                                       \  #define WORD_ROL1(d, s) {                                                                                       \
Line 84 Line 90
                 I286_OV = (s) & 0x8000;                                                                         \                  I286_OV = (s) & 0x8000;                                                                         \
                 I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1));
   
   #if 1
 #define WORD_SAR1(d, s)                                                                                         \  #define WORD_SAR1(d, s)                                                                                         \
                 (d) = (UINT16)(((SINT16)s) >> 1);                                                       \                  (d) = ((s) & 0x8000) + ((s) >> 1);                                                      \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1));                  I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1));
   #else   // eVC3/4 compiler bug
   #define WORD_SAR1(d, s)                                                                                         \
                   (d) = (UINT16)(((SINT16)(s)) >> 1);                                                     \
                   I286_OV = 0;                                                                                            \
                   I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1));
   #endif
   
   
   

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


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