SS
Size: a a a
SS
DS
SS
DS
DS
SS
U
DS
DS
SS
DS
DS
SS
DS
U
n
constexpr TMakeAdcf::TMakeAdcf() : adcf{ }
{
for(unsigned c = 0; c < 2; c++)
{
for(unsigned x = 0; x < 0x100; x++)
{
for(unsigned y = 0; y < 0x100; y++)
{
unsigned res = x + y + c;
unsigned char fl = 0;
if(!(res & 0xFF)) fl |= ZF;
fl |= (res & (F3 | F5 | SF));
if(res >= 0x100) fl |= CF;
if(((x & 0x0F) + (y & 0x0F) + c) & 0x10) fl |= HF;
int ri = (signed char)x + (signed char)y + int(c);
if(ri >= 0x80 || ri <= -0x81) fl |= PV;
adcf[c * 0x10000 + x * 0x100 + y] = fl;
}
}
}
}
EK
n