mirror of
https://github.com/macocianradu/goboy.git
synced 2026-03-18 21:10:07 +00:00
20 lines
571 B
Go
20 lines
571 B
Go
package cpu
|
|
|
|
func Set8BitAddFlags(context op_context, byte1 byte, byte2 byte) byte {
|
|
result := uint16(byte1) + uint16(byte2)
|
|
halfcarry := (byte1&0x0F)+(byte2&0x0F) > 0x0F
|
|
context.cpu.SetNF(false)
|
|
context.cpu.SetHF(halfcarry)
|
|
context.cpu.SetCF(result > 0xFFFF)
|
|
return byte(result)
|
|
}
|
|
|
|
func Add16BitsAndSetFlags(context op_context, op1 uint16, op2 uint16) uint16 {
|
|
result := uint32(op1) + uint32(op2)
|
|
halfcarry := (op1&0x0FFF)+(op2&0x0FFF) > 0x0FFF
|
|
context.cpu.SetNF(false)
|
|
context.cpu.SetHF(halfcarry)
|
|
context.cpu.SetCF(result > 0xFFFF)
|
|
return uint16(result)
|
|
}
|