|
|
| version 1.24, 2005/02/12 12:13:58 | version 1.25, 2005/03/03 06:59:41 |
|---|---|
| Line 12 | Line 12 |
| #include "v30patch.h" | #include "v30patch.h" |
| #include "bios.h" | #include "bios.h" |
| #include "dmax86.h" | #include "dmax86.h" |
| #if defined(ENABLE_TRAP) | |
| #include "steptrap.h" | |
| #include "inttrap.h" | |
| #endif | |
| I286CORE i286core; | I286CORE i286core; |
| Line 264 LABEL void i286x(void) { | Line 268 LABEL void i286x(void) { |
| cmp dmac.working, 0 | cmp dmac.working, 0 |
| jne short i286_dma_mnlp | jne short i286_dma_mnlp |
| i286_mnlp: movzx eax, bl | i286_mnlp: |
| #if defined(ENABLE_TRAP) | |
| mov edx, esi | |
| movzx ecx, I286_CS | |
| call steptrap | |
| #endif | |
| movzx eax, bl | |
| call i286op[eax*4] | call i286op[eax*4] |
| cmp I286_REMCLOCK, 0 | cmp I286_REMCLOCK, 0 |
| jg i286_mnlp | jg i286_mnlp |
| Line 274 i286_mnlp: movzx eax, bl | Line 284 i286_mnlp: movzx eax, bl |
| ret | ret |
| align 16 | align 16 |
| i286_dma_mnlp: movzx eax, bl | i286_dma_mnlp: |
| #if defined(ENABLE_TRAP) | |
| mov edx, esi | |
| movzx ecx, I286_CS | |
| call steptrap | |
| #endif | |
| movzx eax, bl | |
| call i286op[eax*4] | call i286op[eax*4] |
| call dmax86 | call dmax86 |
| cmp I286_REMCLOCK, 0 | cmp I286_REMCLOCK, 0 |
| Line 285 i286_dma_mnlp: movzx eax, bl | Line 301 i286_dma_mnlp: movzx eax, bl |
| ret | ret |
| align 16 | align 16 |
| i286_trapping: movzx eax, bl | i286_trapping: |
| #if defined(ENABLE_TRAP) | |
| mov edx, esi | |
| movzx ecx, I286_CS | |
| call steptrap | |
| #endif | |
| movzx eax, bl | |
| call i286op[eax*4] | call i286op[eax*4] |
| cmp I286_TRAP, 0 | cmp I286_TRAP, 0 |
| je i286notrap | je i286notrap |
| Line 3635 I286 int_data8(void) { // CD: int | Line 3657 I286 int_data8(void) { // CD: int |
| lea ecx, [edi + ebp] | lea ecx, [edi + ebp] |
| mov dx, I286_CS | mov dx, I286_CS |
| call i286_memorywrite_w | call i286_memorywrite_w |
| #if defined(ENABLE_TRAP) | |
| movzx eax, bh | |
| push eax | |
| lea edx, [esi - 1] | |
| movzx ecx, I286_CS | |
| call softinttrap | |
| #endif | |
| movzx eax, bh | movzx eax, bh |
| sub bp, 2 | sub bp, 2 |
| mov I286_SP, bp | mov I286_SP, bp |