--- np2/i286c/i286c_fe.c 2003/10/16 17:57:45 1.1.1.1 +++ np2/i286c/i286c_fe.c 2003/10/21 11:22:05 1.5 @@ -1,31 +1,30 @@ #include "compiler.h" #include "i286.h" #include "i286c.h" -#include "i286c.mcr" #include "memory.h" -#include "nevent.h" +#include "i286c.mcr" // ------------------------------------------------------------ opecode 0xfe,f #if 0 -I286_F6 _nop_int(DWORD op) { +I286_F6 _nop_int(UINT op) { INT_NUM(6, I286_IP - 2); } #endif -I286_F6 _inc_ea8(DWORD op) { +I286_F6 _inc_ea8(UINT op) { - DWORD madr; + UINT32 madr; BYTE *out; if (op >= 0xc0) { - I286_CLOCK(2) + I286_WORKCLOCK(2); out = reg8_b20[op]; } else { - I286_CLOCK(7) + I286_WORKCLOCK(7); madr = c_calc_ea_dst[op](); if (madr >= I286_MEMWRITEMAX) { BYTE value = i286_memoryread(madr); @@ -38,17 +37,17 @@ I286_F6 _inc_ea8(DWORD op) { BYTE_INC(*out) } -I286_F6 _dec_ea8(DWORD op) { +I286_F6 _dec_ea8(UINT op) { - DWORD madr; + UINT32 madr; BYTE *out; if (op >= 0xc0) { - I286_CLOCK(2) + I286_WORKCLOCK(2); out = reg8_b20[op]; } else { - I286_CLOCK(7) + I286_WORKCLOCK(7); madr = c_calc_ea_dst[op](); if (madr >= I286_MEMWRITEMAX) { BYTE value = i286_memoryread(madr); @@ -61,133 +60,133 @@ I286_F6 _dec_ea8(DWORD op) { BYTE_DEC(*out) } -I286_F6 _inc_ea16(DWORD op) { +I286_F6 _inc_ea16(UINT op) { - DWORD madr; - WORD *out; + UINT32 madr; + UINT16 *out; if (op >= 0xc0) { - I286_CLOCK(2) + I286_WORKCLOCK(2); out = reg16_b20[op]; } else { - I286_CLOCK(7) + I286_WORKCLOCK(7); madr = c_calc_ea_dst[op](); if (INHIBIT_WORDP(madr)) { - WORD value = i286_memoryread_w(madr); + UINT16 value = i286_memoryread_w(madr); WORD_INC(value) i286_memorywrite_w(madr, value); return; } - out = (WORD *)(mem + madr); + out = (UINT16 *)(mem + madr); } WORD_INC(*out) } -I286_F6 _dec_ea16(DWORD op) { +I286_F6 _dec_ea16(UINT op) { - DWORD madr; - WORD *out; + UINT32 madr; + UINT16 *out; if (op >= 0xc0) { - I286_CLOCK(2) + I286_WORKCLOCK(2); out = reg16_b20[op]; } else { - I286_CLOCK(7) + I286_WORKCLOCK(7); madr = c_calc_ea_dst[op](); if (INHIBIT_WORDP(madr)) { - WORD value = i286_memoryread_w(madr); + UINT16 value = i286_memoryread_w(madr); WORD_DEC(value) i286_memorywrite_w(madr, value); return; } - out = (WORD *)(mem + madr); + out = (UINT16 *)(mem + madr); } WORD_DEC(*out) } -I286_F6 _call_ea16(DWORD op) { +I286_F6 _call_ea16(UINT op) { - WORD src; + UINT16 src; if (op >= 0xc0) { - I286_CLOCK(7) + I286_WORKCLOCK(7); src = *(reg16_b20[op]); } else { - I286_CLOCK(11) + I286_WORKCLOCK(11); src = i286_memoryread_w(c_calc_ea_dst[op]()); } REGPUSH0(I286_IP); I286_IP = src; } -I286_F6 _call_far_ea16(DWORD op) { +I286_F6 _call_far_ea16(UINT op) { - I286_CLOCK(16) + I286_WORKCLOCK(16); if (op < 0xc0) { - WORD ad = c_get_ea[op](); + UINT16 ad = c_get_ea[op](); REGPUSH0(I286_CS) // ToDo REGPUSH0(I286_IP) I286_IP = i286_memoryread_w(ad + EA_FIX); ad += 2; I286_CS = i286_memoryread_w(ad + EA_FIX); - CS_BASE = (DWORD)I286_CS << 4; + CS_BASE = I286_CS << 4; } else { INT_NUM(6, I286_IP - 2); } } -I286_F6 _jmp_ea16(DWORD op) { +I286_F6 _jmp_ea16(UINT op) { if (op >= 0xc0) { - I286_CLOCK(7) + I286_WORKCLOCK(7); I286_IP = *(reg16_b20[op]); } else { - I286_CLOCK(11) + I286_WORKCLOCK(11); I286_IP = i286_memoryread_w(c_calc_ea_dst[op]()); } } -I286_F6 _jmp_far_ea16(DWORD op) { +I286_F6 _jmp_far_ea16(UINT op) { - I286_CLOCK(11) + I286_WORKCLOCK(11); if (op < 0xc0) { - WORD ad = c_get_ea[op](); + UINT16 ad = c_get_ea[op](); I286_IP = i286_memoryread_w(ad + EA_FIX); ad += 2; I286_CS = i286_memoryread_w(ad + EA_FIX); - CS_BASE = (DWORD)I286_CS << 4; + CS_BASE = I286_CS << 4; } else { INT_NUM(6, I286_IP - 2); } } -I286_F6 _push_ea16(DWORD op) { +I286_F6 _push_ea16(UINT op) { - WORD src; + UINT16 src; if (op >= 0xc0) { - I286_CLOCK(3) + I286_WORKCLOCK(3); src = *(reg16_b20[op]); } else { - I286_CLOCK(5) + I286_WORKCLOCK(5); src = i286_memoryread_w(c_calc_ea_dst[op]()); } REGPUSH0(src); } -I286_F6 _pop_ea16(DWORD op) { +I286_F6 _pop_ea16(UINT op) { - WORD src; + UINT16 src; REGPOP0(src); - I286_CLOCK(5) + I286_WORKCLOCK(5); if (op >= 0xc0) { *(reg16_b20[op]) = src; }