|
|
| version 1.6, 2003/11/21 06:51:11 | version 1.7, 2003/11/24 09:14:01 |
|---|---|
| Line 18 I286_F6 _test_ea8_data8(UINT op) { | Line 18 I286_F6 _test_ea8_data8(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(6); | I286_WORKCLOCK(6); |
| dst = i286_memoryread(c_calc_ea_dst[op]()); | dst = i286_memoryread(CALC_EA(op)); |
| } | } |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| ANDBYTE(dst, src) | ANDBYTE(dst, src) |
| Line 34 I286_F6 _not_ea8(UINT op) { | Line 34 I286_F6 _not_ea8(UINT 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); |
| value = ~value; | value = ~value; |
| Line 58 I286_F6 _neg_ea8(UINT op) { | Line 58 I286_F6 _neg_ea8(UINT 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) { |
| src = i286_memoryread(madr); | src = i286_memoryread(madr); |
| BYTE_NEG(dst, src) | BYTE_NEG(dst, src) |
| Line 83 I286_F6 _mul_ea8(UINT op) { | Line 83 I286_F6 _mul_ea8(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(16); | I286_WORKCLOCK(16); |
| src = i286_memoryread(c_calc_ea_dst[op]()); | src = i286_memoryread(CALC_EA(op)); |
| } | } |
| BYTE_MUL(res, I286_AL, src) | BYTE_MUL(res, I286_AL, src) |
| I286_AX = (UINT16)res; | I286_AX = (UINT16)res; |
| Line 100 I286_F6 _imul_ea8(UINT op) { | Line 100 I286_F6 _imul_ea8(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(16); | I286_WORKCLOCK(16); |
| src = i286_memoryread(c_calc_ea_dst[op]()); | src = i286_memoryread(CALC_EA(op)); |
| } | } |
| BYTE_IMUL(res, I286_AL, src) | BYTE_IMUL(res, I286_AL, src) |
| I286_AX = (UINT16)res; | I286_AX = (UINT16)res; |
| Line 119 I286_F6 _div_ea8(UINT op) { | Line 119 I286_F6 _div_ea8(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(7); | I286_WORKCLOCK(7); |
| src = i286_memoryread(c_calc_ea_dst[op]()); | src = i286_memoryread(CALC_EA(op)); |
| } | } |
| tmp = I286_AX; | tmp = I286_AX; |
| if (tmp < ((UINT16)src << 8)) { | if (tmp < ((UINT16)src << 8)) { |
| Line 144 I286_F6 _idiv_ea8(UINT op) { | Line 144 I286_F6 _idiv_ea8(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(25); | I286_WORKCLOCK(25); |
| src = i286_memoryread(c_calc_ea_dst[op]()); | src = i286_memoryread(CALC_EA(op)); |
| } | } |
| tmp = (SINT16)I286_AX; | tmp = (SINT16)I286_AX; |
| if (src) { | if (src) { |
| Line 170 I286_F6 _test_ea16_data16(UINT op) { | Line 170 I286_F6 _test_ea16_data16(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(6); | I286_WORKCLOCK(6); |
| dst = i286_memoryread_w(c_calc_ea_dst[op]()); | dst = i286_memoryread_w(CALC_EA(op)); |
| } | } |
| GET_PCWORD(src) | GET_PCWORD(src) |
| ANDWORD(dst, src) | ANDWORD(dst, src) |
| Line 186 I286_F6 _not_ea16(UINT op) { | Line 186 I286_F6 _not_ea16(UINT 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))) { |
| *(mem + madr) ^= 0xffff; | *(mem + madr) ^= 0xffff; |
| } | } |
| Line 211 I286_F6 _neg_ea16(UINT op) { | Line 211 I286_F6 _neg_ea16(UINT 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)) { |
| src = i286_memoryread_w(madr); | src = i286_memoryread_w(madr); |
| WORD_NEG(dst, src) | WORD_NEG(dst, src) |
| Line 236 I286_F6 _mul_ea16(UINT op) { | Line 236 I286_F6 _mul_ea16(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(24); | I286_WORKCLOCK(24); |
| src = i286_memoryread_w(c_calc_ea_dst[op]()); | src = i286_memoryread_w(CALC_EA(op)); |
| } | } |
| WORD_MUL(res, I286_AX, src) | WORD_MUL(res, I286_AX, src) |
| I286_AX = (UINT16)res; | I286_AX = (UINT16)res; |
| Line 254 I286_F6 _imul_ea16(UINT op) { | Line 254 I286_F6 _imul_ea16(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(24); | I286_WORKCLOCK(24); |
| src = i286_memoryread_w(c_calc_ea_dst[op]()); | src = i286_memoryread_w(CALC_EA(op)); |
| } | } |
| WORD_IMUL(res, I286_AX, src) | WORD_IMUL(res, I286_AX, src) |
| I286_AX = (UINT16)res; | I286_AX = (UINT16)res; |
| Line 274 I286_F6 _div_ea16(UINT op) { | Line 274 I286_F6 _div_ea16(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(25); | I286_WORKCLOCK(25); |
| src = i286_memoryread_w(c_calc_ea_dst[op]()); | src = i286_memoryread_w(CALC_EA(op)); |
| } | } |
| tmp = (I286_DX << 16) + I286_AX; | tmp = (I286_DX << 16) + I286_AX; |
| if (tmp < (src << 16)) { | if (tmp < (src << 16)) { |
| Line 300 I286_F6 _idiv_ea16(UINT op) { | Line 300 I286_F6 _idiv_ea16(UINT op) { |
| } | } |
| else { | else { |
| I286_WORKCLOCK(25); | I286_WORKCLOCK(25); |
| src = i286_memoryread_w(c_calc_ea_dst[op]()); | src = i286_memoryread_w(CALC_EA(op)); |
| } | } |
| tmp = (SINT32)((I286_DX << 16) + I286_AX); | tmp = (SINT32)((I286_DX << 16) + I286_AX); |
| if (src) { | if (src) { |