Name:
Location: Tijuana, Baja California N., Mexico

Soy un estudiante de Informatica en el TECNOLOGICO DE TIJUANA, y que trato de terminar mi carrera para poder hacer un profecionista exitoso. Pero lo mas Importante trato de ser un buen amigo aunque aveces me paso con la carrilla.

Google

Thursday, September 08, 2005

6.4. CORRIMIENTO Y ROTACION.

CORRIMIENTO DE BITS. Las instrucciones de corrimiento, que son parte de la capacidad lógica de la computadora, pueden realizar las siguientes acciones:
1. Hacer referencia a un registro o dirección de memoria.

2. Recorre bits a la izquierda o a la derecha.

3. Recorre hasta 8 bits en un byte, 16 bits en una palabra y 32 bits en una palabra doble.

4. Corrimiento lógico (sin signo) o aritmético (con signo).


El segundo operando contiene el valor del corrimiento, que es una constante (un valor inmediato) o una referencia al registro CL. Para los procesadores 8088/8086, la constante inmediata solo puede ser 1; un valor de corrimiento mayor que 1 debe estar contenido en el registro CL. Procesadores posteriores permiten constantes de corrimiento inmediato hasta 31.

El formato general para el corrimiento es

| [etiqueta:] | Corrim. | {registro/memoria}, {CL/inmediato} |

Corrimiento de bits hacia la derecha.

Los corrimientos hacia la derecha (SHR y SAR) mueven los bits hacia la derecha en el registro designado. El bit recorrido fuera del registro mete la bandera de acarreo. Las instrucciones de corrimiento a la derecha estipulan datos lógicos (sin signo) o aritméticos (con signo):


Las siguientes instrucciones relacionadas ilustran SHR y datos con signo:

INSTRUCCION AL COMENTARIO

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

El primer SHR desplaza el contenido de AL un bit hacia la derecha. El bit de mas a la derecha es enviado a la bandera de acarreo, y el bit de mas a la izquierda se llena con un cero. El segundo SHR desplaza tres bits mas al AL. La bandera de acarreo contiene de manera sucesiva 1, 1 y 0; además, tres bits 0 son colocados a la izquierda del AL.

SAR se difiere de SHR en un punto importante: SAR utiliza el bit de signo para llenar el bit vacante de mas a la izquierda. De esta manera, los valores positivos y negativos retienen sus signos. Las siguientes instrucciones relacionadas ilustran SAR y datos con signo en los que el signo es un bit 1:

INSTRUCCION AL COMENTARIO

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

En especial, los corrimientos a la derecha son útiles para (dividir entre 2) obtener mitades de valores y son mucho mas rápidas que utilizar una operación de división.

Al terminar una operación de corrimiento, puede utilizar la instrucción JC (Salta si hay acarreo) para examinar el bit desplazado a la bandera de acarreo.

Corrimiento de bits a la izquierda.

Los corrimientos hacia la izquierda (SHL y SAL) mueven los bits a la izquierda, en el registro designado. SHL y SAL son idénticos en su operación. El bit desplazado fuera del registro ingresa a la bandera de acarreo. Las instrucciones de corrimiento hacia la izquierda estipulan datos lógicos (sin signo) y aritméticos (con signo):

SHL: Desplazamiento lógico a la izquierda SAL: Desplazamiento aritmético a la izquierda





Las siguientes instrucciones relacionadas ilustran SHL para datos sin signo:

INSTRUCCION AL COMENTARIO

MOV CL, 03
MOV AL, 10110111B ; 10110111
SHR AL, 01 ; 01101110 Un corrimiento a la izquierda
SHR AL, CL ; 01110000 Tres corrimientos mas
SHR AX, 03 ; Válido para 80186 y procesadores posteriores

El primer SHL desplaza el contenido de AL un bit hacia la izquierda. El bit de mas a la izquierda ahora se encuentra en la bandera de acarreo, y el ultimo bit de la derecha del AL se llena con cero. El segundo SHL desplaza tres bits mas a el AL. La bandera de acarreo contiene en forma sucesiva 0, 1 y 1, y se llena con tres ceros a la derecha del AL.

Los corrimientos a la izquierda llenan con cero el bit de mas a la derecha. Como resultado de esto, SHL y SAL don idénticos. Los corrimientos a la izquierda en especial son útiles para duplicar valores y son mucho mas rápidos que usar una operación de multiplicación.

Al terminar una operación de corrimiento, puede utilizar la instrucción JC (Salta si hay acarreo) para examinar el bit que ingreso a la bandera de acarreo.


  • ROTACION DE BITS (Desplazamiento circular)


Las instrucciones de rotación, que son parte de la capacidad lógica de la computadora, pueden realizar las siguientes acciones:

1. Hacer referencia a un byte o a una palabra.

2. Hacer referencia a un registro o a memoria.

3. Realizar rotación a la derecha o a la izquierda. El bit que es desplazado fuera llena
el espacio vacante en la memoria o registro y también se copia en la bandera de acarreo.

4. Realizar rotación hasta 8 bits en un byte, 16 bits en una palabra y 32 bits en una palabra doble.

5. Realizar rotación lógica (sin signo) o aritmética (con signo).


El segundo operando contiene un valor de rotación, el cual es una constante (un valor inmediato) o una referencia al registro CL. Para los procesadores 8088/8086, la constante inmediata solo puede ser 1; un valor de rotación mayor que 1 debe estar contenido en el registro CL. Procesadores posteriores permiten constantes inmediatas hasta el 31. El formato general para la rotación es:

| [etiqueta:] | Rotación | {registro/memoria}, {CL/inmediato} |

Rotación a la derecha de bits

Las rotaciones a la derecha (ROR y RCR) desplazan a la derecha los bits en el registro designado. Las instrucciones de rotación a la derecha estipulan datos lógicos (sin signo) o aritméticos (con signo):





Las siguientes instrucciones relacionadas ilustran ROR:

INSTRUCCION BH COMENTARIO

MOV CL, 03
MOV BH, 10110111B ; 10110111
SHR BH, 01 ; 11011011 Una rotación a la derecha
SHR BH, CL ; 00001011 Tres rotaciones a la derecha
SHR BX, 03 ; Válido para 80186 y procesadores posteriores

El primer ROR desplaza el bit de mas a la derecha del BH a la posición vacante de mas a la izquierda. La segunda y tercera operaciones ROR realizan la rotación de los tres bits de mas a la derecha.

RCR provoca que la bandera de acarreo participe en la rotación. Cada bit que se desplaza fuera de la derecha se mueve al CF y el bit del CF se mueve a la posición vacante de la izquierda.

Rotación a la izquierda de bits

Las rotaciones a la izquierda (ROL y RCL) desplazan a la izquierda los bits del registro designado. Las instrucciones de rotación a la izquierda estipulan datos lógicos (sin signo) y aritméticos (con signo):


Las siguientes instrucciones relacionadas ilustran ROL:

INSTRUCCION BL COMENTARIO

MOV CL, 03
MOV BL, 10110111B ; 10110111
SHR BL, 01 ; 11011011 Una rotación a la izquierda
SHR BL, CL ; 00001011 Tres rotaciones a la izquierda
SHR BX, 03 ; Válido para 80186 y procesadores posteriores

El primer ROL desplaza el bit de mas a la izquierda del BL a la posición vacante de mas a la derecha. La segunda y tercera operaciones ROL realizan la rotación de los tres bits de mas a la izquierda.

De manera similar a RCR, RCL también provoca que la bandera de acarreo participe en la rotación. Cada bit que se desplaza fuera por la izquierda se mueve al CF, y el bit del CF se mueve a la posición vacante de la derecha.

Puede usar la instrucción JC (salta si hay acarreo) para comprobar el bit rotado hacia la CF en el extremo de una operación de rotación.

1 Comments:

Blogger Jose Manuel Read said...

Viejo necesito ayuda para un programa de ensamblador y me gustaria ver si me puedes ayudar. necesito esto:

un programa que permita hacer 6 rotaciones a un registro o localidad de memoria mostrando su contenido como una cantidad con signo.

Gracias de antemano por la ayuda, mi correo es jmlread@gmail.com

4:19 PM  

Post a Comment

<< Home