|
|
| version 1.1, 2003/10/16 17:57:29 | version 1.6, 2005/03/24 02:21:21 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "i286.h" | #include "cpucore.h" |
| #include "i286x.h" | #include "i286x.h" |
| #include "i286xs.h" | #include "i286xs.h" |
| #include "i286xrep.h" | #include "i286xrep.h" |
| #include "memory.h" | |
| #include "pccore.h" | #include "pccore.h" |
| #include "iocore.h" | #include "iocore.h" |
| #include "i286x.mcr" | #include "i286x.mcr" |
| Line 15 | Line 14 |
| __asm { movzx ebp, I286_SI } | __asm { movzx ebp, I286_SI } |
| #define REPLOOP(a) \ | #define REPLOOP(a) \ |
| __asm { cmp nevent.remainclock, 0 } \ | __asm { cmp I286_REMCLOCK, 0 } \ |
| __asm { jg (a) } \ | __asm { jg (a) } \ |
| __asm { mov esi, REPPOSBAK } | __asm { mov esi, I286_REPPOSBAK } |
| // ---------------------------------------------------------------------- ins | // ---------------------------------------------------------------------- ins |
| Line 65 I286EXT rep_xinsw(void) { | Line 64 I286EXT rep_xinsw(void) { |
| movzx ebp, I286_DI | movzx ebp, I286_DI |
| align 4 | align 4 |
| insw_lp: I286CLOCK(4) | insw_lp: I286CLOCK(4) |
| movzx cx, I286_DX | movzx ecx, I286_DX |
| call iocore_inp16 | call iocore_inp16 |
| lea ecx, [edi + ebp] | lea ecx, [edi + ebp] |
| mov dx, ax | mov dx, ax |
| Line 131 I286EXT rep_xoutsw(void) { | Line 130 I286EXT rep_xoutsw(void) { |
| outsw_lp: I286CLOCK(4) | outsw_lp: I286CLOCK(4) |
| lea ecx, [edi + ebp] | lea ecx, [edi + ebp] |
| call i286_memoryread_w | call i286_memoryread_w |
| movzx cx, I286_DX | movzx ecx, I286_DX |
| mov dx, ax | mov dx, ax |
| call iocore_out16 | call iocore_out16 |
| STRING_DIRx2 | STRING_DIRx2 |