|
|
| version 1.3, 2003/10/17 11:10:02 | version 1.4, 2003/10/19 14:56:15 |
|---|---|
| Line 21 I286_F6 _inc_ea8(UINT op) { | Line 21 I286_F6 _inc_ea8(UINT op) { |
| BYTE *out; | BYTE *out; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_CLOCK(2) | I286_WORKCLOCK(2); |
| out = reg8_b20[op]; | out = reg8_b20[op]; |
| } | } |
| else { | else { |
| I286_CLOCK(7) | I286_WORKCLOCK(7); |
| madr = c_calc_ea_dst[op](); | madr = c_calc_ea_dst[op](); |
| if (madr >= I286_MEMWRITEMAX) { | if (madr >= I286_MEMWRITEMAX) { |
| BYTE value = i286_memoryread(madr); | BYTE value = i286_memoryread(madr); |
| Line 44 I286_F6 _dec_ea8(UINT op) { | Line 44 I286_F6 _dec_ea8(UINT op) { |
| BYTE *out; | BYTE *out; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_CLOCK(2) | I286_WORKCLOCK(2); |
| out = reg8_b20[op]; | out = reg8_b20[op]; |
| } | } |
| else { | else { |
| I286_CLOCK(7) | I286_WORKCLOCK(7); |
| madr = c_calc_ea_dst[op](); | madr = c_calc_ea_dst[op](); |
| if (madr >= I286_MEMWRITEMAX) { | if (madr >= I286_MEMWRITEMAX) { |
| BYTE value = i286_memoryread(madr); | BYTE value = i286_memoryread(madr); |
| Line 67 I286_F6 _inc_ea16(UINT op) { | Line 67 I286_F6 _inc_ea16(UINT op) { |
| UINT16 *out; | UINT16 *out; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_CLOCK(2) | I286_WORKCLOCK(2); |
| out = reg16_b20[op]; | out = reg16_b20[op]; |
| } | } |
| else { | else { |
| I286_CLOCK(7) | I286_WORKCLOCK(7); |
| madr = c_calc_ea_dst[op](); | madr = c_calc_ea_dst[op](); |
| if (INHIBIT_WORDP(madr)) { | if (INHIBIT_WORDP(madr)) { |
| UINT16 value = i286_memoryread_w(madr); | UINT16 value = i286_memoryread_w(madr); |
| Line 90 I286_F6 _dec_ea16(UINT op) { | Line 90 I286_F6 _dec_ea16(UINT op) { |
| UINT16 *out; | UINT16 *out; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_CLOCK(2) | I286_WORKCLOCK(2); |
| out = reg16_b20[op]; | out = reg16_b20[op]; |
| } | } |
| else { | else { |
| I286_CLOCK(7) | I286_WORKCLOCK(7); |
| madr = c_calc_ea_dst[op](); | madr = c_calc_ea_dst[op](); |
| if (INHIBIT_WORDP(madr)) { | if (INHIBIT_WORDP(madr)) { |
| UINT16 value = i286_memoryread_w(madr); | UINT16 value = i286_memoryread_w(madr); |
| Line 112 I286_F6 _call_ea16(UINT op) { | Line 112 I286_F6 _call_ea16(UINT op) { |
| UINT16 src; | UINT16 src; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_CLOCK(7) | I286_WORKCLOCK(7); |
| src = *(reg16_b20[op]); | src = *(reg16_b20[op]); |
| } | } |
| else { | else { |
| I286_CLOCK(11) | I286_WORKCLOCK(11); |
| src = i286_memoryread_w(c_calc_ea_dst[op]()); | src = i286_memoryread_w(c_calc_ea_dst[op]()); |
| } | } |
| REGPUSH0(I286_IP); | REGPUSH0(I286_IP); |
| Line 125 I286_F6 _call_ea16(UINT op) { | Line 125 I286_F6 _call_ea16(UINT op) { |
| I286_F6 _call_far_ea16(UINT op) { | I286_F6 _call_far_ea16(UINT op) { |
| I286_CLOCK(16) | I286_WORKCLOCK(16); |
| if (op < 0xc0) { | if (op < 0xc0) { |
| UINT16 ad = c_get_ea[op](); | UINT16 ad = c_get_ea[op](); |
| REGPUSH0(I286_CS) // ToDo | REGPUSH0(I286_CS) // ToDo |
| Line 143 I286_F6 _call_far_ea16(UINT op) { | Line 143 I286_F6 _call_far_ea16(UINT op) { |
| I286_F6 _jmp_ea16(UINT op) { | I286_F6 _jmp_ea16(UINT op) { |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_CLOCK(7) | I286_WORKCLOCK(7); |
| I286_IP = *(reg16_b20[op]); | I286_IP = *(reg16_b20[op]); |
| } | } |
| else { | else { |
| I286_CLOCK(11) | I286_WORKCLOCK(11); |
| I286_IP = i286_memoryread_w(c_calc_ea_dst[op]()); | I286_IP = i286_memoryread_w(c_calc_ea_dst[op]()); |
| } | } |
| } | } |
| I286_F6 _jmp_far_ea16(UINT op) { | I286_F6 _jmp_far_ea16(UINT op) { |
| I286_CLOCK(11) | I286_WORKCLOCK(11); |
| if (op < 0xc0) { | if (op < 0xc0) { |
| UINT16 ad = c_get_ea[op](); | UINT16 ad = c_get_ea[op](); |
| I286_IP = i286_memoryread_w(ad + EA_FIX); | I286_IP = i286_memoryread_w(ad + EA_FIX); |
| Line 172 I286_F6 _push_ea16(UINT op) { | Line 172 I286_F6 _push_ea16(UINT op) { |
| UINT16 src; | UINT16 src; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_CLOCK(3) | I286_WORKCLOCK(3); |
| src = *(reg16_b20[op]); | src = *(reg16_b20[op]); |
| } | } |
| else { | else { |
| I286_CLOCK(5) | I286_WORKCLOCK(5); |
| src = i286_memoryread_w(c_calc_ea_dst[op]()); | src = i286_memoryread_w(c_calc_ea_dst[op]()); |
| } | } |
| REGPUSH0(src); | REGPUSH0(src); |
| Line 187 I286_F6 _pop_ea16(UINT op) { | Line 187 I286_F6 _pop_ea16(UINT op) { |
| UINT16 src; | UINT16 src; |
| REGPOP0(src); | REGPOP0(src); |
| I286_CLOCK(5) | I286_WORKCLOCK(5); |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| *(reg16_b20[op]) = src; | *(reg16_b20[op]) = src; |
| } | } |