Beruflich Dokumente
Kultur Dokumente
ENSAMBLADOR
Angie Paola Yanquen Yanquen
Yeison Javier Funeme Hernandez
Cdigo: IN-GRI-004
Versin: 02
Fecha de Versin: 05-Sep-2014
CONTENIDO
Contenido
PRACTICA 1 ..................................................................................................................................... 2
Codificacin Primer Ejemplo Lenguaje Ensamblador ........................................................................ 2
Programa ........................................................................................................................................ 2
Instrucciones .................................................................................................................................. 2
Codificacin con nombres ............................................................................................................... 4
Programa con nombres .................................................................................................................... 4
PRACTICA 2 ..................................................................................................................................... 5
Programa Hola Mundo ................................................................................................................ 5
Codificacion con nombres ............................................................................................................... 5
Programa ........................................................................................................................................ 5
Registros ........................................................................................................................................ 6
Observaciones ................................................................................................................................ 6
PRACTICA 3 ..................................................................................................................................... 7
Codificacin ................................................................................................................................... 7
Programa ........................................................................................................................................ 7
Registros ........................................................................................................................................ 8
PRACTICA 4 ..................................................................................................................................... 9
Codificacin ................................................................................................................................... 9
Programa .......................................................................................................................................10
Registros .......................................................................................................................................11
PRACTICA 5 ....................................................................................................................................12
Codificacin ...................................................................................................................................12
Programa .......................................................................................................................................13
Registros .......................................................................................................................................14
Instrucciones .................................................................................................................................14
PRACTICA 6 ....................................................................................................................................15
Codificacin ..................................................................................................................................15
Programa .......................................................................................................................................17
Flags .............................................................................................................................................18
1
PRACTICA 1
Codificacin Primer Ejemplo Lenguaje Ensamblador
Programa
Instrucciones
Org
Esta directiva le indica al programa la direccin desde la que deben ensamblarse las instrucciones escritas. Si las
instrucciones del programa son ensambladas sin especificar ORG, el ensamblador toma por defecto ORG 0x0.
Jmp
Realiza un salto incondicional hacia la direccin, etiqueta o procedimiento especificado. A diferencia de la instruccin
JMP, la instruccin CALL realiza un salto a una subrutina con retorno. El salto puede ser cercano o lejano.
Db
La directiva DB reserva memoria para datos de tipo byte (8 bits), o para una variable de este tipo, inicializando o no dicho byte y los posteriores.
El nombre de la variable es opcional, y se asigna dicho nombre para el primer byte (recordar que el lenguaje mquina no entiende de variables,
si no de direcciones de memoria. Una variable es una etiqueta o referencia para el compilador, el cual sustituye cada referencia a esta variable
por la direccin de memoria correspondiente)
Offset
Devuelve el OFFSET (desplazamiento) de la variable o etiqueta especificada. El desplazamiento es la posicin desde el principio del segmento
hasta la expresin indicada.
Mov
Mueve o transfiere un byte o una palabra desde el operando fuente al operando destino. El dato transferido se copia, por lo que no desaparece
del operando fuente. Tanto el operando fuente como el operando destino pueden ser un registro o un elemento de memoria. El operando fuente
puede ser un valor inmediato.
Int 21h
Esta interrupcin tiene varias funciones, para accesar a cada una de ellas es necesario que el el registro AH se encuentre el nmero de funcin
que se requiera al momento de llamar a la interrupcin.
Int 20h
Esta funcin, equivalente en su efecto para la Interrupcin 21h, 00h Funcin, finaliza la ejecucin de un programa y devuelve el control al
DOS, que restablece el Ctrl-Break, y salir por terminado, sin errores crticos direcciones de la PSP. CS debe contener la direccin del segmento
de la PSP, y todos los archivos escritos por el programa deben estar cerradas antes 20h de interrupcin se llama.
Ax
Acumulador (AL:AH)
Dx
Registro de datos (DL:DH)
Ret
Devuelve el flujo del programa donde estaba antes de la llamada a la funcin. Primero saca de la pila 4 bytes, los pone en EIP y luego suma
4 a ESP
PRACTICA 2
Programa Hola Mundo
Programa
Registros
Observaciones
1. Al tener la necesidad de agregar ms letras era necesario agregar ms valores segn los nmeros Hexadecimales
y el cdigo ASCII
2. Para lograr cambiar el color de las letras y el sombreado se debe colocar el cdigo de color de sombreo junto
al color de letra.
3. Se coloca el nmero de letras o espacios que se van a sombrear, y as mismo desde que letra se desea el
sombreado
4. Al correr el Programa se evidencian unos cambios en los registros:
IP = Cuando cambia las instruccin hay movimiento en este registro.
CX = Va disminuyendo cada vez que quedan menos letras por Subrayar
DI = Registro ndice destino
PRACTICA 3
Codificacin
Programa
Registros
Al correr el Programa se evidencian unos cambios en los registros:
PRACTICA 4
Codificacin
Programa
10
Registros
11
PRACTICA 5
Codificacin
12
Programa
13
Registros
Instrucciones
Putc: Posicion
Putc 8: Retroceso
too_big2 JC: Salto para nmeros muy grandes
PUSH :almacena valor de 16 bits en la pila
PUSH y POP realizan las operaciones de apilado y desapilado en la pila del procesador respectivamente,
admiten todos los tipos de direccionamiento (excepto inmediato). Los operandos deben ser siempre de 16 bits
Ejemplos:
PRACTICA 6
Codificacin
15
16
Programa
17
Flags
IF (Interruption flag, Interrupcion): Indica que una interrupcin externa, como la entrada desde el teclado sea procesada
o ignorada.
ZF (Zero flag, Zero): Indica el resultado de una operacin aritmtica o de comparacin
PF (Parity flag, Paridad): Indica paridad par o impar de una operacin en datos de ocho bits de bajo orden (mas a la
derecha).
18
19