Size in bits of a unit that is swapped with another unit in a data container The size must be a divisor of data_container or 0. If the size is 0, the swapping is disabled. If the size is non-zero, the data units are swapped in the containers of data_container size.
When the container size is 24 and the unit size is 4, the swapping is performed like in this example:
Memory:
|cont 3 ...
| | | | | | |unit|unit|
0x2000_0008 MSB 0b????_????_????_????_????_????_????_???? LSB
... container 3 | container 2 ...
|unit|unit|unit|unit| | | | |
0x2000_0004 MSB 0bvuts_rqpo_nmlk_jihg_fedc_ba)(_*&^%_$#@! LSB
... cont 2| container 1 |
| | |unit|unit|unit|unit|unit|unit|
0x2000_0000 MSB 0bVUTS_RQPO_NMLK_JIHG_FEDC_BA98_7654_3210 LSB
↓
Swapped data:
|cont 3 ...
MSB 0b _ _ _ _ _ _jihg_nmlk LSB
... container 3 | container 2 ...
MSB 0brqpo_vuts_????_????_RQPO_VUTS_$#@!_*&^% LSB
... cont 2| container 1 |
MSB 0bba)(_fedc_3210_7654_BA98_FEDC_JIHG_NMLK LSB
↓
Serial lines (with the container size of 24 bits):
bits in order: 3210_7654_BA98_FEDC_JIHG_NMLK_RQPO_VUTS
$#@!_*&^%_ba)(_fedc_jihg_nmlk_rqpo_vuts
????_????
The question marks are filled with data units from the next word.