use crate::{EmulatorState, Register, get_register}; /// Sets the condition code flags according to `result` fn set_cc(state: &mut EmulatorState, result: u16) { state.cc.z = (result & 0xff) == 0; state.cc.s = (result & 0x80) == 1; state.cc.c = result > 0xff; state.cc.p = (result & 0xff).count_ones() % 2 == 0; } pub fn add(register: Register, state: &mut EmulatorState) { let result = get_register(register, state) + state.a as u16; set_cc(state, result); state.a = (result & 0xff) as u8; }