|
|
| 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) |