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
|