|
|
| version 1.5, 2003/12/08 00:55:31 | version 1.7, 2004/08/03 10:11:37 |
|---|---|
| Line 44 | Line 44 |
| #define I286_OV i286core.s.ovflag | #define I286_OV i286core.s.ovflag |
| #define I286_GDTR i286core.s.GDTR | #define I286_GDTR i286core.s.GDTR |
| #define I286_IDTR i286core.s.IDTR | |
| #define I286_MSW i286core.s.MSW | #define I286_MSW i286core.s.MSW |
| #define I286_IDTR i286core.s.IDTR | |
| #define I286_LDTR i286core.s.LDTR | |
| #define I286_LDTRC i286core.s.LDTRC | |
| #define I286_TR i286core.s.TR | |
| #define I286_TRC i286core.s.TRC | |
| #define I286_ADRSMASK i286core.s.adrsmask | |
| #define I286_REMCLOCK i286core.s.remainclock | #define I286_REMCLOCK i286core.s.remainclock |
| #define I286_BASECLOCK i286core.s.baseclock | #define I286_BASECLOCK i286core.s.baseclock |
| #define I286_CLOCK i286core.s.clock | #define I286_CLOCK i286core.s.clock |
| #define I286_ADRSMASK i286core.s.adrsmask | |
| #define I286_INPADRS i286core.s.inport | |
| // ver0.28 | #define I286_REPPOSBAK i286core.e.repbak |
| #define REPPOSBAK i286core.s.repbak | #define I286_INPADRS i286core.e.inport |
| #define PREFIX_SMP i286core.s.pf_semaphore | |
| #define I286 __declspec(naked) static void | #define I286 __declspec(naked) static void |
| #define I286EXT __declspec(naked) void | #define I286EXT __declspec(naked) void |
| typedef void (*I286TBL)(void); | |
| #define I286IRQCHECKTERM \ | #define I286IRQCHECKTERM \ |
| __asm { xor eax, eax } \ | __asm { xor eax, eax } \ |
| __asm { cmp I286_REMCLOCK, eax } \ | __asm { cmp I286_REMCLOCK, eax } \ |
| Line 74 | Line 79 |
| #define I286PREFIX(proc) \ | #define I286PREFIX(proc) \ |
| __asm { bts i286core.s.prefix, 0 } \ | __asm { bts i286core.s.prefix, 0 } \ |
| __asm { jc fixed } \ | __asm { jc fixed } \ |
| __asm { mov REPPOSBAK, esi } \ | __asm { mov I286_REPPOSBAK, esi } \ |
| __asm { push offset removeprefix } \ | __asm { push offset removeprefix } \ |
| fixed: \ | fixed: \ |
| GET_NEXTPRE1 \ | GET_NEXTPRE1 \ |
| Line 83 | Line 88 |
| extern void __fastcall i286x_localint(void); | extern void __fastcall i286x_localint(void); |
| extern void __fastcall i286x_selector(void); | |
| extern void removeprefix(void); | extern void removeprefix(void); |
| extern void (*i286op[])(void); | extern const I286TBL i286op[256]; |
| extern void (*i286op_repne[])(void); | extern const I286TBL i286op_repne[256]; |
| extern void (*i286op_repe[])(void); | extern const I286TBL i286op_repe[256]; |
| extern void (*v30op[])(void); | extern I286TBL v30op[256]; |
| extern void (*v30op_repne[])(void); | extern I286TBL v30op_repne[256]; |
| extern void (*v30op_repe[])(void); | extern I286TBL v30op_repe[256]; |
| void i286xadr_init(void); | void i286xadr_init(void); |