ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Inicializar registros indices


Enviado por   •  2 de Mayo de 2017  •  Tarea  •  377 Palabras (2 Páginas)  •  168 Visitas

Página 1 de 2

;Inicializar registros indices

;con la direccion inicial en memoria de la imagen a desplegar (fuente -> imagen -> registro indice fuente -> ESI)

;y del area de memoria reservada para el despliegue (destino -> buffer -> registro indice destino -> EDI)

mov esi, imagen

mov edi, buffer

;Cargar la direccion en memoria de la variable 'dmn' el registro base (EBX). 'dmn' es la estructura con el ANCHO y ALTO.

lea ebx, dmn

;Transferir o copiar 4 bytes en memoria a partir de la direccion en memoria especificada por EBX;

;son 4 bytes porque el operando destino es de 4 bytes en este caso es el registro acumulador (EAX).

;Es decir, EBX es un puntero a 'dmn' donde 'dmn' es de 8 bytes (4Bytes de la variable ANCHO y los siguientes 4Bytes de la variable ALTO),

;entonces EAX = ANCHO

mov eax, [ebx]

;sumar 4 al registro puntero (EBX) para apuntar al siguiente elemento de la estructura DIMENSION el cual es ALTO y vendria siendo el otro factor de la multiplicacion

add ebx, 4

;Especificar el otro factor en la instruccion de multiplicacion que son los siguientes 4Bytes a partir de la direccion especificada por EBX (variable ALTO de DIMENSION)

;Se multplican ANCHO (=EAX) * ALTO (=dword ptr [ebx])

;con 'dword ptr [ebx]' estamos indicando que EBX se comporte como puntero tipo DWORD,

;es decir, se esta especificando que se desean los 4Bytes (4Bytes=1Dword) a partir de la direccion en memoria especificada por el registro EBX

;el cual contiene la direccion inicial de la variable ALTO en la estructura DIMENSION.

mul dword ptr [ebx]

;el resultado de la multiplicacion anterior es del doble del tamano de los factores, en este caso los factores son de 4Bytes por lo que el resultado es de 8Bytes

;y se encuentra en EDX:EAX donde EDX contiene los 4Bytes de mayor peso del producto de la multiplicacion y EAX contiene los 4Bytes de menor peso.

;Como el producto de la multiplicacion sabemos y esperamos que es un valor con un tamano menor a 4Bytes entonces dicho resultado esta en EAX

;y con la siguiente instruccion se lo copiamos al registro contador (ECX)

;para posteriormente hacer el ciclo/bucle de leer cada pixel de la imagen en memoria y pasarlo al buffer (area de mem. reservada para el despliegue)

mov ecx, eax

;poner codigo para el bucle de leer pixel por pixel y transferirlo al buffer.

...

Descargar como (para miembros actualizados) txt (2 Kb) pdf (39 Kb) docx (11 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com