|
|
| version 1.8, 2003/12/11 04:03:35 | version 1.9, 2003/12/11 21:57:38 |
|---|---|
| Line 37 | Line 37 |
| #define BYTE_SHR1(d, s) \ | #define BYTE_SHR1(d, s) \ |
| (d) = (s) >> 1; \ | (d) = (s) >> 1; \ |
| I286_OV = (s) & 0x80; \ | I286_OV = (s) & 0x80; \ |
| I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1)); | I286_FLAGL = (UINT8)(BYTESZPF(d) | A_FLAG | ((s) & 1)); |
| #if 1 | #if 1 |
| #define BYTE_SAR1(d, s) \ | #define BYTE_SAR1(d, s) \ |
| (d) = ((s) & 0x80) + ((s) >> 1); \ | (d) = ((s) & 0x80) + ((s) >> 1); \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1)); | I286_FLAGL = (UINT8)(BYTESZPF(d) | A_FLAG | ((s) & 1)); |
| #else // eVC3/4 compiler bug | #else // eVC3/4 compiler bug |
| #define BYTE_SAR1(d, s) \ | #define BYTE_SAR1(d, s) \ |
| (d) = (BYTE)(((SINT8)(s)) >> 1); \ | (d) = (BYTE)(((SINT8)(s)) >> 1); \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| I286_FLAGL = (BYTE)(BYTESZPF(d) | A_FLAG | ((s) & 1)); | I286_FLAGL = (UINT8)(BYTESZPF(d) | A_FLAG | ((s) & 1)); |
| #endif | #endif |
| Line 88 | Line 88 |
| #define WORD_SHR1(d, s) \ | #define WORD_SHR1(d, s) \ |
| (d) = (s) >> 1; \ | (d) = (s) >> 1; \ |
| I286_OV = (s) & 0x8000; \ | I286_OV = (s) & 0x8000; \ |
| I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1)); | I286_FLAGL = (UINT8)(WORDSZPF(d) | A_FLAG | ((s) & 1)); |
| #if 1 | #if 1 |
| #define WORD_SAR1(d, s) \ | #define WORD_SAR1(d, s) \ |
| (d) = ((s) & 0x8000) + ((s) >> 1); \ | (d) = ((s) & 0x8000) + ((s) >> 1); \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1)); | I286_FLAGL = (UINT8)(WORDSZPF(d) | A_FLAG | ((s) & 1)); |
| #else // eVC3/4 compiler bug | #else // eVC3/4 compiler bug |
| #define WORD_SAR1(d, s) \ | #define WORD_SAR1(d, s) \ |
| (d) = (UINT16)(((SINT16)(s)) >> 1); \ | (d) = (UINT16)(((SINT16)(s)) >> 1); \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| I286_FLAGL = (BYTE)(WORDSZPF(d) | A_FLAG | ((s) & 1)); | I286_FLAGL = (UINT8)(WORDSZPF(d) | A_FLAG | ((s) & 1)); |
| #endif | #endif |
| Line 303 | Line 303 |
| else { \ | else { \ |
| I286_OV = (s) & 0x8000; \ | I286_OV = (s) & 0x8000; \ |
| } \ | } \ |
| I286_FLAGL = (BYTE)((s) & 1); \ | I286_FLAGL = (UINT8)((s) & 1); \ |
| (s) >>= 1; \ | (s) >>= 1; \ |
| I286_FLAGL |= WORDSZPF(s); \ | I286_FLAGL |= WORDSZPF(s); \ |
| } \ | } \ |
| Line 314 | Line 314 |
| (c) &= 0x1f; \ | (c) &= 0x1f; \ |
| if (c) { \ | if (c) { \ |
| (s) = ((SINT16)(s)) >> ((c) - 1); \ | (s) = ((SINT16)(s)) >> ((c) - 1); \ |
| I286_FLAGL = (BYTE)((s) & 1); \ | I286_FLAGL = (UINT8)((s) & 1); \ |
| (s) = (UINT16)(((SINT16)s) >> 1); \ | (s) = (UINT16)(((SINT16)s) >> 1); \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| I286_FLAGL |= WORDSZPF(s); \ | I286_FLAGL |= WORDSZPF(s); \ |
| Line 327 | Line 327 |
| SINT32 tmp; \ | SINT32 tmp; \ |
| tmp = (s) << 16; \ | tmp = (s) << 16; \ |
| tmp = tmp >> (16 + (c) - 1); \ | tmp = tmp >> (16 + (c) - 1); \ |
| I286_FLAGL = (BYTE)(tmp & 1); \ | I286_FLAGL = (UINT8)(tmp & 1); \ |
| (s) = (UINT16)(tmp >> 1); \ | (s) = (UINT16)(tmp >> 1); \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| I286_FLAGL |= WORDSZPF(s); \ | I286_FLAGL |= WORDSZPF(s); \ |