Registros de desplazamiento bidireccional son los dispositivos de almacenamiento capaces de desplazar los datos a la derecha o a la izquierda según el modo seleccionado. La figura 1 muestra un registro de desplazamiento bidireccional de n bits con capacidad de carga y recuperación de datos en serie. Inicialmente todos los chanclas en el registro se reajustan al poner sus alfileres transparentes en alto. La siguiente línea de control de R/L se hace baja o alta para optar por el desplazamiento a la izquierda o a la derecha de los bits de datos, respectivamente.
Ahora si R/L = 1, entonces A1 las puertas de todos los circuitos de combinación se activan mientras la A2 las puertas se desactivarán al mismo tiempo. Debido a esto, las salidas de cada flip-flop aparecen en las entradas de la siguiente chancleta a través de Puerta de la sala de operaciones salida (excepto por el último flip-flop FFn).
Por ejemplo, Q1 aparece en D2 a través de la salida de la puerta 1 del quirófano (O1), Q2 aparece en D3 a través de la salida de la puerta de quirófano 2 (O2), y Qn-1 aparece en Dn a través de la salida de la puerta 1 del quirófano (On) (líneas rojas). En este instante si aparece el borde positivo del pulso del reloj, entonces las salidas de las respectivas chancletas reflejan sus entradas. Así, Q1 = D1, Q2 = Q1y Qn = Qn-1. Esto no es más que un desplazamiento de los datos por un solo bit dentro del registro. Siguiendo con las mismas bases, uno puede notar que por cada flanco ascendente del reloj, los datos dentro del registro se desplazan a la derecha por un solo bit mientras R/L permanezca alto.
Por otro lado, si R/L baja, entonces A2 las puertas de los circuitos de combinación se activan mientras que A1 las puertas se desactivan. Esto hace que las salidas de cada chancla aparezcan en los pines de entrada de la muy anterior chancla a través de su Puerta de la sala de operaciones salidas (excepto la primera flip-flop, FF1). Por ejemplo, Qn aparece en Dn-1 a través de la salida de la puerta OR n-1 (On-1), Q3 aparece en D2 a través de la salida de la puerta de quirófano 2 (O2), y Q2 aparece en D1 a través de la salida de la puerta 1 del quirófano (O1). Estos bits de entrada se enganchan en sus respectivos pines de salida tan pronto como aparece el borde anterior del pulso del reloj y así Qn-1 = Qn, Q2 = Q3 y Q1 = Q2 (líneas verdes). Esto significa que por cada tictac de reloj, los datos dentro del registro se mueven a la izquierda por un bit, siempre que la línea R/L sea cero.
El funcionamiento de ese registro bidireccional puede resumirse como en el cuadro I y puede explicarse mejor mediante las formas de onda de salida que se muestran en la figura 2.