¿Por qué la instrucción LSR (cambio lógico a la derecha) solo requiere un solo ciclo de reloj para ejecutarse?

0

Hace un tiempo, estaba leyendo el libro Some Assembly Required sobre la programación del ensamblaje para la familia de microcontroladores avr ... Al principio, explicó que la instrucción LSL (cambio lógico izquierdo) se tradujo a una instrucción ADD que esencialmente se multiplicó el registro por 2. Entiendo por qué funcionaría, pero lo que no entiendo es lo que estoy leyendo sobre la instrucción LSR (cambio lógico correcto) en la propia documentación de Atmel: enlace

La documentación muestra el código de operación de las instrucciones como, 1001 010d dddd 0110 y muestra el conteo de ciclos como 1, lo que significa que la instrucción se completa en un solo ciclo de reloj.

Entonces, ¿qué está sucediendo exactamente aquí? Realmente no puedo decir ... ¡Gracias!

    
pregunta Holden

1 respuesta

0

Buscar 'barril de cambio'. Esa es prácticamente la única forma de hacer un cambio correcto.

Hay al menos dos formas de hacer un desplazamiento a la izquierda, un agregado o un cambiador de barriles.

La reutilización de agregar para un turno a la izquierda permite que la palanca de cambio del barril sea más simple, por lo que ahorra hardware.

    
respondido por el Neil_UK

Lea otras preguntas en las etiquetas