Básicamente permiten multiplicar y dividir por potencias de 2
· SHL, SAL desplazar a la izquierda (desplazamient o aritmético)
· SHR desplazar a la derecha
· SAR desplazamiento aritmético a la derecha
· ROL rotación a la izquierda
· ROR rotación a la derecha
· RCL rotación con acarreo a la izquierda
· RCR rotación con acarreo a la derecha
· CLC borrar acarreo
· STC poner acarreo a 1
SHL (Shift Left = desplazamiento a la izquierda)
Se desplazan a la izquierda los bits del operando destino tantas posiciones como indique el operando fuente. El desplazamiento de una posición se realiza de la siguiente forma: el bit de mayor peso del operando se desplaza al bit CF del registro de estado, el resto de los bits se desplazan una posición hacia la izquierda, y la posición de menor peso se rellena con un 0.
SAL (Shift Arithmetic Left = desplazamiento aritmético a la izquierda)
El objetivo de un desplazamiento aritmético a la izquierda es multiplicar un operando, interpretado con signo, por una potencia de 2.
SHR (Shift Right = desplazamiento a la derecha)
La instrucción shr funciona de la misma forma que shl, pero desplazando los bits a la derecha en lugar de a la izquierda.
SAR (Shift Arithmetic Right = desplazamiento aritmético a la derecha)
Esta instrucción desplaza los bits del operando destino a la derecha tantos bits como indique el operando fuente. Esta forma de funcionamiento es similar a la de la instrucción shr; sin embargo, ambas instrucciones se diferencian en que sar, en vez introducir ceros por la izquierda del operando, replica el bit de mayor peso (bit de signo) en cada desplazamiento. esquemáticamente.
ROL
Desplaza todos los bits de Rd una posición hacia la izquierda. El flag C se desplaza al bit 0 de Rd. El bit 7 se desplaza dentro del flag C. Esta operación combinada con LSL, multiplica valores multi-byte con o sin signo por dos.Realiza la rotación a la izquierda de los bits del operando, ignorando el bit CF del registro de estado, aunque en CF se almacena el bit que se rota.
ROR
Desplaza todos los bits de Rd una posición hacia la derecha. El flag C se desplaza al bit 7 de Rd. El bit 0 se desplaza dentro del flag C. Esta operación combinada con ASR, divide valores multi-byte con o sin signo por dos.
RCL
Realiza la rotación a la izquierda de los bits del operando a través del bit CF (acarreo) del registro de estado.
RCR
Realiza la rotación a la derecha de los bits de operando a través del bit CF del registro de estado.
CLC
Esta instrucción apaga el bit correspondiente a la bandera de acarreo, o sea, lo pone en cero.
Propósito: Limpiar bandera de acarreo.
STD
La instrucción STD pone la bandera DF en 1.
Propósito: Activar la bandera de dirección.
Ejemplo con instruccion SHR
MOV CL, 03
MOV AL, 10110111B ; 10110111
SHR AL, 01 ; 11011011 Un corrimiento a la derecha
SHR AL, CL ; 00001011 Tres corrimientos adicionales a la derecha
SHR AX, 03 ; Válido para 80186 y procesadores posteriores
No hay comentarios:
Publicar un comentario