Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ARQUITECTURA DE MAQUINAS I
OBJETIVOS
Practicar el uso del emulador emu8086 para simulación de
programación en lenguaje ensamblador.
Conocer las bases para hacer un programa en ensamblador.
Conocer los principales registros del microprocesador 8086.
Comprobar el funcionamiento de la instrucción MOV y la directiva ORG.
INTRODUCCION
1
Prof: Melania Solís
DEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES-FEC
ARQUITECTURA DE MAQUINAS I
Es posible hacer que el microprocesador cambie el contenido del apuntador de
instrucción y de esta manera ejecutar una instrucción que no es la siguiente en
el mapa de memoria. Este procedimiento es llamado instrucción de salto.
Las instrucciones de saltos son usadas para saltar entre diferentes localidades
de memoria. Estos saltos se pueden hacer de forma específica o pueden ser
condicionados mediante la prueba del estado de cuatro bits del registro de
banderas.
PROCEDIMIENTO
ORG 100h
Donde: COM: significa que vamos a trabajar con un archivo tipo .com, que es el
formato más simple de un archivo ejecutable. Para leer un poco más sobres
esto, lea el tutorial. Cuando trabajamos con un archivo de este tipo tenemos
que usar la directiva ORG que indica en qué dirección comenzará el programa.
Generalmente por defecto, el programa comienza en 0700:0100
El valor de CS es puesto por el sistema operativo que este caso es 0700h, y el
origen es el 0100h dentro del segmento de código.
2
Prof: Melania Solís
DEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES-FEC
ARQUITECTURA DE MAQUINAS I
3. Copie las siguientes instrucciones en orden
mov ax,ffffh
mov bx,ax
mov dl,ah
mov dh, 100
hlt
4. Luego compile y simule el programa utilizando el botón de la derecha
Compile and Emulate.
5. Para este programa en particular se verá un error de compilación, por lo
tanto no podrá ser simulado. Observe qué tipo de error es y repárelo
sustituyendo en la línea de error el valor correcto.
Error corregido:
3
Prof: Melania Solís
DEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES-FEC
ARQUITECTURA DE MAQUINAS I
6. Nuevamente compilemos y simulemos el programa y en este caso pasará
directamente a la pantalla del simulador.
7. Observe la pantalla del simulador y la pantalla del programa fuente que se
está simulando.
8. Observe los registros principales del microcomputador 8086. también se
puede observar la pila o stack, la ALU, el registro de banderas. Dentro del
menú View (extended Value Viewer) se pueden ver y cambiar los registros y
los contenidos de memoria.
9. Corra el programa paso a paso (single step) y observe cómo cambian los
registros.
10. ¿Cómo cambia el registro IP?
12. ¿Cuántos bytes tiene la primera instrucción? Tiene 3 bytes ¿Cuántos bytes
tiene la segunda instrucción? 2 byte ¿Cuántos bytes en total tiene el
programa? En total tiene 10 bytes Puede guardar el programa si lo desea.
13. Abra un nuevo archivo y escriba ahora las siguientes instrucciones en el
simulador:
mov ah,'b'
mov al,30h
mov bx,ax
mov [bx],33h
mov [bx+2],33h
mov cx,[bx]
hlt
14. Observe nuevamente como cambian los registros y las direcciones de
memoria afectadas utilizando la ventana Extended Value Viewer. Anote los
bytes de cada instrucción y sume en total el número de bytes que contiene
el programa.
4
Prof: Melania Solís
DEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES-FEC
ARQUITECTURA DE MAQUINAS I
15. Anote en una tabla como la siguiente los cambios ocurridos en los
registros.
var1 dw 3354h
var2 db 77h
5
Prof: Melania Solís