|
|
| version 1.1.1.1, 2003/10/16 17:57:44 | version 1.2, 2003/10/17 11:10:02 |
|---|---|
| Line 2 | Line 2 |
| #define BYTE_ROL1(d, s) { \ | #define BYTE_ROL1(d, s) { \ |
| DWORD tmp = ((s) >> 7); \ | UINT tmp = ((s) >> 7); \ |
| (d) = ((s) << 1) | tmp; \ | (d) = ((s) << 1) + tmp; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| I286_FLAGL |= tmp; \ | I286_FLAGL |= tmp; \ |
| I286_OV = ((s) ^ (d)) & 0x80; \ | I286_OV = ((s) ^ (d)) & 0x80; \ |
| } | } |
| #define BYTE_ROR1(d, s) { \ | #define BYTE_ROR1(d, s) { \ |
| DWORD tmp = ((s) & 1); \ | UINT tmp = ((s) & 1); \ |
| (d) = ((tmp << 8) | (s)) >> 1; \ | (d) = ((tmp << 8) + (s)) >> 1; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| I286_FLAGL |= tmp; \ | I286_FLAGL |= tmp; \ |
| I286_OV = ((s) ^ (d)) & 0x80; \ | I286_OV = ((s) ^ (d)) & 0x80; \ |
| Line 47 | Line 47 |
| #define WORD_ROL1(d, s) { \ | #define WORD_ROL1(d, s) { \ |
| DWORD tmp = ((s) >> 15); \ | UINT32 tmp = ((s) >> 15); \ |
| (d) = ((s) << 1) | tmp; \ | (d) = ((s) << 1) + tmp; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| I286_FLAGL |= tmp; \ | I286_FLAGL |= tmp; \ |
| I286_OV = ((s) ^ (d)) & 0x8000; \ | I286_OV = ((s) ^ (d)) & 0x8000; \ |
| } | } |
| #define WORD_ROR1(d, s) { \ | #define WORD_ROR1(d, s) { \ |
| DWORD tmp = ((s) & 1); \ | UINT32 tmp = ((s) & 1); \ |
| (d) = ((tmp << 16) | (s)) >> 1; \ | (d) = ((tmp << 16) + (s)) >> 1; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| I286_FLAGL |= tmp; \ | I286_FLAGL |= tmp; \ |
| I286_OV = ((s) ^ (d)) & 0x8000; \ | I286_OV = ((s) ^ (d)) & 0x8000; \ |
| Line 69 | Line 69 |
| I286_OV = ((s) ^ (d)) & 0x8000; | I286_OV = ((s) ^ (d)) & 0x8000; |
| #define WORD_RCR1(d, s) \ | #define WORD_RCR1(d, s) \ |
| (d) = (((I286_FLAGL & 1) << 16) | (s)) >> 1; \ | (d) = (((I286_FLAGL & 1) << 16) + (s)) >> 1; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| I286_FLAGL |= ((s) & 1); \ | I286_FLAGL |= ((s) & 1); \ |
| I286_OV = ((s) ^ (d)) & 0x8000; | I286_OV = ((s) ^ (d)) & 0x8000; |
| Line 85 | Line 85 |
| I286_FLAGL = (BYTE)(szpflag_w[(d)] | A_FLAG | ((s) & 1)); | I286_FLAGL = (BYTE)(szpflag_w[(d)] | A_FLAG | ((s) & 1)); |
| #define WORD_SAR1(d, s) \ | #define WORD_SAR1(d, s) \ |
| (d) = (WORD)(((short)s) >> 1); \ | (d) = (UINT16)(((SINT16)s) >> 1); \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| I286_FLAGL = (BYTE)(szpflag_w[(d)] | A_FLAG | ((s) & 1)); | I286_FLAGL = (BYTE)(szpflag_w[(d)] | A_FLAG | ((s) & 1)); |
| Line 123 | Line 123 |
| #define BYTE_RCLCL(d, s, c) \ | #define BYTE_RCLCL(d, s, c) \ |
| (c) &= 0x1f; \ | (c) &= 0x1f; \ |
| if (c) { \ | if (c) { \ |
| DWORD tmp; \ | UINT tmp; \ |
| tmp = I286_FLAGL & C_FLAG; \ | tmp = I286_FLAGL & C_FLAG; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| while((c)--) { \ | while((c)--) { \ |
| Line 138 | Line 138 |
| #define BYTE_RCRCL(d, s, c) \ | #define BYTE_RCRCL(d, s, c) \ |
| (c) &= 0x1f; \ | (c) &= 0x1f; \ |
| if (c) { \ | if (c) { \ |
| DWORD tmp; \ | UINT tmp; \ |
| tmp = I286_FLAGL & C_FLAG; \ | tmp = I286_FLAGL & C_FLAG; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| while((c)--) { \ | while((c)--) { \ |
| Line 195 | Line 195 |
| #define WORD_ROLCL(d, s, c) \ | #define WORD_ROLCL(d, s, c) \ |
| (c) &= 0x1f; \ | (c) &= 0x1f; \ |
| if (c) { \ | if (c) { \ |
| DWORD tmp; \ | UINT tmp; \ |
| (c)--; \ | (c)--; \ |
| if (c) { \ | if (c) { \ |
| (c) &= 0x0f; \ | (c) &= 0x0f; \ |
| Line 207 | Line 207 |
| I286_OV = ((s) + 0x4000) & 0x8000; \ | I286_OV = ((s) + 0x4000) & 0x8000; \ |
| } \ | } \ |
| tmp = ((s) >> 15); \ | tmp = ((s) >> 15); \ |
| (s) = ((s) << 1) | tmp; \ | (s) = ((s) << 1) + tmp; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| I286_FLAGL |= tmp; \ | I286_FLAGL |= tmp; \ |
| } \ | } \ |
| Line 216 | Line 216 |
| #define WORD_RORCL(d, s, c) \ | #define WORD_RORCL(d, s, c) \ |
| (c) &= 0x1f; \ | (c) &= 0x1f; \ |
| if (c) { \ | if (c) { \ |
| DWORD tmp; \ | UINT32 tmp; \ |
| (c)--; \ | (c)--; \ |
| if (c) { \ | if (c) { \ |
| (c) &= 0x0f; \ | (c) &= 0x0f; \ |
| Line 228 | Line 228 |
| I286_OV = ((s) >> 15) ^ ((s) & 1); \ | I286_OV = ((s) >> 15) ^ ((s) & 1); \ |
| } \ | } \ |
| tmp = ((s) & 1); \ | tmp = ((s) & 1); \ |
| (s) = ((tmp << 16) | (s)) >> 1; \ | (s) = ((tmp << 16) + (s)) >> 1; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| I286_FLAGL |= tmp; \ | I286_FLAGL |= tmp; \ |
| } \ | } \ |
| Line 237 | Line 237 |
| #define WORD_RCLCL(d, s, c) \ | #define WORD_RCLCL(d, s, c) \ |
| (c) &= 0x1f; \ | (c) &= 0x1f; \ |
| if (c) { \ | if (c) { \ |
| DWORD tmp; \ | UINT tmp; \ |
| tmp = I286_FLAGL & C_FLAG; \ | tmp = I286_FLAGL & C_FLAG; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| Line 245 | Line 245 |
| I286_OV = ((s) + 0x4000) & 0x8000; \ | I286_OV = ((s) + 0x4000) & 0x8000; \ |
| } \ | } \ |
| while((c)--) { \ | while((c)--) { \ |
| (s) = (((s) << 1) | tmp) & 0x1ffff; \ | (s) = (((s) << 1) + tmp) & 0x1ffff; \ |
| tmp = (s) >> 16; \ | tmp = (s) >> 16; \ |
| } \ | } \ |
| I286_FLAGL |= tmp; \ | I286_FLAGL |= tmp; \ |
| Line 255 | Line 255 |
| #define WORD_RCRCL(d, s, c) \ | #define WORD_RCRCL(d, s, c) \ |
| (c) &= 0x1f; \ | (c) &= 0x1f; \ |
| if (c) { \ | if (c) { \ |
| DWORD tmp; \ | UINT32 tmp; \ |
| tmp = I286_FLAGL & C_FLAG; \ | tmp = I286_FLAGL & C_FLAG; \ |
| I286_FLAGL &= ~C_FLAG; \ | I286_FLAGL &= ~C_FLAG; \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| Line 281 | Line 281 |
| (s) <<= (c); \ | (s) <<= (c); \ |
| (s) &= 0x1ffff; \ | (s) &= 0x1ffff; \ |
| I286_FLAGL = szpflag_w[(s) & 0xffff]; \ | I286_FLAGL = szpflag_w[(s) & 0xffff]; \ |
| I286_FLAGL |= (WORD)((s) >> 16); \ | I286_FLAGL |= (BYTE)((s) >> 16); \ |
| } \ | } \ |
| (d) = (s); | (d) = (s); |
| Line 305 | Line 305 |
| #define WORD_SARCL(d, s, c) \ | #define WORD_SARCL(d, s, c) \ |
| (c) &= 0x1f; \ | (c) &= 0x1f; \ |
| if (c) { \ | if (c) { \ |
| (s) = ((short)(s)) >> ((c) - 1); \ | (s) = ((SINT16)(s)) >> ((c) - 1); \ |
| I286_FLAGL = (BYTE)((s) & 1); \ | I286_FLAGL = (BYTE)((s) & 1); \ |
| (s) = (WORD)(((short)s) >> 1); \ | (s) = (UINT16)(((SINT16)s) >> 1); \ |
| I286_OV = 0; \ | I286_OV = 0; \ |
| I286_FLAGL |= szpflag_w[(s)]; \ | I286_FLAGL |= szpflag_w[(s)]; \ |
| } \ | } \ |