|
|
| version 1.1, 2003/10/16 17:57:43 | version 1.2, 2003/10/17 11:10:02 |
|---|---|
| Line 12 | Line 12 |
| I286_8X _add_r8_i(BYTE *p) { | I286_8X _add_r8_i(BYTE *p) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = *p; | dst = *p; |
| Line 22 I286_8X _add_r8_i(BYTE *p) { | Line 24 I286_8X _add_r8_i(BYTE *p) { |
| I286_8X _or_r8_i(BYTE *p) { | I286_8X _or_r8_i(BYTE *p) { |
| DWORD src; | UINT src; |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| ORBYTE((*p), src); | ORBYTE((*p), src); |
| Line 30 I286_8X _or_r8_i(BYTE *p) { | Line 32 I286_8X _or_r8_i(BYTE *p) { |
| I286_8X _adc_r8_i(BYTE *p) { | I286_8X _adc_r8_i(BYTE *p) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = *p; | dst = *p; |
| Line 40 I286_8X _adc_r8_i(BYTE *p) { | Line 44 I286_8X _adc_r8_i(BYTE *p) { |
| I286_8X _sbb_r8_i(BYTE *p) { | I286_8X _sbb_r8_i(BYTE *p) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = *p; | dst = *p; |
| Line 50 I286_8X _sbb_r8_i(BYTE *p) { | Line 56 I286_8X _sbb_r8_i(BYTE *p) { |
| I286_8X _and_r8_i(BYTE *p) { | I286_8X _and_r8_i(BYTE *p) { |
| DWORD src; | UINT src; |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| ANDBYTE((*p), src); | ANDBYTE((*p), src); |
| Line 58 I286_8X _and_r8_i(BYTE *p) { | Line 64 I286_8X _and_r8_i(BYTE *p) { |
| I286_8X _sub_r8_i(BYTE *p) { | I286_8X _sub_r8_i(BYTE *p) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = *p; | dst = *p; |
| Line 68 I286_8X _sub_r8_i(BYTE *p) { | Line 76 I286_8X _sub_r8_i(BYTE *p) { |
| I286_8X _xor_r8_i(BYTE *p) { | I286_8X _xor_r8_i(BYTE *p) { |
| DWORD src; | UINT src; |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| BYTE_XOR((*p), src); | BYTE_XOR((*p), src); |
| Line 76 I286_8X _xor_r8_i(BYTE *p) { | Line 84 I286_8X _xor_r8_i(BYTE *p) { |
| I286_8X _cmp_r8_i(BYTE *p) { | I286_8X _cmp_r8_i(BYTE *p) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = *p; | dst = *p; |
| Line 86 I286_8X _cmp_r8_i(BYTE *p) { | Line 96 I286_8X _cmp_r8_i(BYTE *p) { |
| // ----- ext8 | // ----- ext8 |
| I286_8X _add_ext8_i(DWORD madr) { | I286_8X _add_ext8_i(UINT32 madr) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = i286_memoryread(madr); | dst = i286_memoryread(madr); |
| Line 96 I286_8X _add_ext8_i(DWORD madr) { | Line 108 I286_8X _add_ext8_i(DWORD madr) { |
| i286_memorywrite(madr, (BYTE)res); | i286_memorywrite(madr, (BYTE)res); |
| } | } |
| I286_8X _or_ext8_i(DWORD madr) { | I286_8X _or_ext8_i(UINT32 madr) { |
| DWORD src, dst; | UINT src; |
| UINT dst; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = i286_memoryread(madr); | dst = i286_memoryread(madr); |
| Line 106 I286_8X _or_ext8_i(DWORD madr) { | Line 119 I286_8X _or_ext8_i(DWORD madr) { |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (BYTE)dst); |
| } | } |
| I286_8X _adc_ext8_i(DWORD madr) { | I286_8X _adc_ext8_i(UINT32 madr) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = i286_memoryread(madr); | dst = i286_memoryread(madr); |
| Line 116 I286_8X _adc_ext8_i(DWORD madr) { | Line 131 I286_8X _adc_ext8_i(DWORD madr) { |
| i286_memorywrite(madr, (BYTE)res); | i286_memorywrite(madr, (BYTE)res); |
| } | } |
| I286_8X _sbb_ext8_i(DWORD madr) { | I286_8X _sbb_ext8_i(UINT32 madr) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = i286_memoryread(madr); | dst = i286_memoryread(madr); |
| Line 126 I286_8X _sbb_ext8_i(DWORD madr) { | Line 143 I286_8X _sbb_ext8_i(DWORD madr) { |
| i286_memorywrite(madr, (BYTE)res); | i286_memorywrite(madr, (BYTE)res); |
| } | } |
| I286_8X _and_ext8_i(DWORD madr) { | I286_8X _and_ext8_i(UINT32 madr) { |
| DWORD src, dst; | UINT src; |
| UINT dst; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = i286_memoryread(madr); | dst = i286_memoryread(madr); |
| Line 136 I286_8X _and_ext8_i(DWORD madr) { | Line 154 I286_8X _and_ext8_i(DWORD madr) { |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (BYTE)dst); |
| } | } |
| I286_8X _sub_ext8_i(DWORD madr) { | I286_8X _sub_ext8_i(UINT32 madr) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = i286_memoryread(madr); | dst = i286_memoryread(madr); |
| Line 146 I286_8X _sub_ext8_i(DWORD madr) { | Line 166 I286_8X _sub_ext8_i(DWORD madr) { |
| i286_memorywrite(madr, (BYTE)res); | i286_memorywrite(madr, (BYTE)res); |
| } | } |
| I286_8X _xor_ext8_i(DWORD madr) { | I286_8X _xor_ext8_i(UINT32 madr) { |
| DWORD src, dst; | UINT src; |
| UINT dst; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = i286_memoryread(madr); | dst = i286_memoryread(madr); |
| Line 156 I286_8X _xor_ext8_i(DWORD madr) { | Line 177 I286_8X _xor_ext8_i(DWORD madr) { |
| i286_memorywrite(madr, (BYTE)dst); | i286_memorywrite(madr, (BYTE)dst); |
| } | } |
| I286_8X _cmp_ext8_i(DWORD madr) { | I286_8X _cmp_ext8_i(UINT32 madr) { |
| DWORD src, dst, res; | UINT src; |
| UINT dst; | |
| UINT res; | |
| GET_PCBYTE(src) | GET_PCBYTE(src) |
| dst = i286_memoryread(madr); | dst = i286_memoryread(madr); |
| Line 178 const I286OP8XEXT8 c_op8xext8_table[] = | Line 201 const I286OP8XEXT8 c_op8xext8_table[] = |
| // ----- reg16 | // ----- reg16 |
| I286_8X _add_r16_i(WORD *p, DWORD src) { | I286_8X _add_r16_i(UINT16 *p, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = *p; | dst = *p; |
| ADDWORD(res, dst, src); | ADDWORD(res, dst, src); |
| *p = (WORD)res; | *p = (UINT16)res; |
| } | } |
| I286_8X _or_r16_i(WORD *p, DWORD src) { | I286_8X _or_r16_i(UINT16 *p, UINT32 src) { |
| ORWORD((*p), src); | ORWORD((*p), src); |
| } | } |
| I286_8X _adc_r16_i(WORD *p, DWORD src) { | I286_8X _adc_r16_i(UINT16 *p, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = *p; | dst = *p; |
| ADCWORD(res, dst, src); | ADCWORD(res, dst, src); |
| *p = (WORD)res; | *p = (UINT16)res; |
| } | } |
| I286_8X _sbb_r16_i(WORD *p, DWORD src) { | I286_8X _sbb_r16_i(UINT16 *p, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = *p; | dst = *p; |
| SBBWORD(res, dst, src); | SBBWORD(res, dst, src); |
| *p = (WORD)res; | *p = (UINT16)res; |
| } | } |
| I286_8X _and_r16_i(WORD *p, DWORD src) { | I286_8X _and_r16_i(UINT16 *p, UINT32 src) { |
| ANDWORD((*p), src); | ANDWORD((*p), src); |
| } | } |
| I286_8X _sub_r16_i(WORD *p, DWORD src) { | I286_8X _sub_r16_i(UINT16 *p, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = *p; | dst = *p; |
| WORD_SUB(res, dst, src); | WORD_SUB(res, dst, src); |
| *p = (WORD)res; | *p = (UINT16)res; |
| } | } |
| I286_8X _xor_r16_i(WORD *p, DWORD src) { | I286_8X _xor_r16_i(UINT16 *p, UINT32 src) { |
| WORD_XOR((*p), src); | WORD_XOR((*p), src); |
| } | } |
| I286_8X _cmp_r16_i(WORD *p, DWORD src) { | I286_8X _cmp_r16_i(UINT16 *p, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = *p; | dst = *p; |
| WORD_SUB(res, dst, src); | WORD_SUB(res, dst, src); |
| } | } |
| // ----- ext16 | // ----- ext16 |
| I286_8X _add_ext16_i(DWORD madr, DWORD src) { | I286_8X _add_ext16_i(UINT32 madr, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = i286_memoryread_w(madr); | dst = i286_memoryread_w(madr); |
| ADDWORD(res, dst, src); | ADDWORD(res, dst, src); |
| i286_memorywrite_w(madr, (WORD)res); | i286_memorywrite_w(madr, (UINT16)res); |
| } | } |
| I286_8X _or_ext16_i(DWORD madr, DWORD src) { | I286_8X _or_ext16_i(UINT32 madr, UINT32 src) { |
| DWORD dst; | UINT32 dst; |
| dst = i286_memoryread_w(madr); | dst = i286_memoryread_w(madr); |
| ORWORD(dst, src); | ORWORD(dst, src); |
| i286_memorywrite_w(madr, (WORD)dst); | i286_memorywrite_w(madr, (UINT16)dst); |
| } | } |
| I286_8X _adc_ext16_i(DWORD madr, DWORD src) { | I286_8X _adc_ext16_i(UINT32 madr, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = i286_memoryread_w(madr); | dst = i286_memoryread_w(madr); |
| ADCWORD(res, dst, src); | ADCWORD(res, dst, src); |
| i286_memorywrite_w(madr, (WORD)res); | i286_memorywrite_w(madr, (UINT16)res); |
| } | } |
| I286_8X _sbb_ext16_i(DWORD madr, DWORD src) { | I286_8X _sbb_ext16_i(UINT32 madr, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = i286_memoryread_w(madr); | dst = i286_memoryread_w(madr); |
| SBBWORD(res, dst, src); | SBBWORD(res, dst, src); |
| i286_memorywrite_w(madr, (WORD)res); | i286_memorywrite_w(madr, (UINT16)res); |
| } | } |
| I286_8X _and_ext16_i(DWORD madr, DWORD src) { | I286_8X _and_ext16_i(UINT32 madr, UINT32 src) { |
| DWORD dst; | UINT32 dst; |
| dst = i286_memoryread_w(madr); | dst = i286_memoryread_w(madr); |
| ANDWORD(dst, src); | ANDWORD(dst, src); |
| i286_memorywrite_w(madr, (WORD)dst); | i286_memorywrite_w(madr, (UINT16)dst); |
| } | } |
| I286_8X _sub_ext16_i(DWORD madr, DWORD src) { | I286_8X _sub_ext16_i(UINT32 madr, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = i286_memoryread_w(madr); | dst = i286_memoryread_w(madr); |
| WORD_SUB(res, dst, src); | WORD_SUB(res, dst, src); |
| i286_memorywrite_w(madr, (WORD)res); | i286_memorywrite_w(madr, (UINT16)res); |
| } | } |
| I286_8X _xor_ext16_i(DWORD madr, DWORD src) { | I286_8X _xor_ext16_i(UINT32 madr, UINT32 src) { |
| DWORD dst; | UINT32 dst; |
| dst = i286_memoryread_w(madr); | dst = i286_memoryread_w(madr); |
| WORD_XOR(dst, src); | WORD_XOR(dst, src); |
| i286_memorywrite_w(madr, (WORD)dst); | i286_memorywrite_w(madr, (UINT16)dst); |
| } | } |
| I286_8X _cmp_ext16_i(DWORD madr, DWORD src) { | I286_8X _cmp_ext16_i(UINT32 madr, UINT32 src) { |
| DWORD dst, res; | UINT32 dst; |
| UINT32 res; | |
| dst = i286_memoryread_w(madr); | dst = i286_memoryread_w(madr); |
| WORD_SUB(res, dst, src); | WORD_SUB(res, dst, src); |