- // we have (num_bits + 7)/8 bytes of bits to toggle out.
- // bits are pushed out LSB to MSB
- value = 0;
- if (fields[i].out_value != NULL)
- {
- for (l = 0; l < k; l += 8)
- {
- value|=fields[i].out_value[(j + l)/8]<<l;
- }
- }
- /* mask away unused bits for easier debugging */
- if (k < 32)
- {
- value&=~(((uint32_t)0xffffffff) << k);
- } else
- {
- /* Shifting by >= 32 is not defined by the C standard
- * and will in fact shift by &0x1f bits on nios */
- }
+ shiftValueInner(shiftState, pause_state, k, value);