fn read_reg_helper<T: RegisterValue>(
    val: T,
    val_range: RegisterRange,
    addr: u64,
    data: &mut [u8]
)