Files
snes/snes-core/src/cpu/instructionstemp/dec_common.rs
T
2023-12-28 20:52:58 -05:00

13 lines
433 B
Rust

use crate::{cpu::registers::Registers, utils::{num_trait::SnesNum, alu}, common::flags::Flags};
pub fn do_dec<T: SnesNum>(registers: &mut Registers, target: T) -> T {
let (result, affected_flags) = alu::sbc_bin(target, T::from_u32(1), false);
for flag in affected_flags {
match flag {
Flags::Negative(_) | Flags::Zero(_) => registers.set_flags(&[flag]),
_ => {},
}
}
result
}