1#[allow(clippy::wildcard_imports)] 2use super::*; 3 4macro_rules! impl_psw_flag_op { 5 ($name:ident, $($field:ident = $value:expr),* $(,)?) => { 6 impl_registers_op!($name, |registers| { 7 $( 8 registers.psw.$field = $value; 9 )* 10 }); 11 } 12} 13 14impl_psw_flag_op!(clrc, carry = false); 15impl_psw_flag_op!(setc, carry = true); 16impl_psw_flag_op!(clrv, overflow = false, half_carry = false); 17impl_psw_flag_op!(clrp, direct_page = false); 18impl_psw_flag_op!(setp, direct_page = true); 19 20impl_long_registers_op!(notc, |registers| { 21 registers.psw.carry = !registers.psw.carry; 22}); 23 24impl_long_registers_op!(ei, |registers| { 25 registers.psw.interrupt_enabled = true; 26}); 27 28impl_long_registers_op!(di, |registers| { 29 registers.psw.interrupt_enabled = false; 30});