PROLEAD
A Probing-Based Leakage Detection Tool for Hardware and Software
Loading...
Searching...
No Matches
Functions
mulator::arm_functions Namespace Reference

Functions

std::tuple< bool, u32, u8shift_c (u32 value, ShiftType type, u8 amount, u8 carry_in)
 
std::tuple< bool, u32shift (u32 value, ShiftType type, u8 amount, u8 carry_in)
 
std::tuple< bool, u32, u8LSL_C (u32 x, u32 shift)
 
std::tuple< bool, u32LSL (u32 x, u32 shift)
 
std::tuple< bool, u32, u8LSR_C (u32 x, u32 shift)
 
std::tuple< bool, u32LSR (u32 x, u32 shift)
 
std::tuple< bool, u32, u8ASR_C (u32 x, u32 shift)
 
std::tuple< bool, u32ASR (u32 x, u32 shift)
 
std::tuple< bool, u32, u8ROR_C (u32 x, u32 shift)
 
std::tuple< bool, u32ROR (u32 x, u32 shift)
 
std::tuple< bool, u32, u8RRX_C (u32 x, u8 carry_in)
 
std::tuple< bool, u32RRX (u32 x, u8 carry_in)
 
std::tuple< u32, u8, u8add_with_carry (u32 x, u32 y, u8 carry_in)
 
u32 align (u32 address, u32 alignment)
 
std::tuple< ShiftType, u32decode_imm_shift (u8 type, u32 imm5)
 
ShiftType decode_reg_shift (u8 type)
 
u32 sign_extend (u32 value, u32 num_bits)
 
u32 bit_count (u32 value)
 
u32 lowest_set_bit (u32 value)
 
std::tuple< u32, bool > signed_sat_Q (i64 i, u32 n)
 
std::tuple< u32, bool > unsigned_sat_Q (i32 i, u32 n)
 
u32 signed_sat (i32 i, u32 n)
 
u32 unsigned_sat (i32 i, u32 n)
 
std::tuple< u32, bool > sat_Q (i32 i, u32 n, bool unsigned_sat)
 
u32 sat (i32 i, u32 n, bool unsigned_sat)
 
std::tuple< bool, u32, u8thumb_expand_imm_C (u32 imm, u8 carry_in)
 
std::tuple< bool, u32thumb_expand_imm (u32 imm)
 

Function Documentation

◆ add_with_carry()

std::tuple< u32, u8, u8 > mulator::arm_functions::add_with_carry ( u32  x,
u32  y,
u8  carry_in 
)

◆ align()

u32 mulator::arm_functions::align ( u32  address,
u32  alignment 
)

◆ ASR()

std::tuple< bool, u32 > mulator::arm_functions::ASR ( u32  x,
u32  shift 
)

◆ ASR_C()

std::tuple< bool, u32, u8 > mulator::arm_functions::ASR_C ( u32  x,
u32  shift 
)

◆ bit_count()

u32 mulator::arm_functions::bit_count ( u32  value)

◆ decode_imm_shift()

std::tuple< ShiftType, u32 > mulator::arm_functions::decode_imm_shift ( u8  type,
u32  imm5 
)

◆ decode_reg_shift()

ShiftType mulator::arm_functions::decode_reg_shift ( u8  type)

◆ lowest_set_bit()

u32 mulator::arm_functions::lowest_set_bit ( u32  value)

◆ LSL()

std::tuple< bool, u32 > mulator::arm_functions::LSL ( u32  x,
u32  shift 
)

◆ LSL_C()

std::tuple< bool, u32, u8 > mulator::arm_functions::LSL_C ( u32  x,
u32  shift 
)

◆ LSR()

std::tuple< bool, u32 > mulator::arm_functions::LSR ( u32  x,
u32  shift 
)

◆ LSR_C()

std::tuple< bool, u32, u8 > mulator::arm_functions::LSR_C ( u32  x,
u32  shift 
)

◆ ROR()

std::tuple< bool, u32 > mulator::arm_functions::ROR ( u32  x,
u32  shift 
)

◆ ROR_C()

std::tuple< bool, u32, u8 > mulator::arm_functions::ROR_C ( u32  x,
u32  shift 
)

◆ RRX()

std::tuple< bool, u32 > mulator::arm_functions::RRX ( u32  x,
u8  carry_in 
)

◆ RRX_C()

std::tuple< bool, u32, u8 > mulator::arm_functions::RRX_C ( u32  x,
u8  carry_in 
)

◆ sat()

u32 mulator::arm_functions::sat ( i32  i,
u32  n,
bool  unsigned_sat 
)

◆ sat_Q()

std::tuple< u32, bool > mulator::arm_functions::sat_Q ( i32  i,
u32  n,
bool  unsigned_sat 
)

◆ shift()

std::tuple< bool, u32 > mulator::arm_functions::shift ( u32  value,
ShiftType  type,
u8  amount,
u8  carry_in 
)

◆ shift_c()

std::tuple< bool, u32, u8 > mulator::arm_functions::shift_c ( u32  value,
ShiftType  type,
u8  amount,
u8  carry_in 
)

◆ sign_extend()

u32 mulator::arm_functions::sign_extend ( u32  value,
u32  num_bits 
)

◆ signed_sat()

u32 mulator::arm_functions::signed_sat ( i32  i,
u32  n 
)

◆ signed_sat_Q()

std::tuple< u32, bool > mulator::arm_functions::signed_sat_Q ( i64  i,
u32  n 
)

◆ thumb_expand_imm()

std::tuple< bool, u32 > mulator::arm_functions::thumb_expand_imm ( u32  imm)

◆ thumb_expand_imm_C()

std::tuple< bool, u32, u8 > mulator::arm_functions::thumb_expand_imm_C ( u32  imm,
u8  carry_in 
)

◆ unsigned_sat()

u32 mulator::arm_functions::unsigned_sat ( i32  i,
u32  n 
)

◆ unsigned_sat_Q()

std::tuple< u32, bool > mulator::arm_functions::unsigned_sat_Q ( i32  i,
u32  n 
)