mirror of
https://github.com/mre/mos6502.git
synced 2024-09-27 03:55:26 +00:00
add adc test from solid65
This commit is contained in:
parent
bf17406236
commit
13534f8d45
14
src/cpu.rs
14
src/cpu.rs
@ -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());
|
||||
|
Loading…
Reference in New Issue
Block a user