pub fn shift_right(
    val: u32,
    shift_amount: u32,
    carry_flag: bool
) -> ShiftResults
Expand description

Shifts bits right by a register specified amount.

Bits are moved out of the right-hand end and zeros are filled into the left-hand end. If the shift amount is zero, the carry-out is the old carry flag and val is untouched. If the shift amount is less than 32 and greater than 0, the shift functions identically as instruction_specified_shift::shift_right. If the shift amount is 32, the result val is zero, and the carry-out is equal to bit 31 of original val. If the shift amount is more than 32, the result is zero and the carry-out is false.