¿Cuáles son las aplicaciones de un registro de desplazamiento?

Hace 30 años estaba trabajando con un procesador de 8 bits 6502 en lenguaje ensamblador. Con respecto a las operaciones de cambio, este procesador admite tres tipos de operaciones: cambio lógico a izquierda y derecha (LSL y LSR), cambio aritmético a izquierda y derecha (ASL y ASR) y rotación a izquierda y derecha (ROL y ROR). Todas estas operaciones están destinadas a mover el patrón de bits actual en el registro correspondiente. En el caso del procesador 6502, el único registro que podía desplazarse era el acumulador, por lo que no era necesario dar más especificaciones aquí.

un cambio lógico mueve el patrón de bits en la dirección dada y agrega un 0 al lugar libre. Un cambio aritmético respeta la codificación de números en binario. Como los números negativos siempre tienen el bit más alto establecido y el desplazamiento aritmético a la derecha mantiene ese bit intacto y, por lo tanto, llena el conjunto con un 1 en números negativos y un cero en números positivos. Las operaciones de rotación obviamente rotan el patrón de bits de manera que el bit que se desplazó se inserte en el otro lado.

El cambio y la rotación permitieron a los programadores en el pasado implementar operaciones matemáticas y la manipulación de patrones de bits para realizar operaciones especiales como la manipulación de gráficos, porque en esos momentos el coprocesador matemático o gráfico todavía no se había inventado.