mirror of https://github.com/mre/mos6502.git
Merge 38a2dfb2f3
into 4847744518
This commit is contained in:
commit
6adb0f4ae7
22
src/cpu.rs
22
src/cpu.rs
|
@ -1131,6 +1131,28 @@ mod tests {
|
|||
assert_eq!(cpu.registers.accumulator, 0);
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "decimal_mode", test)]
|
||||
fn invalid_decimal_values_test() {
|
||||
let mut cpu = CPU::new();
|
||||
cpu.registers.status.remove(Status::PS_CARRY);
|
||||
|
||||
cpu.add_with_carry(0x0e);
|
||||
assert_eq!(cpu.registers.accumulator, 0x0e);
|
||||
cpu.registers.status.or(Status::PS_DECIMAL_MODE);
|
||||
assert_eq!(cpu.registers.accumulator, 0x0e);
|
||||
assert!(!cpu.registers.status.contains(Status::PS_CARRY));
|
||||
assert!(!cpu.registers.status.contains(Status::PS_ZERO));
|
||||
assert!(!cpu.registers.status.contains(Status::PS_NEGATIVE));
|
||||
assert!(!cpu.registers.status.contains(Status::PS_OVERFLOW));
|
||||
|
||||
cpu.add_with_carry(-92); // hex $a4
|
||||
assert_eq!(cpu.registers.accumulator, 0x18);
|
||||
assert!(cpu.registers.status.contains(Status::PS_CARRY));
|
||||
assert!(!cpu.registers.status.contains(Status::PS_ZERO));
|
||||
assert!(cpu.registers.status.contains(Status::PS_NEGATIVE));
|
||||
assert!(!cpu.registers.status.contains(Status::PS_OVERFLOW));
|
||||
}
|
||||
|
||||
#[cfg_attr(feature = "decimal_mode", test)]
|
||||
fn decimal_add_test() {
|
||||
let mut cpu = CPU::new(Ram::new(), Nmos6502);
|
||||
|
|
Loading…
Reference in New Issue