Diff for /np2/i286c/i286c_sf.mcr between versions 1.1.1.1 and 1.2

version 1.1.1.1, 2003/10/16 17:57:44 version 1.2, 2003/10/17 11:10:02
Line 2 Line 2
   
   
 #define BYTE_ROL1(d, s) {                                                                                       \  #define BYTE_ROL1(d, s) {                                                                                       \
                 DWORD tmp = ((s) >> 7);                                                                         \                  UINT tmp = ((s) >> 7);                                                                          \
                 (d) = ((s) << 1) | tmp;                                                                         \                  (d) = ((s) << 1) + tmp;                                                                         \
                 I286_FLAGL &= ~C_FLAG;                                                                          \                  I286_FLAGL &= ~C_FLAG;                                                                          \
                 I286_FLAGL |= tmp;                                                                                      \                  I286_FLAGL |= tmp;                                                                                      \
                 I286_OV = ((s) ^ (d)) & 0x80;                                                           \                  I286_OV = ((s) ^ (d)) & 0x80;                                                           \
         }          }
   
 #define BYTE_ROR1(d, s) {                                                                                       \  #define BYTE_ROR1(d, s) {                                                                                       \
                 DWORD tmp = ((s) & 1);                                                                          \                  UINT tmp = ((s) & 1);                                                                           \
                 (d) = ((tmp << 8) | (s)) >> 1;                                                          \                  (d) = ((tmp << 8) + (s)) >> 1;                                                          \
                 I286_FLAGL &= ~C_FLAG;                                                                          \                  I286_FLAGL &= ~C_FLAG;                                                                          \
                 I286_FLAGL |= tmp;                                                                                      \                  I286_FLAGL |= tmp;                                                                                      \
                 I286_OV = ((s) ^ (d)) & 0x80;                                                           \                  I286_OV = ((s) ^ (d)) & 0x80;                                                           \
Line 47 Line 47
   
   
 #define WORD_ROL1(d, s) {                                                                                       \  #define WORD_ROL1(d, s) {                                                                                       \
                 DWORD tmp = ((s) >> 15);                                                                        \                  UINT32 tmp = ((s) >> 15);                                                                       \
                 (d) = ((s) << 1) | tmp;                                                                         \                  (d) = ((s) << 1) + tmp;                                                                         \
                 I286_FLAGL &= ~C_FLAG;                                                                          \                  I286_FLAGL &= ~C_FLAG;                                                                          \
                 I286_FLAGL |= tmp;                                                                                      \                  I286_FLAGL |= tmp;                                                                                      \
                 I286_OV = ((s) ^ (d)) & 0x8000;                                                         \                  I286_OV = ((s) ^ (d)) & 0x8000;                                                         \
         }          }
   
 #define WORD_ROR1(d, s) {                                                                                       \  #define WORD_ROR1(d, s) {                                                                                       \
                 DWORD tmp = ((s) & 1);                                                                          \                  UINT32 tmp = ((s) & 1);                                                                         \
                 (d) = ((tmp << 16) | (s)) >> 1;                                                         \                  (d) = ((tmp << 16) + (s)) >> 1;                                                         \
                 I286_FLAGL &= ~C_FLAG;                                                                          \                  I286_FLAGL &= ~C_FLAG;                                                                          \
                 I286_FLAGL |= tmp;                                                                                      \                  I286_FLAGL |= tmp;                                                                                      \
                 I286_OV = ((s) ^ (d)) & 0x8000;                                                         \                  I286_OV = ((s) ^ (d)) & 0x8000;                                                         \
Line 69 Line 69
                 I286_OV = ((s) ^ (d)) & 0x8000;                  I286_OV = ((s) ^ (d)) & 0x8000;
   
 #define WORD_RCR1(d, s)                                                                                         \  #define WORD_RCR1(d, s)                                                                                         \
                 (d) = (((I286_FLAGL & 1) << 16) | (s)) >> 1;                            \                  (d) = (((I286_FLAGL & 1) << 16) + (s)) >> 1;                            \
                 I286_FLAGL &= ~C_FLAG;                                                                          \                  I286_FLAGL &= ~C_FLAG;                                                                          \
                 I286_FLAGL |= ((s) & 1);                                                                        \                  I286_FLAGL |= ((s) & 1);                                                                        \
                 I286_OV = ((s) ^ (d)) & 0x8000;                  I286_OV = ((s) ^ (d)) & 0x8000;
Line 85 Line 85
                 I286_FLAGL = (BYTE)(szpflag_w[(d)] | A_FLAG | ((s) & 1));                  I286_FLAGL = (BYTE)(szpflag_w[(d)] | A_FLAG | ((s) & 1));
   
 #define WORD_SAR1(d, s)                                                                                         \  #define WORD_SAR1(d, s)                                                                                         \
                 (d) = (WORD)(((short)s) >> 1);                                                          \                  (d) = (UINT16)(((SINT16)s) >> 1);                                                       \
                 I286_OV = 0;                                                                                            \                  I286_OV = 0;                                                                                            \
                 I286_FLAGL = (BYTE)(szpflag_w[(d)] | A_FLAG | ((s) & 1));                  I286_FLAGL = (BYTE)(szpflag_w[(d)] | A_FLAG | ((s) & 1));
   
Line 123 Line 123
 #define BYTE_RCLCL(d, s, c)                                                                                     \  #define BYTE_RCLCL(d, s, c)                                                                                     \
                 (c) &= 0x1f;                                                                                            \                  (c) &= 0x1f;                                                                                            \
                 if (c) {                                                                                                        \                  if (c) {                                                                                                        \
                         DWORD   tmp;                                                                                    \                          UINT tmp;                                                                                               \
                         tmp = I286_FLAGL & C_FLAG;                                                              \                          tmp = I286_FLAGL & C_FLAG;                                                              \
                         I286_FLAGL &= ~C_FLAG;                                                                  \                          I286_FLAGL &= ~C_FLAG;                                                                  \
                         while((c)--) {                                                                                  \                          while((c)--) {                                                                                  \
Line 138 Line 138
 #define BYTE_RCRCL(d, s, c)                                                                                     \  #define BYTE_RCRCL(d, s, c)                                                                                     \
                 (c) &= 0x1f;                                                                                            \                  (c) &= 0x1f;                                                                                            \
                 if (c) {                                                                                                        \                  if (c) {                                                                                                        \
                         DWORD   tmp;                                                                                    \                          UINT tmp;                                                                                               \
                         tmp = I286_FLAGL & C_FLAG;                                                              \                          tmp = I286_FLAGL & C_FLAG;                                                              \
                         I286_FLAGL &= ~C_FLAG;                                                                  \                          I286_FLAGL &= ~C_FLAG;                                                                  \
                         while((c)--) {                                                                                  \                          while((c)--) {                                                                                  \
Line 195 Line 195
 #define WORD_ROLCL(d, s, c)                                                                                     \  #define WORD_ROLCL(d, s, c)                                                                                     \
                 (c) &= 0x1f;                                                                                            \                  (c) &= 0x1f;                                                                                            \
                 if (c) {                                                                                                        \                  if (c) {                                                                                                        \
                         DWORD tmp;                                                                                              \                          UINT tmp;                                                                                               \
                         (c)--;                                                                                                  \                          (c)--;                                                                                                  \
                         if (c) {                                                                                                \                          if (c) {                                                                                                \
                                 (c) &= 0x0f;                                                                            \                                  (c) &= 0x0f;                                                                            \
Line 207 Line 207
                                 I286_OV = ((s) + 0x4000) & 0x8000;                                      \                                  I286_OV = ((s) + 0x4000) & 0x8000;                                      \
                         }                                                                                                               \                          }                                                                                                               \
                         tmp = ((s) >> 15);                                                                              \                          tmp = ((s) >> 15);                                                                              \
                         (s) = ((s) << 1) | tmp;                                                                 \                          (s) = ((s) << 1) + tmp;                                                                 \
                         I286_FLAGL &= ~C_FLAG;                                                                  \                          I286_FLAGL &= ~C_FLAG;                                                                  \
                         I286_FLAGL |= tmp;                                                                              \                          I286_FLAGL |= tmp;                                                                              \
                 }                                                                                                                       \                  }                                                                                                                       \
Line 216 Line 216
 #define WORD_RORCL(d, s, c)                                                                                     \  #define WORD_RORCL(d, s, c)                                                                                     \
                 (c) &= 0x1f;                                                                                            \                  (c) &= 0x1f;                                                                                            \
                 if (c) {                                                                                                        \                  if (c) {                                                                                                        \
                         DWORD tmp;                                                                                              \                          UINT32 tmp;                                                                                             \
                         (c)--;                                                                                                  \                          (c)--;                                                                                                  \
                         if (c) {                                                                                                \                          if (c) {                                                                                                \
                                 (c) &= 0x0f;                                                                            \                                  (c) &= 0x0f;                                                                            \
Line 228 Line 228
                                 I286_OV = ((s) >> 15) ^ ((s) & 1);                                      \                                  I286_OV = ((s) >> 15) ^ ((s) & 1);                                      \
                         }                                                                                                               \                          }                                                                                                               \
                         tmp = ((s) & 1);                                                                                \                          tmp = ((s) & 1);                                                                                \
                         (s) = ((tmp << 16) | (s)) >> 1;                                                 \                          (s) = ((tmp << 16) + (s)) >> 1;                                                 \
                         I286_FLAGL &= ~C_FLAG;                                                                  \                          I286_FLAGL &= ~C_FLAG;                                                                  \
                         I286_FLAGL |= tmp;                                                                              \                          I286_FLAGL |= tmp;                                                                              \
                 }                                                                                                                       \                  }                                                                                                                       \
Line 237 Line 237
 #define WORD_RCLCL(d, s, c)                                                                                     \  #define WORD_RCLCL(d, s, c)                                                                                     \
                 (c) &= 0x1f;                                                                                            \                  (c) &= 0x1f;                                                                                            \
                 if (c) {                                                                                                        \                  if (c) {                                                                                                        \
                         DWORD   tmp;                                                                                    \                          UINT tmp;                                                                                               \
                         tmp = I286_FLAGL & C_FLAG;                                                              \                          tmp = I286_FLAGL & C_FLAG;                                                              \
                         I286_FLAGL &= ~C_FLAG;                                                                  \                          I286_FLAGL &= ~C_FLAG;                                                                  \
                         I286_OV = 0;                                                                                    \                          I286_OV = 0;                                                                                    \
Line 245 Line 245
                                 I286_OV = ((s) + 0x4000) & 0x8000;                                      \                                  I286_OV = ((s) + 0x4000) & 0x8000;                                      \
                         }                                                                                                               \                          }                                                                                                               \
                         while((c)--) {                                                                                  \                          while((c)--) {                                                                                  \
                                 (s) = (((s) << 1) | tmp) & 0x1ffff;                                     \                                  (s) = (((s) << 1) + tmp) & 0x1ffff;                                     \
                                 tmp = (s) >> 16;                                                                        \                                  tmp = (s) >> 16;                                                                        \
                         }                                                                                                               \                          }                                                                                                               \
                         I286_FLAGL |= tmp;                                                                              \                          I286_FLAGL |= tmp;                                                                              \
Line 255 Line 255
 #define WORD_RCRCL(d, s, c)                                                                                     \  #define WORD_RCRCL(d, s, c)                                                                                     \
                 (c) &= 0x1f;                                                                                            \                  (c) &= 0x1f;                                                                                            \
                 if (c) {                                                                                                        \                  if (c) {                                                                                                        \
                         DWORD   tmp;                                                                                    \                          UINT32 tmp;                                                                                             \
                         tmp = I286_FLAGL & C_FLAG;                                                              \                          tmp = I286_FLAGL & C_FLAG;                                                              \
                         I286_FLAGL &= ~C_FLAG;                                                                  \                          I286_FLAGL &= ~C_FLAG;                                                                  \
                         I286_OV = 0;                                                                                    \                          I286_OV = 0;                                                                                    \
Line 281 Line 281
                         (s) <<= (c);                                                                                    \                          (s) <<= (c);                                                                                    \
                         (s) &= 0x1ffff;                                                                                 \                          (s) &= 0x1ffff;                                                                                 \
                         I286_FLAGL = szpflag_w[(s) & 0xffff];                                   \                          I286_FLAGL = szpflag_w[(s) & 0xffff];                                   \
                         I286_FLAGL |= (WORD)((s) >> 16);                                                \                          I286_FLAGL |= (BYTE)((s) >> 16);                                                \
                 }                                                                                                                       \                  }                                                                                                                       \
                 (d) = (s);                  (d) = (s);
   
Line 305 Line 305
 #define WORD_SARCL(d, s, c)                                                                                     \  #define WORD_SARCL(d, s, c)                                                                                     \
                 (c) &= 0x1f;                                                                                            \                  (c) &= 0x1f;                                                                                            \
                 if (c) {                                                                                                        \                  if (c) {                                                                                                        \
                         (s) = ((short)(s)) >> ((c) - 1);                                                \                          (s) = ((SINT16)(s)) >> ((c) - 1);                                               \
                         I286_FLAGL = (BYTE)((s) & 1);                                                   \                          I286_FLAGL = (BYTE)((s) & 1);                                                   \
                         (s) = (WORD)(((short)s) >> 1);                                                  \                          (s) = (UINT16)(((SINT16)s) >> 1);                                               \
                         I286_OV = 0;                                                                                    \                          I286_OV = 0;                                                                                    \
                         I286_FLAGL |= szpflag_w[(s)];                                                   \                          I286_FLAGL |= szpflag_w[(s)];                                                   \
                 }                                                                                                                       \                  }                                                                                                                       \

Removed from v.1.1.1.1  
changed lines
  Added in v.1.2


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