1
0
mirror of https://github.com/mre/mos6502.git synced 2024-06-08 14:29:34 +00:00

add adc test from solid65

This commit is contained in:
Sam M W 2023-04-25 21:51:06 +01:00
parent bf17406236
commit 13534f8d45

View File

@ -1138,6 +1138,20 @@ mod tests {
assert!(cpu.registers.status.contains(Status::PS_CARRY));
}
#[test]
fn solid65_adc_immediate() {
let mut cpu = CPU::new(Ram::new());
// Adding $FF plus carry should be the same as adding $00 and no carry, so these three
// instructions should leave the carry flags unaffected, i.e. set.
cpu.execute_instruction((Instruction::LDA, OpInput::UseImmediate(0x9c)));
cpu.execute_instruction((Instruction::SEC, OpInput::UseImplied));
cpu.execute_instruction((Instruction::ADC, OpInput::UseImmediate(0xff)));
assert_eq!(cpu.registers.accumulator, 0x9c);
assert!(cpu.registers.status.contains(Status::PS_CARRY));
}
#[test]
fn and_test() {
let mut cpu = CPU::new(Ram::new());