| version 1.5, 2003/10/21 11:22:05 | version 1.7, 2003/11/24 09:14:01 | 
| Line 21  I286_F6 _inc_ea8(UINT op) { | Line 21  I286_F6 _inc_ea8(UINT op) { | 
 |  |  | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
 | I286_WORKCLOCK(2); | I286_WORKCLOCK(2); | 
| out = reg8_b20[op]; | out = REG8_B20(op); | 
 | } | } | 
 | else { | else { | 
 | I286_WORKCLOCK(7); | I286_WORKCLOCK(7); | 
| madr = c_calc_ea_dst[op](); | madr = CALC_EA(op); | 
 | if (madr >= I286_MEMWRITEMAX) { | if (madr >= I286_MEMWRITEMAX) { | 
 | BYTE value = i286_memoryread(madr); | BYTE value = i286_memoryread(madr); | 
 | BYTE_INC(value) | BYTE_INC(value) | 
| Line 44  I286_F6 _dec_ea8(UINT op) { | Line 44  I286_F6 _dec_ea8(UINT op) { | 
 |  |  | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
 | I286_WORKCLOCK(2); | I286_WORKCLOCK(2); | 
| out = reg8_b20[op]; | out = REG8_B20(op); | 
 | } | } | 
 | else { | else { | 
 | I286_WORKCLOCK(7); | I286_WORKCLOCK(7); | 
| madr = c_calc_ea_dst[op](); | madr = CALC_EA(op); | 
 | if (madr >= I286_MEMWRITEMAX) { | if (madr >= I286_MEMWRITEMAX) { | 
 | BYTE value = i286_memoryread(madr); | BYTE value = i286_memoryread(madr); | 
 | BYTE_DEC(value) | BYTE_DEC(value) | 
| Line 67  I286_F6 _inc_ea16(UINT op) { | Line 67  I286_F6 _inc_ea16(UINT op) { | 
 |  |  | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
 | I286_WORKCLOCK(2); | I286_WORKCLOCK(2); | 
| out = reg16_b20[op]; | out = REG16_B20(op); | 
 | } | } | 
 | else { | else { | 
 | I286_WORKCLOCK(7); | I286_WORKCLOCK(7); | 
| madr = c_calc_ea_dst[op](); | madr = CALC_EA(op); | 
 | if (INHIBIT_WORDP(madr)) { | if (INHIBIT_WORDP(madr)) { | 
 | UINT16 value = i286_memoryread_w(madr); | UINT16 value = i286_memoryread_w(madr); | 
 | WORD_INC(value) | WORD_INC(value) | 
| Line 90  I286_F6 _dec_ea16(UINT op) { | Line 90  I286_F6 _dec_ea16(UINT op) { | 
 |  |  | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
 | I286_WORKCLOCK(2); | I286_WORKCLOCK(2); | 
| out = reg16_b20[op]; | out = REG16_B20(op); | 
 | } | } | 
 | else { | else { | 
 | I286_WORKCLOCK(7); | I286_WORKCLOCK(7); | 
| madr = c_calc_ea_dst[op](); | madr = CALC_EA(op); | 
 | if (INHIBIT_WORDP(madr)) { | if (INHIBIT_WORDP(madr)) { | 
 | UINT16 value = i286_memoryread_w(madr); | UINT16 value = i286_memoryread_w(madr); | 
 | WORD_DEC(value) | WORD_DEC(value) | 
| Line 112  I286_F6 _call_ea16(UINT op) { | Line 112  I286_F6 _call_ea16(UINT op) { | 
 |  |  | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
 | I286_WORKCLOCK(7); | I286_WORKCLOCK(7); | 
| src = *(reg16_b20[op]); | src = *(REG16_B20(op)); | 
 | } | } | 
 | else { | else { | 
 | I286_WORKCLOCK(11); | I286_WORKCLOCK(11); | 
| src = i286_memoryread_w(c_calc_ea_dst[op]()); | src = i286_memoryread_w(CALC_EA(op)); | 
 | } | } | 
 | REGPUSH0(I286_IP); | REGPUSH0(I286_IP); | 
 | I286_IP = src; | I286_IP = src; | 
| Line 124  I286_F6 _call_ea16(UINT op) { | Line 124  I286_F6 _call_ea16(UINT op) { | 
 |  |  | 
 | I286_F6 _call_far_ea16(UINT op) { | I286_F6 _call_far_ea16(UINT op) { | 
 |  |  | 
 |  | UINT32  seg; | 
 |  | UINT16  ad; | 
 |  |  | 
 | I286_WORKCLOCK(16); | I286_WORKCLOCK(16); | 
 | if (op < 0xc0) { | if (op < 0xc0) { | 
| UINT16 ad = c_get_ea[op](); | ad = GET_EA(op, &seg); | 
 | REGPUSH0(I286_CS)                                                               // ToDo | REGPUSH0(I286_CS)                                                               // ToDo | 
 | REGPUSH0(I286_IP) | REGPUSH0(I286_IP) | 
| I286_IP = i286_memoryread_w(ad + EA_FIX); | I286_IP = i286_memoryread_w(seg + ad); | 
 | ad += 2; | ad += 2; | 
| I286_CS = i286_memoryread_w(ad + EA_FIX); | I286_CS = i286_memoryread_w(seg + ad); | 
 | CS_BASE = I286_CS << 4; | CS_BASE = I286_CS << 4; | 
 | } | } | 
 | else { | else { | 
| Line 143  I286_F6 _jmp_ea16(UINT op) { | Line 146  I286_F6 _jmp_ea16(UINT op) { | 
 |  |  | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
 | I286_WORKCLOCK(7); | I286_WORKCLOCK(7); | 
| I286_IP = *(reg16_b20[op]); | I286_IP = *(REG16_B20(op)); | 
 | } | } | 
 | else { | else { | 
 | I286_WORKCLOCK(11); | I286_WORKCLOCK(11); | 
| I286_IP = i286_memoryread_w(c_calc_ea_dst[op]()); | I286_IP = i286_memoryread_w(CALC_EA(op)); | 
 | } | } | 
 | } | } | 
 |  |  | 
 | I286_F6 _jmp_far_ea16(UINT op) { | I286_F6 _jmp_far_ea16(UINT op) { | 
 |  |  | 
 |  | UINT32  seg; | 
 |  | UINT16  ad; | 
 |  |  | 
 | I286_WORKCLOCK(11); | I286_WORKCLOCK(11); | 
 | if (op < 0xc0) { | if (op < 0xc0) { | 
| UINT16 ad = c_get_ea[op](); | ad = GET_EA(op, &seg); | 
| I286_IP = i286_memoryread_w(ad + EA_FIX); | I286_IP = i286_memoryread_w(seg + ad); | 
 | ad += 2; | ad += 2; | 
| I286_CS = i286_memoryread_w(ad + EA_FIX); | I286_CS = i286_memoryread_w(seg + ad); | 
 | CS_BASE = I286_CS << 4; | CS_BASE = I286_CS << 4; | 
 | } | } | 
 | else { | else { | 
| Line 172  I286_F6 _push_ea16(UINT op) { | Line 178  I286_F6 _push_ea16(UINT op) { | 
 |  |  | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
 | I286_WORKCLOCK(3); | I286_WORKCLOCK(3); | 
| src = *(reg16_b20[op]); | src = *(REG16_B20(op)); | 
 | } | } | 
 | else { | else { | 
 | I286_WORKCLOCK(5); | I286_WORKCLOCK(5); | 
| src = i286_memoryread_w(c_calc_ea_dst[op]()); | src = i286_memoryread_w(CALC_EA(op)); | 
 | } | } | 
 | REGPUSH0(src); | REGPUSH0(src); | 
 | } | } | 
| Line 188  I286_F6 _pop_ea16(UINT op) { | Line 194  I286_F6 _pop_ea16(UINT op) { | 
 | REGPOP0(src); | REGPOP0(src); | 
 | I286_WORKCLOCK(5); | I286_WORKCLOCK(5); | 
 | if (op >= 0xc0) { | if (op >= 0xc0) { | 
| *(reg16_b20[op]) = src; | *(REG16_B20(op)) = src; | 
 | } | } | 
 | else { | else { | 
| i286_memorywrite_w(c_calc_ea_dst[op](), src); | i286_memorywrite_w(CALC_EA(op), src); | 
 | } | } | 
 | } | } | 
 |  |  |