Function bitintr::x86::tbm::bextr [] [src]

pub fn bextr<T: Int>(source: T, range: T) -> T

Bit Field Extract.

Extracts bits in range from the source to the least significant bits of the result. Bits [7,0] of range specify the index to the first bit in the range to be extracted, and bits [15,8] specify the length of the range.

Only bits up to T::bit_size() - 1 are extracted.

The extracted bits are written in the result starting from the least-significant bit. The high-order bits of the result are zeroed.

Assembly Instructions

Example

use bitintr::x86::tbm::*;

assert_eq!(bextr(0b0000_0000_0101_0000u16, 0b0000_0100_0000_0100u16), 0b0000_0000_0000_0101u16);
assert_eq!(0b0000_0000_0101_0000u16.bextr(0b0000_0100_0000_0100u16), 0b0000_0000_0000_0101u16);