|
|
| version 1.18, 2003/12/01 10:45:46 | version 1.19, 2003/12/01 17:13:36 |
|---|---|
| Line 10 | Line 10 |
| #define MAX_PREFIX 8 | #define MAX_PREFIX 8 |
| #define EXISTINTR (isI286EI) && (!pic.ext_irq) && \ | |
| ((pic.pi[0].irr & (~pic.pi[0].imr)) || \ | |
| (pic.pi[1].irr & (~pic.pi[1].imr))) | |
| #define NEXT_OPCODE \ | #define NEXT_OPCODE \ |
| if (I286_REMCLOCK < 1) { \ | if (I286_REMCLOCK < 1) { \ |
| Line 1823 I286FN _popf(void) { // 9D: popf | Line 1819 I286FN _popf(void) { // 9D: popf |
| I286_FLAG = flag & (0xfff ^ O_FLAG); | I286_FLAG = flag & (0xfff ^ O_FLAG); |
| I286_TRAP = ((flag & 0x300) == 0x300); | I286_TRAP = ((flag & 0x300) == 0x300); |
| #if defined(INTR_FAST) | #if defined(INTR_FAST) |
| if (EXISTINTR) { | if ((flag & I_FLAG) && (PICEXISTINTR)) { |
| I286IRQCHECKTERM | I286IRQCHECKTERM |
| } | } |
| #else | #else |
| Line 2285 I286FN _iret(void) { // CF: iret | Line 2281 I286FN _iret(void) { // CF: iret |
| I286_TRAP = ((flag & 0x300) == 0x300); | I286_TRAP = ((flag & 0x300) == 0x300); |
| CS_BASE = I286_CS << 4; | CS_BASE = I286_CS << 4; |
| #if defined(INTR_FAST) | #if defined(INTR_FAST) |
| if (EXISTINTR) { | if ((flag & I_FLAG) && (PICEXISTINTR)) { |
| I286IRQCHECKTERM | I286IRQCHECKTERM |
| } | } |
| #else | #else |
| Line 2664 I286FN _sti(void) { // FB: sti | Line 2660 I286FN _sti(void) { // FB: sti |
| I286_FLAG |= I_FLAG; | I286_FLAG |= I_FLAG; |
| I286_TRAP = (I286_FLAG & T_FLAG) >> 8; | I286_TRAP = (I286_FLAG & T_FLAG) >> 8; |
| #if defined(INTR_FAST) | #if defined(INTR_FAST) |
| if (EXISTINTR) { | if (PICEXISTINTR) { |
| REMAIN_ADJUST(1) | REMAIN_ADJUST(1) |
| } | } |
| #else | #else |