cpu/decoder - Implement ADD HL, rr
This commit is contained in:
parent
8f1b1eb924
commit
41c4038d0a
2 changed files with 12 additions and 0 deletions
|
@ -172,6 +172,16 @@ void Cpu::executeInstruction()
|
||||||
mcycles = 3;
|
mcycles = 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if((op & 0xCF) == 0x09) // ADD HL, rr
|
||||||
|
{
|
||||||
|
u16 rhs = state.reg16((op >> 4) & 0x3);
|
||||||
|
u16 res12 = (state.HL & 0x0FFF) + (rhs & 0x0FFF);
|
||||||
|
state.halfcarry = (res11 & 0x1000);
|
||||||
|
u32 res32 = (u32)state.HL + (u32)rhs;
|
||||||
|
state.carry = (res32 & 0x10000);
|
||||||
|
state.subtract = false;
|
||||||
|
mcycles = 2;
|
||||||
|
}
|
||||||
else if((op & 0xE7) == 0xC0) // RET cc
|
else if((op & 0xE7) == 0xC0) // RET cc
|
||||||
{
|
{
|
||||||
if(decodeCond((op >> 3) & 0x3))
|
if(decodeCond((op >> 3) & 0x3))
|
||||||
|
|
2
types.h
2
types.h
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
typedef unsigned char u8;
|
typedef unsigned char u8;
|
||||||
typedef unsigned short u16;
|
typedef unsigned short u16;
|
||||||
|
typedef unsigned int u32;
|
||||||
|
|
||||||
typedef signed char s8;
|
typedef signed char s8;
|
||||||
typedef signed short s16;
|
typedef signed short s16;
|
||||||
|
typedef signed int s32;
|
||||||
|
|
Loading…
Reference in a new issue