Red de conocimiento informático - Problemas con los teléfonos móviles - Desplazamiento lógico a la derecha de SHR

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