diff --git a/src/machine.rs b/src/machine.rs index 1980cf0..a9d3eb6 100644 --- a/src/machine.rs +++ b/src/machine.rs @@ -981,3 +981,16 @@ fn branch_if_positive_test() { machine.branch_if_positive(Address(0xABCD)); assert_eq!(machine.registers.program_counter, Address(0xABCD)); } + +#[test] +fn branch_if_overflow_clear_test() { + let mut machine = Machine::new(); + + machine.registers.status.insert(PS_OVERFLOW); + machine.branch_if_overflow_clear(Address(0xABCD)); + assert_eq!(machine.registers.program_counter, Address(0)); + + machine.registers.status.remove(PS_OVERFLOW); + machine.branch_if_overflow_clear(Address(0xABCD)); + assert_eq!(machine.registers.program_counter, Address(0xABCD)); +}