Вы находитесь на странице: 1из 8

Practica de ensamblador con el EMU8086

1. Instalacin del Emu8086


En primer lugar ejecutar el archivo instalador del emu8086:
emu8086.exe

2. Leer el instructivo del emu8086


Se recomienda leer el instructivo del emu80086, el cual se anexo a esta prctica, en este
documento se describen las caractersticas operativas del software

3. Consideraciones y conceptos tericos a utilizar


El CPU requiere gestionar la operacin de los perifricos, para realizar este proceso utiliza
las instrucciones de interrupcin, este tipo de instrucciones interrumpe la ejecucin de las
instrucciones en curso para proceder a atender al dispositivo que genero la solicitud de
interrupcin, en el men de ayuda del emu8086 se tiene la descripcin de todas las
interrupciones que se soportan
Las interrupciones pueden realizar diferentes procesos, para identificar cual proceso se
debe realizar se utilizan parmetros que se cargan en los registros generales.
En esta sesin utilizaremos las siguientes:

INT 10H, permite la gestin de la informacin que ser mostrada en el monitor


o Parmetro AL=03h, define el modo de texto, colores y paginas en el monitor
o Parmetro AX=1003h y BH=00h, cancela la opcin de parpadeo en monitor
INT 16h, gestiona la interface con el teclado
o Parmetro AH=00h, permite leer una tecla

4. Ejercicios a realizar en esta prctica.


Ejercicio #1: Analizaremos el programa video1.asm
1. Este programa muestra en el monitor la frase UNITEC 16-1!, procedamos a
analizarlo
a. La directiva: name "video1", indica el nombre del programa
b. Para incluir comentarios se utiliza el carcter ;
c. Por ser un programa .com, se inicializa el segmento de cdigo en 100H
d. Se define el modo de video, por medio de la ejecucin de la instruccin de
INT 10H, que utiliza como parmetro de ejecucin el valor AX=0003
; definir el modo de video
mov ax, 3 ; modo de texto de 80x25, 16 colores, 8 paginas (ah=0, al=3)
int 10h
; Ejecuta la interrupcin 10h con el parmetro AX=3
e. Se evita la opcin de parpadeo, habilitando el uso de 16 colores, se vuelve
a utilizar la instruccin INT 10H, que se ejecuta con los parmetros
AX=1003h y BX=0000h
; cancela el parpadeo y habilita los 16 colores:

Introduccin al emu8086

1 de 16

Practica de ensamblador con el EMU8086

f.

mov ax, 1003h


mov bx, 0
int 10h
Se define la localidad de memoria donde se mapea el video vga, se usa el
registro ds Data segment, DS = 0B800h

; Inicializa el registro de segmento


mov ax, 0b800h
mov ds, ax
g. Se almacena en la memoria el mensaje que se desea mostrar en el
monitor, es decir:
i. En la localidad de memoria 0B802h se guarda el ASCII que
equivale a la U
ii. En la localidad de memoria 0B804h se guarda el ASCII que
equivale a la N,
iii. Y as sucesivamente
; muestra "UNITEC 16-2!"
; El primer byte es el cdigo ASCII, el segundo byte es el cdigo de color
mov [02h], 'U'
mov [04h], 'N'
mov [06h], 'I'
mov [08h], 'T'
mov [0ah], 'E,'
mov [0ch], 'C'
mov [0eh], ' '
mov [10h], '1'
mov [12h], '6'
mov [14h], '-'
mov [16h], '2'
mov [18h], '!'
h. Se inicializan los registros que permitirn guardar en memoria el valor
ASCII que representa el color de los caracteres y el color de fondo que se
aplicara.
; Define el color de los caracteres:
mov cx, 12 ; nmero de caracteres.
mov di, 03h ; inicia a partir del byte ubicado despus de la 'U'
i.

A continuacin se guarda en memoria el valor ASCII que representa el


color de los caracteres y el color de fondo que se aplicara, para esto se
utiliza un bucle, el cual inicia accediendo a la localidad de memoria 0B803h
y almacena el valor 0DCh, que define el color a ser mostrado en pantalla,

Introduccin al emu8086

2 de 16

Practica de ensamblador con el EMU8086


este bucle almacena este valor en la memoria realizando saltos de dos
posiciones, es decir:
i. El siguiente ciclo guarda la informacin en la localidad 0B805h
ii. El siguiente ciclo guarda la informacin en la localidad 0B807h
iii. Y As sucesivamente hasta completar 12 ciclos de ejecucin
iv. La instruccin loop, realiza lo siguiente: Toma el valor actual del
registro CX, le resta una unidad y verifica si su valor es igual a
CERO, si no es igual a CERO regresa el control del programa a la
instruccin donde est la etiqueta c:
c: mov [di], 11101100b ; light red(1100) sobre yellow(1110)
add di, 2 ; salta al siguiente cdigo ascii en la memoria vga
loop c
j.

Finalmente el programa termina su ejecucin, ejecutando la interrupcin


16H con el parmetro AH=00h, con lo cual espera que el usuario oprima
una tecla
; espera a que se oprima una tecla
mov ah, 0
int 16h
ret

2. Carga el programa video1.asm, en el simulador, ejecuta el proceso de


compilacin, da clic en el botn
, se mostrara una pantalla donde se pide
guardar el programa ejecutable que se genera.

3. Al terminar el proceso se muestra una pantalla como la siguiente, la cual incluye


informacin acerca del proceso de ensamblado, indica que se generaron los
archivos
a. Video1.com
b. Video1.com.list

Introduccin al emu8086

3 de 16

Practica de ensamblador con el EMU8086


c. Video1.com.symbol

4. Si das clic en el botn run, el programa se ejecutara mostrando en la pantalla lo


siguiente:

El programa est en espera de que oprimas alguna tecla para terminar el proceso,
al oprimir una tecla se muestra la pantalla.

5. Ahora analiza paso a paso la ejecucin del programa, para lo cual al cerrar la
pantalla anterior, tendrs acceso a la pantalla principal del emulador, da clic en el
botn reload

Introduccin al emu8086

4 de 16

Practica de ensamblador con el EMU8086

6. Procede a ejecutar el programa paso a paso, dando clic en el botn single step
y revisa como se actualizan los valores en los registros y como se van mostrando
los caracteres en la pantalla.

Ejercicio #2: Modifica el programa anterior para que te muestre el mensaje con otra
combinacin de color de carcter y color de fondo, guarda este programa con el nombre
video2.asm

Introduccin al emu8086

5 de 16

Practica de ensamblador con el EMU8086

Ejercicio #3: Modifica el programa para que muestre en pantalla tu nombre y apellido,
con la combinacin de colores que ms te agrade, guarda este programa con el nombre
video3.asm

Ejercicio #4: Modifica el programa para que te muestre en seis renglones de la pantalla
tu nombre, guarda este programa con el nombre video4.asm

Recomendaciones:
1. Puedes usar el registro CX para indicar el nmero de veces que se va a mostrar la
variable en el monitor
El registro DI para indicar el valor inicial dentro del segmento de memoria donde se
ubica el primer valor a mostrar en el monitor
mov cx, 28h

Introduccin al emu8086

6 de 16

Practica de ensamblador con el EMU8086


mov di, 02h
Incluir una etiqueta para indicar donde inicia el proceso que muestra en el monitor los
caracteres
c1: mov [di], 'U'
add di, 2
mov [di], 'N'
add di, 2
mov [di], 'I'
add di, 2
..
mov [di], '!'
add di, 2
loop c1

La instruccin loop decrementa el valor contenido en CX y compara si es cero si no es


igual a cero salta a la etiqueta mostrada
2. En la seccin que define el color de los caracteres debes definir el valor adecuado que
debe tener el registro CX

Ejercicio #5: Modifica el programa para que puedas capturar 16 caracteres desde el
teclado y se muestren en la pantalla, guarda este programa con el nombre video5.asm
Recuerda que las instrucciones:
mov ah, 0
int 16h
Permiten capturar una tecla, el valor ASCII de la tecla lo guarda en el registro AL

;Define el nmero de caracteres que vas a capturar

Introduccin al emu8086

7 de 16

Practica de ensamblador con el EMU8086


mov cx, 16 ; nmero de caracteres.
mov di, 02h
ciclo:
; Oprime una una tecla, el valor ASCII se queda en AL
mov ah, 0
int 16h
mov [di], al
inc di
mov [di], 10011111b ; light red(1100) sobre blanco(1111)
inc di
loop ciclo

Ejercicio #6: Crea un programa que permita calcular la multiplicacin de dos nmeros
enteros, guarda este programa con el nombre multi.asm

Ejercicio #7: Crea un programa que permita calcular la divisin de dos nmeros enteros,
guarda este programa con el nombre divide.asm

Conclusiones:
Explica el proceso de operacin de las interrupciones para la atencin de perifricos.

Entregables: Para que se evalu esta prctica debes entregar lo siguiente:


1. Archivo de Word donde se incluyan los nombres de los alumnos que formaron el
equipo de trabajo, incluir en este archivo las conclusiones personales donde
describan el proceso que se utiliza para mostrar informacin en la pantalla
2. Los programas fuente y ejecutables de los ejercicios 2, 3, 4, 5 6 y 7

Introduccin al emu8086

8 de 16

Вам также может понравиться