--- nono/hd64180/hd64180acc.cpp 2026/04/29 17:05:21 1.1.1.2 +++ nono/hd64180/hd64180acc.cpp 2026/04/29 17:05:43 1.1.1.4 @@ -278,6 +278,16 @@ hd64180acc::sra_8(uint32 src) // S:* Z:* H:0 P:* N:0 C:* uint32 +hd64180acc::sll_8(uint32 src) +{ + // bit0 に %1 が入るようだ + // http://www.z80.info/z80sflag.htm + CZ = (src << 1) | 1; + return in_8(Z); +} + +// S:* Z:* H:0 P:* N:0 C:* +uint32 hd64180acc::srl_8(uint32 src) { C = src; @@ -353,8 +363,6 @@ hd64180acc::rrc_8(uint32 src) uint32 hd64180acc::daa_8(uint32 src) { - uint32 ah; - uint32 al; uint32 b; uint32 res; @@ -366,8 +374,7 @@ hd64180acc::daa_8(uint32 src) bool resH; // 出力用。H は内部演算のみの和 // 下位桁 - ah = src >> 4; - al = src & 0xf; + uint32 al = src & 0xf; if (al >= 0x0a || IsH()) { b = 0x06; } else { @@ -378,8 +385,7 @@ hd64180acc::daa_8(uint32 src) resH = IsH(); // 上位桁 - ah = src >> 4; - al = src & 0xf; + uint32 ah = src >> 4; if (ah >= 0x0a || tmpC) { b = 0x60;