cpu/decoder - Implement ADD SP, e8

This commit is contained in:
madmaurice 2023-08-29 23:06:05 +02:00
parent 41c4038d0a
commit b6f0f4416f

View file

@ -455,6 +455,18 @@ void Cpu::executeInstruction()
state.IME = IME_SCHEDULED;
break;
case 0xE8: // ADD SP, e8
u32 lhs = state.SP;
s32 rhs = (s8)readPC8();
u32 low_add = (lhs & 0x0FFF) + (rhs & 0x0FFF);
state.halfcarry = (low_add & 0x1000);
u32 res32 = lhs + rhs;
state.carry = (res32 & 0x10000);
state.SP = (u16)res32;
state.subtract = false;
state.zero = false;
mcycles = 4;
default:
panic("Unknown opcode 0x%x\n",op);
}