pub struct Flags {Show 18 fields
pub f_cf: bool,
pub f_pf: bool,
pub f_af: bool,
pub f_zf: bool,
pub f_sf: bool,
pub f_tf: bool,
pub f_if: bool,
pub f_df: bool,
pub f_of: bool,
pub f_iopl1: bool,
pub f_iopl2: bool,
pub f_nt: bool,
pub f_rf: bool,
pub f_vm: bool,
pub f_ac: bool,
pub f_vif: bool,
pub f_vip: bool,
pub f_id: bool,
}
Fields§
§f_cf: bool
§f_pf: bool
§f_af: bool
§f_zf: bool
§f_sf: bool
§f_tf: bool
§f_if: bool
§f_df: bool
§f_of: bool
§f_iopl1: bool
§f_iopl2: bool
§f_nt: bool
§f_rf: bool
§f_vm: bool
§f_ac: bool
§f_vif: bool
§f_vip: bool
§f_id: bool
Implementations§
source§impl Flags
impl Flags
pub fn new() -> Flags
pub fn diff(rip: u64, pos: u64, a: Flags, b: Flags)
pub fn clear(&mut self)
pub fn print(&self)
pub fn dump(&self) -> u32
pub fn load(&mut self, flags: u32)
sourcepub fn check_carry_sub_byte(&mut self, a: u64, b: u64)
pub fn check_carry_sub_byte(&mut self, a: u64, b: u64)
FLAGS ///
overflow 0xffffffff + 1
carry 0x7fffffff + 1 or 0x80000000 - 1 or 0 - 1
pub fn check_overflow_sub_byte(&mut self, a: u64, b: u64) -> i8
pub fn check_carry_sub_word(&mut self, a: u64, b: u64)
pub fn check_overflow_sub_word(&mut self, a: u64, b: u64) -> i16
pub fn check_carry_sub_qword(&mut self, a: u64, b: u64)
pub fn check_carry_sub_dword(&mut self, a: u64, b: u64)
pub fn check_overflow_sub_qword(&mut self, a: u64, b: u64) -> i64
pub fn check_overflow_sub_dword(&mut self, a: u64, b: u64) -> i32
pub fn calc_flags(&mut self, final_value: u64, bits: u32)
pub fn calc_pf(&mut self, final_value: u8)
pub fn calc_af(&mut self, value1: u64, value2: u64, result: u64, bits: u64)
pub fn add64(&mut self, value1: u64, value2: u64) -> u64
pub fn add32(&mut self, value1: u64, value2: u64) -> u64
pub fn add16(&mut self, value1: u64, value2: u64) -> u64
pub fn add8(&mut self, value1: u64, value2: u64) -> u64
pub fn sub64(&mut self, value1: u64, value2: u64) -> u64
pub fn sub32(&mut self, value1: u64, value2: u64) -> u64
pub fn sub16(&mut self, value1: u64, value2: u64) -> u64
pub fn sub8(&mut self, value1: u64, value2: u64) -> u64
pub fn inc64(&mut self, value: u64) -> u64
pub fn inc32(&mut self, value: u64) -> u64
pub fn inc16(&mut self, value: u64) -> u64
pub fn inc8(&mut self, value: u64) -> u64
pub fn dec64(&mut self, value: u64) -> u64
pub fn dec32(&mut self, value: u64) -> u64
pub fn dec16(&mut self, value: u64) -> u64
pub fn dec8(&mut self, value: u64) -> u64
pub fn neg64(&mut self, value: u64) -> u64
pub fn neg32(&mut self, value: u64) -> u64
pub fn neg16(&mut self, value: u64) -> u64
pub fn neg8(&mut self, value: u64) -> u64
pub fn sal2p64(&mut self, value0: u64, value1: u64) -> u64
pub fn sal2p32(&mut self, value0: u64, value1: u64) -> u64
pub fn sal2p16(&mut self, value0: u64, value1: u64) -> u64
pub fn sal2p8(&mut self, value0: u64, value1: u64) -> u64
pub fn sal1p64(&mut self, value: u64) -> u64
pub fn sal1p32(&mut self, value: u64) -> u64
pub fn sal1p16(&mut self, value: u64) -> u64
pub fn sal1p8(&mut self, value: u64) -> u64
pub fn sar2p64(&mut self, value0: u64, value1: u64) -> u64
pub fn sar2p32(&mut self, value0: u64, value1: u64) -> u64
pub fn sar2p16(&mut self, value0: u64, value1: u64) -> u64
pub fn sar2p8(&mut self, value0: u64, value1: u64) -> u64
pub fn sar1p64(&mut self, value: u64) -> u64
pub fn sar1p32(&mut self, value: u64) -> u64
pub fn sar1p16(&mut self, value: u64) -> u64
pub fn sar1p8(&mut self, value: u64) -> u64
pub fn shl2p64(&mut self, value0: u64, value1: u64) -> u64
pub fn shl2p32(&mut self, value0: u64, value1: u64) -> u64
pub fn shl2p16(&mut self, value0: u64, value1: u64) -> u64
pub fn shl2p8(&mut self, value0: u64, value1: u64) -> u64
pub fn shl1p64(&mut self, value: u64) -> u64
pub fn shl1p32(&mut self, value: u64) -> u64
pub fn shl1p16(&mut self, value: u64) -> u64
pub fn shl1p8(&mut self, value: u64) -> u64
pub fn shr2p64(&mut self, value0: u64, value1: u64) -> u64
pub fn shr2p32(&mut self, value0: u64, value1: u64) -> u64
pub fn shr2p16(&mut self, value0: u64, value1: u64) -> u64
pub fn shr2p8(&mut self, value0: u64, value1: u64) -> u64
pub fn shr1p64(&mut self, value: u64) -> u64
pub fn shr1p32(&mut self, value: u64) -> u64
pub fn shr1p16(&mut self, value: u64) -> u64
pub fn shr1p8(&mut self, value: u64) -> u64
pub fn test(&mut self, value0: u64, value1: u64, sz: u32)
pub fn imul64p2(&mut self, value0: u64, value1: u64) -> u64
pub fn imul32p2(&mut self, value0: u64, value1: u64) -> u64
pub fn imul16p2(&mut self, value0: u64, value1: u64) -> u64
pub fn imul8p2(&mut self, value0: u64, value1: u64) -> u64
pub fn rcr_of_and_cf(&mut self, value0: u64, value1: u64, sz: u32)
pub fn rcr(&mut self, value0: u64, value1: u64, sz: u32) -> u64
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Flags
impl RefUnwindSafe for Flags
impl Send for Flags
impl Sync for Flags
impl Unpin for Flags
impl UnwindSafe for Flags
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more