case 0x07: {
u8 bit7 = regs.A >>7;
regs.A = (regs.A << 1) | bit7;
- set_flag_if(regs.A == 0, ZERO_FLAG);
+ reset_flag(ZERO_FLAG);
reset_flag(ADD_SUB_FLAG);
reset_flag(HALF_CARRY_FLAG);
set_flag_if(bit7, CARRY_FLAG);
u8 bit7 = regs.A >> 7;
regs.A = (regs.A << 1) | check_flag(CARRY_FLAG);
set_flag_if(bit7, CARRY_FLAG);
- set_flag_if(regs.A == 0, ZERO_FLAG);
+ reset_flag(ZERO_FLAG);
reset_flag(ADD_SUB_FLAG);
reset_flag(HALF_CARRY_FLAG);
cycles_until_next_instruction = 4;
case 0x0F: {
u8 bit0 = regs.A & 1;
regs.A = (regs.A >> 1) | (bit0 << 7);
- set_flag_if(regs.A == 0, ZERO_FLAG);
+ reset_flag(ZERO_FLAG);
reset_flag(ADD_SUB_FLAG);
reset_flag(HALF_CARRY_FLAG);
set_flag_if(bit0, CARRY_FLAG);
u8 bit0 = regs.A & 1;
regs.A = (regs.A >> 1) | (check_flag(CARRY_FLAG) << 7);
set_flag_if(bit0, CARRY_FLAG);
- set_flag_if(regs.A == 0, ZERO_FLAG);
+ reset_flag(ZERO_FLAG);
reset_flag(ADD_SUB_FLAG);
reset_flag(HALF_CARRY_FLAG);
cycles_until_next_instruction = 4;
set_flag_if(value == 0, ZERO_FLAG);
reset_flag(ADD_SUB_FLAG);
reset_flag(HALF_CARRY_FLAG);
+ set_flag_if(bit0, CARRY_FLAG);
cycles_until_next_instruction = 16;
break;
}
set_flag_if(value == 0, ZERO_FLAG);
reset_flag(ADD_SUB_FLAG);
reset_flag(HALF_CARRY_FLAG);
+ set_flag_if(bit7, CARRY_FLAG);
cycles_until_next_instruction = 16;
break;
}