|
|
| version 1.17, 2004/01/25 07:53:08 | version 1.19, 2004/01/29 09:41:50 |
|---|---|
| Line 2761 I286 _popf(void) { // 9D: popf | Line 2761 I286 _popf(void) { // 9D: popf |
| je irqcheck // fast_intr | je irqcheck // fast_intr |
| test ah, 2 | test ah, 2 |
| je nextop | je nextop |
| cmp pic.ext_irq, 0 | mov al, pic.pi[0 * (type _PICITEM)].imr |
| jne nextop | mov ah, pic.pi[1 * (type _PICITEM)].imr |
| mov al, pic.pi[0].imr | |
| mov ah, pic.pi[1].imr | |
| not ax | not ax |
| test al, pic.pi[0].irr | test al, pic.pi[0 * (type _PICITEM)].irr |
| jne irqcheck | jne irqcheck |
| test ah, pic.pi[1].irr | test ah, pic.pi[1 * (type _PICITEM)].irr |
| jne irqcheck | jne irqcheck |
| nextop: ret | nextop: ret |
| Line 3659 I286 _into(void) { // CE: into | Line 3657 I286 _into(void) { // CE: into |
| I286 _iret(void) { // CF: iret | I286 _iret(void) { // CF: iret |
| __asm { | __asm { |
| call extirq_pop | |
| I286CLOCK(31) | I286CLOCK(31) |
| mov edi, SS_BASE | mov edi, SS_BASE |
| movzx ebx, I286_SP | movzx ebx, I286_SP |
| Line 3689 I286 _iret(void) { // CF: iret | Line 3686 I286 _iret(void) { // CF: iret |
| jne irqcheck | jne irqcheck |
| test I286_FLAG, I_FLAG | test I286_FLAG, I_FLAG |
| je nextop | je nextop |
| cmp pic.ext_irq, 0 | mov al, pic.pi[0 * (type _PICITEM)].imr |
| jne nextop | mov ah, pic.pi[1 * (type _PICITEM)].imr |
| mov al, pic.pi[0].imr | |
| mov ah, pic.pi[1].imr | |
| not ax | not ax |
| test al, pic.pi[0].irr | test al, pic.pi[0 * (type _PICITEM)].irr |
| jne irqcheck | jne irqcheck |
| test ah, pic.pi[1].irr | test ah, pic.pi[1 * (type _PICITEM)].irr |
| jne irqcheck | jne irqcheck |
| nextop: ret | nextop: ret |
| Line 4273 I286 _sti(void) { // FB: sti | Line 4268 I286 _sti(void) { // FB: sti |
| setne I286_TRAP | setne I286_TRAP |
| jne nextopandexit // fast_intr | jne nextopandexit // fast_intr |
| cmp pic.ext_irq, 0 | mov al, pic.pi[0 * (type _PICITEM)].imr |
| jne jmp_nextop | mov ah, pic.pi[1 * (type _PICITEM)].imr |
| mov al, pic.pi[0].imr | |
| mov ah, pic.pi[1].imr | |
| not ax | not ax |
| test al, pic.pi[0].irr | test al, pic.pi[0 * (type _PICITEM)].irr |
| jne nextopandexit | jne nextopandexit |
| test ah, pic.pi[1].irr | test ah, pic.pi[1 * (type _PICITEM)].irr |
| jne nextopandexit | jne nextopandexit |
| jmp_nextop: jmp i286op[ebp*4] | jmp_nextop: jmp i286op[ebp*4] |