pub fn bit_field_insert(original: u32, provider: u32, msbit: u32, lsbit: u32) -> u32 {
    let mask = get_mask(msbit, lsbit);
    let width = msbit - lsbit;
    let insert = (provider & (0xFFFF_FFFF >> (31 - width))) << lsbit;
    return (original & mask) | insert;
}
// Replaces original<msbit:lsbit> (inclusive) with provider<msbit-lsbit:0>
Replaces original (inclusive) with provider
Replaces original ( inclusive ) with provider
pub fn bit_field_insert(original: u32, provider: u32, msbit: u32, lsbit: u32) -> u32 {
    let mask = get_mask(msbit, lsbit);
    let width = msbit - lsbit;
    let insert = (provider & (0xFFFF_FFFF >> (31 - width))) << lsbit;
    return (original & mask) | insert;
}
pub fn bit_field_insert ( original : u32 , provider : u32 , msbit : u32 , lsbit : u32 ) -> u32 { let mask = get_mask ( msbit , lsbit ) ; let width = msbit - lsbit ; let insert = ( provider & ( 0xFFFF_FFFF >> ( 31 - width ) ) ) << lsbit ; return ( original & mask ) | insert ; }
Replaces original<msbit:lsbit> (inclusive) with provider<msbit-lsbit:0>
Replaces original<msbit : lsbit > ( inclusive ) with provider<msbit - lsbit : 0 >
original
u32
provider
u32
msbit
u32
lsbit
u32