Регистр сдвига, отличение процедур ...
С чем состоит отличие процедуры занесения информации в режиме параллельной загрузки и режим сдвига ?
//Пример сдвигового регистра на GCC.
#include
int main(void)
{
int xin=7, xout=7;
int arr[9]={0}, i=1;
for (xin =7; xin >=0;xin-- ) { arr[xin]=xin; }
for (xout =0;xout<=7;xout++ ) { printf("%i \n", arr[xout]);}
for (i=1;i<=7;i++) {
printf("-------\n");
for (xin =7; xin >=0;xin-- ) { arr[xin+1]=arr[xin]; }
for (xout =0;xout<=7;xout++ ) { printf("%i \n", arr[xout]);}
}
}
При параллельной загрузке ты сразу пишешь информацию во все ячейки регистра, переписывая те, что уже там были. В режиме сдвига ты вносишь информацию по битам по очереди, сначала в первую ячейку, потом переписываешь первую во вторую, новый бит заносишь в первую и т. д., фактически преобразуешь последовательный код в параллельный, где новая запись сдвигает уже записанный код по ячейками по мере внесения новой.
Все зависит от того куда заносишь информацию, в начало, в конец или на определенный адрес.