4.6 Procesos Hacia Adelante

 

 

Operaciones de desplazamientos

El lenguaje ensamblador le permite al programador manipular bits individuales de los datos. Una operación común es llamada un desplazamiento. Una operación de desplazamiento mueve la posición de los bits de algún dato. Los desplazamientos pueden ser hacia la izquierda (hacia el bit más significativo) o hacia la derecha (el bit menos significativo).

 

Desplazamientos lógicos

Un desplazamiento lógico es el tipo más simple de desplazamiento. Desplaza de una manera muy directa. La siguiente figura muestra un ejemplo del desplazamiento de un byte.

Observe que los nuevos bits son siempre cero. Se usan las instrucciones

SHL y SHR para realizar los desplazamientos a la izquierda y derecha respectivamente.

Estas instrucciones permiten desplazar cualquier número de posiciones. El número de posiciones puede ser o una constante o puede estar almacenado en el registro CL. El último bit desplazado se almacena en la bandera de carry. A continuación, algunos ejemplos:

    mov       ax, 0C123H

    shl         ax, 1                    ; desplaza un bit a la izquierda, ax = 8246H, CF = 1

    shr        ax, 1                    ; desplaza un bit a la derecha, ax = 4123H, CF = 0

    shr        ax, 1                    ; desplaza un bit a la derecha, ax = 2091H, CF = 1

    mov       ax, 0C123H

    shl         ax, 2                    ; desplaza dos bit a la izquierda, ax = 048CH, CF = 1

    mov       cl, 3

    shr        ax, cl                    ; desplaza tres bit a la derecha, ax = 0091H, CF = 1

 

 

Inicio