|
|
| version 1.7, 2003/11/24 09:14:01 | version 1.9, 2003/11/29 00:36:00 |
|---|---|
| Line 27 I286_F6 _inc_ea8(UINT op) { | Line 27 I286_F6 _inc_ea8(UINT op) { |
| I286_WORKCLOCK(7); | I286_WORKCLOCK(7); |
| madr = CALC_EA(op); | madr = CALC_EA(op); |
| if (madr >= I286_MEMWRITEMAX) { | if (madr >= I286_MEMWRITEMAX) { |
| BYTE value = i286_memoryread(madr); | REG8 value = i286_memoryread(madr); |
| BYTE_INC(value) | BYTE_INC(value) |
| i286_memorywrite(madr, value); | i286_memorywrite(madr, value); |
| return; | return; |
| Line 50 I286_F6 _dec_ea8(UINT op) { | Line 50 I286_F6 _dec_ea8(UINT op) { |
| I286_WORKCLOCK(7); | I286_WORKCLOCK(7); |
| madr = CALC_EA(op); | madr = CALC_EA(op); |
| if (madr >= I286_MEMWRITEMAX) { | if (madr >= I286_MEMWRITEMAX) { |
| BYTE value = i286_memoryread(madr); | REG8 value = i286_memoryread(madr); |
| BYTE_DEC(value) | BYTE_DEC(value) |
| i286_memorywrite(madr, value); | i286_memorywrite(madr, value); |
| return; | return; |
| Line 73 I286_F6 _inc_ea16(UINT op) { | Line 73 I286_F6 _inc_ea16(UINT op) { |
| I286_WORKCLOCK(7); | I286_WORKCLOCK(7); |
| madr = CALC_EA(op); | madr = CALC_EA(op); |
| if (INHIBIT_WORDP(madr)) { | if (INHIBIT_WORDP(madr)) { |
| UINT16 value = i286_memoryread_w(madr); | REG16 value = i286_memoryread_w(madr); |
| WORD_INC(value) | WORD_INC(value) |
| i286_memorywrite_w(madr, value); | i286_memorywrite_w(madr, value); |
| return; | return; |
| Line 96 I286_F6 _dec_ea16(UINT op) { | Line 96 I286_F6 _dec_ea16(UINT op) { |
| I286_WORKCLOCK(7); | I286_WORKCLOCK(7); |
| madr = CALC_EA(op); | madr = CALC_EA(op); |
| if (INHIBIT_WORDP(madr)) { | if (INHIBIT_WORDP(madr)) { |
| UINT16 value = i286_memoryread_w(madr); | REG16 value = i286_memoryread_w(madr); |
| WORD_DEC(value) | WORD_DEC(value) |
| i286_memorywrite_w(madr, value); | i286_memorywrite_w(madr, value); |
| return; | return; |
| 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) { |
| UINT32 seg; | UINT32 seg; |
| UINT16 ad; | UINT ad; |
| I286_WORKCLOCK(16); | I286_WORKCLOCK(16); |
| if (op < 0xc0) { | if (op < 0xc0) { |
| Line 133 I286_F6 _call_far_ea16(UINT op) { | Line 133 I286_F6 _call_far_ea16(UINT op) { |
| REGPUSH0(I286_CS) // ToDo | REGPUSH0(I286_CS) // ToDo |
| REGPUSH0(I286_IP) | REGPUSH0(I286_IP) |
| I286_IP = i286_memoryread_w(seg + ad); | I286_IP = i286_memoryread_w(seg + ad); |
| ad += 2; | I286_CS = i286_memoryread_w(seg + LOW16(ad + 2)); |
| I286_CS = i286_memoryread_w(seg + ad); | |
| CS_BASE = I286_CS << 4; | CS_BASE = I286_CS << 4; |
| } | } |
| else { | else { |
| Line 157 I286_F6 _jmp_ea16(UINT op) { | Line 156 I286_F6 _jmp_ea16(UINT op) { |
| I286_F6 _jmp_far_ea16(UINT op) { | I286_F6 _jmp_far_ea16(UINT op) { |
| UINT32 seg; | UINT32 seg; |
| UINT16 ad; | UINT ad; |
| I286_WORKCLOCK(11); | I286_WORKCLOCK(11); |
| if (op < 0xc0) { | if (op < 0xc0) { |
| ad = GET_EA(op, &seg); | ad = GET_EA(op, &seg); |
| I286_IP = i286_memoryread_w(seg + ad); | I286_IP = i286_memoryread_w(seg + ad); |
| ad += 2; | I286_CS = i286_memoryread_w(seg + LOW16(ad + 2)); |
| I286_CS = i286_memoryread_w(seg + ad); | |
| CS_BASE = I286_CS << 4; | CS_BASE = I286_CS << 4; |
| } | } |
| else { | else { |