|
|
| version 1.4, 2003/10/19 14:56:15 | version 1.6, 2003/11/21 06:51:11 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "i286.h" | #include "i286.h" |
| #include "i286c.h" | #include "i286c.h" |
| #include "i286c.mcr" | |
| #include "memory.h" | #include "memory.h" |
| #include "nevent.h" | #include "i286c.mcr" |
| // ------------------------------------------------------------ opecode 0xf6,7 | // ------------------------------------------------------------ opecode 0xf6,7 |
| Line 15 I286_F6 _test_ea8_data8(UINT op) { | Line 14 I286_F6 _test_ea8_data8(UINT op) { |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(2); | I286_WORKCLOCK(2); |
| dst = *(reg8_b20[op]); | dst = *(REG8_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(6); | I286_WORKCLOCK(6); |
| Line 31 I286_F6 _not_ea8(UINT op) { | Line 30 I286_F6 _not_ea8(UINT op) { |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(2); | I286_WORKCLOCK(2); |
| *(reg8_b20[op]) ^= 0xff; | *(REG8_B20(op)) ^= 0xff; |
| } | } |
| else { | else { |
| I286_WORKCLOCK(7); | I286_WORKCLOCK(7); |
| Line 55 I286_F6 _neg_ea8(UINT op) { | Line 54 I286_F6 _neg_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); |
| Line 80 I286_F6 _mul_ea8(UINT op) { | Line 79 I286_F6 _mul_ea8(UINT op) { |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(13); | I286_WORKCLOCK(13); |
| src = *(reg8_b20[op]); | src = *(REG8_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(16); | I286_WORKCLOCK(16); |
| Line 97 I286_F6 _imul_ea8(UINT op) { | Line 96 I286_F6 _imul_ea8(UINT op) { |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(13); | I286_WORKCLOCK(13); |
| src = *(reg8_b20[op]); | src = *(REG8_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(16); | I286_WORKCLOCK(16); |
| Line 116 I286_F6 _div_ea8(UINT op) { | Line 115 I286_F6 _div_ea8(UINT op) { |
| ip = I286_IP; | ip = I286_IP; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(2); | I286_WORKCLOCK(2); |
| src = *(reg8_b20[op]); | src = *(REG8_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(7); | I286_WORKCLOCK(7); |
| Line 141 I286_F6 _idiv_ea8(UINT op) { | Line 140 I286_F6 _idiv_ea8(UINT op) { |
| ip = I286_IP; | ip = I286_IP; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(17); | I286_WORKCLOCK(17); |
| src = *(reg8_b20[op]); | src = *(REG8_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(25); | I286_WORKCLOCK(25); |
| Line 167 I286_F6 _test_ea16_data16(UINT op) { | Line 166 I286_F6 _test_ea16_data16(UINT op) { |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(2); | I286_WORKCLOCK(2); |
| dst = *(reg16_b20[op]); | dst = *(REG16_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(6); | I286_WORKCLOCK(6); |
| Line 183 I286_F6 _not_ea16(UINT op) { | Line 182 I286_F6 _not_ea16(UINT op) { |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(2); | I286_WORKCLOCK(2); |
| *(reg16_b20[op]) ^= 0xffff; | *(REG16_B20(op)) ^= 0xffff; |
| } | } |
| else { | else { |
| I286_WORKCLOCK(7); | I286_WORKCLOCK(7); |
| Line 208 I286_F6 _neg_ea16(UINT op) { | Line 207 I286_F6 _neg_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); |
| Line 233 I286_F6 _mul_ea16(UINT op) { | Line 232 I286_F6 _mul_ea16(UINT op) { |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(21); | I286_WORKCLOCK(21); |
| src = *(reg16_b20[op]); | src = *(REG16_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(24); | I286_WORKCLOCK(24); |
| Line 251 I286_F6 _imul_ea16(UINT op) { | Line 250 I286_F6 _imul_ea16(UINT op) { |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(21); | I286_WORKCLOCK(21); |
| src = *(reg16_b20[op]); | src = *(REG16_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(24); | I286_WORKCLOCK(24); |
| Line 271 I286_F6 _div_ea16(UINT op) { | Line 270 I286_F6 _div_ea16(UINT op) { |
| ip = I286_IP; | ip = I286_IP; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(17); | I286_WORKCLOCK(17); |
| src = *(reg16_b20[op]); | src = *(REG16_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(25); | I286_WORKCLOCK(25); |
| Line 297 I286_F6 _idiv_ea16(UINT op) { | Line 296 I286_F6 _idiv_ea16(UINT op) { |
| ip = I286_IP; | ip = I286_IP; |
| if (op >= 0xc0) { | if (op >= 0xc0) { |
| I286_WORKCLOCK(17); | I286_WORKCLOCK(17); |
| src = *(reg16_b20[op]); | src = *(REG16_B20(op)); |
| } | } |
| else { | else { |
| I286_WORKCLOCK(25); | I286_WORKCLOCK(25); |