diff --git a/src/cpu.rs b/src/cpu.rs index a2b73b1..4c8cf69 100644 --- a/src/cpu.rs +++ b/src/cpu.rs @@ -1228,6 +1228,16 @@ mod tests { assert_eq!(cpu.registers.program_counter, (0xABCD)); } + #[test] + fn branch_across_end_of_address_space() { + let mut cpu = CPU::new(); + cpu.registers.program_counter = 0xffff; + + cpu.registers.status.insert(Status::PS_OVERFLOW); + cpu.branch_if_overflow_set(0xABCD); + assert_eq!(cpu.registers.program_counter, (0xABCD)); + } + #[test] fn branch_if_overflow_set_test() { let mut cpu = CPU::new();