--- nono/m680x0/m680x0acc.cpp 2026/04/29 17:05:31 1.1.1.1 +++ nono/m680x0/m680x0acc.cpp 2026/04/29 17:05:48 1.1.1.2 @@ -343,30 +343,30 @@ m680x0ACC::muls_64(uint32 src, uint32 ds void m680x0ACC::btst(uint32 data, int n) { - Z = data & (1 << n); + Z = data & (1U << n); } uint32 m680x0ACC::bchg(uint32 data, int n) { - Z = data & (1 << n); - data ^= (1 << n); + Z = data & (1U << n); + data ^= (1U << n); return data; } uint32 m680x0ACC::bclr(uint32 data, int n) { - Z = data & (1 << n); - data &= ~(1 << n); + Z = data & (1U << n); + data &= ~(1U << n); return data; } uint32 m680x0ACC::bset(uint32 data, int n) { - Z = data & (1 << n); - data |= (1 << n); + Z = data & (1U << n); + data |= (1U << n); return data; } @@ -776,7 +776,7 @@ m680x0ACC::roxr_8(uint32 data, int count C = X; return Z; } - uint32 rot = data & ((1 << (count - 1)) - 1); + uint32 rot = data & ((1U << (count - 1)) - 1); uint32 xbit = X & 1; Z = (data >> count) | (rot << (9 - count)) | (xbit << (8 - count)); C = X = data >> (count - 1); @@ -798,7 +798,7 @@ m680x0ACC::roxr_16(uint32 data, int coun C = X; return Z; } - uint32 rot = data & ((1 << (count - 1)) - 1); + uint32 rot = data & ((1U << (count - 1)) - 1); uint32 xbit = X & 1; Z = (data >> count) | (rot << (17 - count)) | (xbit << (16 - count)); C = X = data >> (count - 1); @@ -822,7 +822,7 @@ m680x0ACC::roxr_32(uint32 data, int coun } // 32bit値の 32ビットシフトは未定義動作なので 64bit値を使用 uint64 data64 = data; - uint64 rot = data64 & ((1 << (count - 1)) - 1); + uint64 rot = data64 & ((1U << (count - 1)) - 1); uint32 xbit = X & 1; Z = (data64 >> count) | (rot << (33 - count)) | (xbit << (32 - count)); C = X = data64 >> (count - 1);