Ensamblador
Ensamblador
Ensamblador
INTRODUCCION
Qu es ensamblador?
El lenguaje ensamblador, como cualquier lenguaje de programacin, es un conjunto de palabras que le indican al
procesador lo que tiene que hacer. Sin embargo, la diferencia fundamental es que cada instruccin escrita en
lenguaje ensamblador tiene una correspondencia exacta con una operacin en el procesador. Por lo que son
operaciones muy sencillas, tales como: Cargar 32 en el registro BX o Transferir el contenido del registro CL al
CH. As pues, las palabras del lenguaje ensamblador son nemotcnicos que representan al cdigo mquina,
lenguaje que entiende el procesador.
Registros internos:
El 80x86 dispone de 8 registros de propsito general (4 de datos y 4 ndice), 6 registros de segmento, 1 registro de
ndice de programa y 1 registro de estado.
Registros de datos:
Los registros de datos son de 32 bits, aunque estn divididos; lo que permite su acceso a 8 bits o a 16 bits. Estos
registros son de propsito general aunque todos tienen alguna funcin por defecto en determinadas instrucciones.
EAX (acumulador) se usa para almacenar el resultado de las operaciones, es el nico registro con el que se puede
hacer divisiones y multiplicaciones. Puede ser accedido en 8 bits como AH y AL; y a 16 bits como AX.
EBX (registro base) almacena la direccin base para los accesos a memoria. Tambin puede accederse como BH y
BL, o BX de la misma forma que el anterior.
ECX (contador) acta como contador en los bucles de repeticin. CL (parte baja del registro) almacena el
desplazamiento en las operaciones de desplazamiento y rotacin de mltiples bits.
EDX (datos) es usado para almacenar los datos de las operaciones. Tambin es accesible en 8,
16 y 32 bits.
ARQUITECTURA DE COMPUTADORAS
COMANDOS PRINCIPALES ENSAMBLADOR 80X86
TORRES MARTNEZ JORDAN JAZIEL
FECHA DE ENTREGA: 10/07/2015
Registros de segmento:
Los registros de segmento son de 16 bits y contienen el valor de segmento. El uso de segmentos para dividir el
espacio de la memoria es una reminiscencia del procesador 8086, el primero de la familia. En los procesadores
80386 y posteriores los registros de segmentos son usados de manera automtica por el procesador, sin que el
programador deba preocuparse por el valor que en cada momento tiene, salvo para algunas instrucciones
especiales.
CS (segmento de cdigo) contiene el valor de segmento donde se encuentra el cdigo. Acta en conjuncin con el
registro EIP para obtener la direccin de memoria que contiene la prxima instruccin.
DS (segmento de datos) contiene el segmento donde estn los datos.
ES (segmento extra de datos) es usado para acceder a otro segmento que contiene ms datos.
SS (segmento de pila) contiene el valor del segmento donde est la pila. Se usa conjuntamente con el registro ESP
para obtener la direccin donde se encuentra el ltimo valor almacenado en la pila por el procesador.
FS, GS: se usan como registros de segmento adicionales
Registros de ndice:
Estos registros son de 32 bits y son usados como ndices por algunas instrucciones, pueden ser accedidos solo a
16 bits. Tambin pueden ser usados como operandos.
ESI (ndice de origen) almacena el desplazamiento del operando de origen en memoria en algunos tipos de
operaciones (operaciones con operandos en memoria).
EDI (ndice de destino) almacena el desplazamiento del operando de destino en memoria en algunos tipos de
operaciones (operaciones con operandos en memoria).
ESP (ndice de pila) almacena el desplazamiento dentro del segmento de pila, y apunta al ltimo elemento
introducido en la pila. Se usa conjuntamente con el registro SS.
ARQUITECTURA DE COMPUTADORAS
COMANDOS PRINCIPALES ENSAMBLADOR 80X86
TORRES MARTNEZ JORDAN JAZIEL
FECHA DE ENTREGA: 10/07/2015
EBP (ndice de base) se usa para almacenar desplazamiento en los distintos segmentos. Por defecto es el
segmento de la pila
La suma de dos nmeros con igual signo o la resta de dos nmeros con signo opuesto
producen un resultado que no se puede guardar (ms de 32 bits).
El bit ms significativo (el signo) del operando ha cambiado durante una operacin de
desplazamiento aritmtico.
ARQUITECTURA DE COMPUTADORAS
COMANDOS PRINCIPALES ENSAMBLADOR 80X86
TORRES MARTNEZ JORDAN JAZIEL
FECHA DE ENTREGA: 10/07/2015
AF (acarreo auxiliar) vale 1 cuando se produce acarreo o acarreo negativo en el bit 3.
PF (paridad) vale 1 si el resultado de la operacin tiene como resultado un nmero con un nmero par de bits a 1.
Se usa principalmente en transmisin de datos.
CF (bit de acarreo) vale 1 si se produce acarreo en una operacin de suma, o acarreo negativo en una operacin
de resta. Contiene el bit que ha sido desplazado o rotado fuera de un registro o posicin de memoria. Refleja el
resultado de una comparacin.