Diff for /np2/i386c/ia32/ia32.mcr between versions 1.26 and 1.27

version 1.26, 2011/01/15 17:17:23 version 1.27, 2011/01/15 17:33:32
Line 695  do { \ Line 695  do { \
  */   */
 #define REGPUSH(reg, clock) \  #define REGPUSH(reg, clock) \
 do { \  do { \
         UINT16 new_sp = CPU_SP - 2; \          UINT16 __new_sp = CPU_SP - 2; \
         CPU_WORKCLOCK(clock); \          CPU_WORKCLOCK(clock); \
         cpu_vmemorywrite_w(CPU_SS_INDEX, new_sp, reg); \          cpu_vmemorywrite_w(CPU_SS_INDEX, __new_sp, reg); \
         CPU_SP = new_sp; \          CPU_SP = __new_sp; \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
 #define REGPUSH_32(reg, clock) \  #define REGPUSH_32(reg, clock) \
 do { \  do { \
         UINT32 new_esp = CPU_ESP - 4; \          UINT32 __new_esp = CPU_ESP - 4; \
         CPU_WORKCLOCK(clock); \          CPU_WORKCLOCK(clock); \
         cpu_vmemorywrite_d(CPU_SS_INDEX, new_esp, reg); \          cpu_vmemorywrite_d(CPU_SS_INDEX, __new_esp, reg); \
         CPU_ESP = new_esp; \          CPU_ESP = __new_esp; \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
 #define REGPUSH0(reg) \  #define REGPUSH0(reg) \
 do { \  do { \
         UINT16 new_sp = CPU_SP - 2; \          UINT16 __new_sp = CPU_SP - 2; \
         cpu_vmemorywrite_w(CPU_SS_INDEX, new_sp, (UINT16)reg); \          cpu_vmemorywrite_w(CPU_SS_INDEX, __new_sp, (UINT16)reg); \
         CPU_SP = new_sp; \          CPU_SP = __new_sp; \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
 /* Operand Size == 16 && Stack Size == 32 */  /* Operand Size == 16 && Stack Size == 32 */
 #define REGPUSH0_16_32(reg) \  #define REGPUSH0_16_32(reg) \
 do { \  do { \
         UINT32 new_esp = CPU_ESP - 2; \          UINT32 __new_esp = CPU_ESP - 2; \
         cpu_vmemorywrite_w(CPU_SS_INDEX, new_esp, (UINT16)reg); \          cpu_vmemorywrite_w(CPU_SS_INDEX, __new_esp, (UINT16)reg); \
         CPU_ESP = new_esp; \          CPU_ESP = __new_esp; \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
 /* Operand Size == 32 && Stack Size == 16 */  /* Operand Size == 32 && Stack Size == 16 */
 #define REGPUSH0_32_16(reg) \  #define REGPUSH0_32_16(reg) \
 do { \  do { \
         UINT16 new_sp = CPU_SP - 4; \          UINT16 __new_sp = CPU_SP - 4; \
         cpu_vmemorywrite_d(CPU_SS_INDEX, new_sp, reg); \          cpu_vmemorywrite_d(CPU_SS_INDEX, __new_sp, reg); \
         CPU_SP = new_sp; \          CPU_SP = __new_sp; \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
 #define REGPUSH0_32(reg) \  #define REGPUSH0_32(reg) \
 do { \  do { \
         UINT32 new_esp = CPU_ESP - 4; \          UINT32 __new_esp = CPU_ESP - 4; \
         cpu_vmemorywrite_d(CPU_SS_INDEX, new_esp, reg); \          cpu_vmemorywrite_d(CPU_SS_INDEX, __new_esp, reg); \
         CPU_ESP = new_esp; \          CPU_ESP = __new_esp; \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
 #define PUSH0_16(reg) \  #define PUSH0_16(reg) \
Line 827  do { \ Line 827  do { \
  */   */
 #define SP_PUSH_16(reg) \  #define SP_PUSH_16(reg) \
 do { \  do { \
         UINT16 sp = CPU_SP; \          UINT16 __sp = CPU_SP; \
         if (!CPU_STAT_SS32) { \          if (!CPU_STAT_SS32) { \
                 REGPUSH0(sp); \                  REGPUSH0(__sp); \
         } else { \          } else { \
                 REGPUSH0_16_32(sp); \                  REGPUSH0_16_32(__sp); \
         } \          } \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
 #define ESP_PUSH_32(reg) \  #define ESP_PUSH_32(reg) \
 do { \  do { \
         UINT32 sp = CPU_ESP; \          UINT32 __esp = CPU_ESP; \
         if (!CPU_STAT_SS32) { \          if (!CPU_STAT_SS32) { \
                 REGPUSH0_32_16(sp); \                  REGPUSH0_32_16(__esp); \
         } else { \          } else { \
                 REGPUSH0_32(sp); \                  REGPUSH0_32(__esp); \
         } \          } \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
 #define SP_POP_16(reg) \  #define SP_POP_16(reg) \
 do { \  do { \
         UINT32 sp; \          UINT32 __sp; \
         if (!CPU_STAT_SS32) { \          if (!CPU_STAT_SS32) { \
                 sp = CPU_SP; \                  __sp = CPU_SP; \
         } else { \          } else { \
                 sp = CPU_ESP; \                  __sp = CPU_ESP; \
         } \          } \
         CPU_SP = cpu_vmemoryread_w(CPU_SS_INDEX, sp); \          CPU_SP = cpu_vmemoryread_w(CPU_SS_INDEX, __sp); \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
 #define ESP_POP_32(reg) \  #define ESP_POP_32(reg) \
 do { \  do { \
         UINT32 sp; \          UINT32 __esp; \
         if (!CPU_STAT_SS32) { \          if (!CPU_STAT_SS32) { \
                 sp = CPU_SP; \                  __esp = CPU_SP; \
         } else { \          } else { \
                 sp = CPU_ESP; \                  __esp = CPU_ESP; \
         } \          } \
         CPU_ESP = cpu_vmemoryread_d(CPU_SS_INDEX, sp); \          CPU_ESP = cpu_vmemoryread_d(CPU_SS_INDEX, __esp); \
 } while (/*CONSTCOND*/ 0)  } while (/*CONSTCOND*/ 0)
   
   

Removed from v.1.26  
changed lines
  Added in v.1.27


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