public static function opcode156(Core $core)
{
$temp_var = $core->registersHL >> 8;
$dirtySum = $core->registerA - $temp_var - ($core->FCarry ? 1 : 0);
$core->FHalfCarry = ($core->registerA & 0xf) - ($temp_var & 0xf) - ($core->FCarry ? 1 : 0) < 0;
$core->FCarry = $dirtySum < 0;
$core->registerA = $core->unsbtub($dirtySum);
$core->FZero = $core->registerA == 0;
$core->FSubtract = true;
}