Desplazamiento lógico a la derecha de SHR
Desplazamiento lógico a la derecha SHR
La instrucción SHR afecta a los bits de bandera CF y OF. Si el número de cambios es 1 y el valor del bit de signo cambia después del cambio, OF = 1; de lo contrario, OF = 0. Si el número de cambios no es 1, OF no está definido.
Formato: SHR OPR.CNT. Entre ellos, OPR utiliza cualquier modo de direccionamiento excepto datos inmediatos. El número de cambios lo determina CNT, que puede ser 1 o CL en 8086. Cuando CNT es 1, solo cambia un bit.
Por ejemplo: MOV AX, 62H
SHR AX, 1
Cuando el número de turno es mayor que 1, debe colocar el número de turno en CL primero y luego Realice la operación de cambio nuevamente. El número de turnos se puede especificar en el rango de 1 a 31 utilizando un literal de 8 bits.
Por ejemplo, MOV AL, 62H
MOV CL, 4
SHR AL, CL
La comprensión simple de la ejecución es como siguiente:
01100010B Debido a que es una operación de desplazamiento a la derecha, también se denomina operación de desplazamiento a la derecha y operación de llenado de 0. Los bits binarios se eliminan un bit a la derecha y se agrega un 0 a la izquierda. Repita la operación anterior tantas veces como el número de bits desplazados. Después de 4 desplazamientos, el resultado es 00000110B, que es 06H.
La operación de aplicar un desplazamiento lógico a la derecha en un bit equivale a dividir el número sin signo en el registro o la memoria por 2, por lo que la instrucción SHR puede También se puede utilizar para completar las operaciones de división con ciertas constantes. Y las instrucciones de cambio suelen ejecutarse mucho más rápido que las instrucciones de división. Además de SHR, las instrucciones de desplazamiento también incluyen los siguientes comandos:
SHL (desplazamiento lógico a la izquierda) desplazamiento lógico a la izquierda
SAL (desplazamiento aritmético a la izquierda) desplazamiento aritmético a la izquierda
SAR(desplazamiento aritmético a la derecha) Desplazamiento aritmético a la derecha
ROL(girar a la izquierda) Girar desplazamiento a la izquierda
ROR(girar a la derecha) Girar desplazamiento a la derecha
RCL( rotar a la izquierda mediante transporte) Girar a la izquierda con transporte
RCR(rotar a la derecha mediante transporte) Girar a la derecha con transporte
SHLD(desplazamiento doble a la izquierda) Desplazamiento a la izquierda de doble precisión
SHRD(desplazamiento doble a la derecha) desplazamiento a la derecha de doble precisión