Sei sulla pagina 1di 3

EMU8086, características y funcionamiento

(Junio de 2020)
Cardenas Sebastián, Fonseca Rafael, Huilca Marlene

6 bytes para instrucciones y el 8088 solo posee 4.


Resumen- El emualdor EMU8086, nos permite Exteriormente la diferencia es que el 8086 tiene un
realizar la simulación del microprocesador 8086, para bus de 16 bits y el 8088 su bus es de 8 bits, por lo
la cual se utiliza el lenguaje ensamblador ( asm ) con tanto, el 8086 es más rápido, aunque el 8088 permite
el fin de ver el funcionamiento y los procesos que la fabricación de sistemas más económicos. En la
realiza el emulador en cada paso y, entender cómo primera computadora personal de IBM fue utilizado
el microprocesador 8088, la IBM PC.
trabajan los registros con ejemplos sencillos que
faciliten la compresión del microprocesador.
Características
Key words- EMU8086, datos, asm,
− El 8086 dispone de instrucciones especiales para
instrucciones, registros. el tratamiento de cadenas de caracteres.

− Los registros del 8086 tienen una misión


I. INTRODUCCIÓN específica, por lo que se podría decir que cada

E l objeto de investigación de este artículo es


uno de ellos tiene su propia personalidad, aunque
varios comparten tareas comunes.

Emular el comportamiento del microprocesador − El encapsulado del 8086 está formado por 40
8086. patillas, simplificando así el hardware, aunque
por contra, es necesario la multiplicación del bus
Instruirse en el uso básico del software para la
de datos con el de direcciones.
simulación de programas aptos para el aprendizaje.
Adquirir nociones básicas del lenguaje ensamblador − El 8086 requiere una señal de reloj exterior,
(asm). siendo 5 y 8 Mhz las frecuencias típicas de
Implementar un programa sencillo en lenguaje funcionamiento.
ensamblador.
− El 8086 dispone de un conjunto de registros,
Analizar el comportamiento del software. denominados ‘cola de instrucciones’, en el cual
se van almacenando de forma anticipada los
Que es el EMU8086 códigos de las instrucciones, consiguiendo que
este aumente su velocidad de trabajo.
El emulador EMU8086 es el primer programa que se
− El 8086 dispone de una arquitectura “pipe line”,
utiliza en el curso de Microprocesadores. se ha es decir, que la CPU puede seguir leyendo
elegido este emulador porque posee una interfaz de instrucciones en los tiempos en que el bus no se
usuario muy amistosa que permite familiarizarse con utiliza
los fundamentos de la programación en lenguaje
ensamblador de forma muy intuitiva, aparte de eso Estructura Interna
brinda una serie de recursos para ejecutar y depurar
los programas. También tiene algunas desventajas Unidad de interfaz del bus y unidad de ejecución
como el de no soportar algunas de las interrupciones El 80886 y el 8088 tienen internamente dos
más interesantes que posee el sistema operativo y componentes, la Unidad de Interfaz del Bus (BIU) y
tampoco puede acceder a los puertos físicos (reales), la Unidad de ejecución (EU). La Unidad de ejecución
sino que los emula usando otros programas que ya procesa las instrucciones del CPU, mientras que la
están incluidos en su respectiva carpeta. Unidad de Interfaz del Bus maneja la lectura y
escritura desde y hacia la memoria y los puertos de
entrada/salida. La ventaja de esta división fue el
El Intel 8086 y el Intel 8088 son los primeros
ahorro de esfuerzo necesario para producir el 8088.
microprocesadores de 16 bits diseñados por Intel. Son
Sólo una mitad del 8086 (el BIU) tuvo que rediseñarse
los primeros miembros de la arquitectura x86. Fue
para producir el 8088. Registros de uso general del
lanzado al mercado en 1978 y el 8088 en 1979. El
8086/8088:
8086 y 8088 ejecutan el mismo número de
instrucciones. Comparándolos internamente son
idénticos a excepción del 8086 que posee una cola de
1
II. DIAGRAMAS
Tienen 16 bits cada uno y son ocho:
Diagrama Esquemático y Arquitectura
AX= Registro acumulador, dividido en AH y AL (8
bits cada uno). Usándolo se produce (en general) una
8086
instrucción que ocupa un byte menos que si se
utilizaran otros registros de uso general. Su parte más
baja, AL, también tiene esta propiedad. El último
registro mencionado es el equivalente al acumulador
de los procesadores anteriores (8080 y 8085).
Además, hay instrucciones como DAA; DAS; AAA;
AAS; AAM; AAD; LAHF; SAHF; CBW; IN y OUT
que trabajan con AX o con uno de sus dos bytes (AH
o AL). También se utiliza este registro (junto con DX
a veces) en multiplicaciones y divisiones.

BX= Registro base, dividido en BH y BL. Es el


registro base de propósito similar (se usa para
direccionamiento indirecto) y es una versión más
potente del par de registros HL de los procesadores
anteriores.

CX= Registro contador, dividido en CH y CL. Se


utiliza como contador en bucles (instrucción LOOP),
en operaciones con cadenas (usando el prefijo REP) y
en desplazamientos y rotaciones (usando el registro
CL en los dos últimos casos).

DX= Registro de datos, dividido en DH y DL. Se


utiliza junto con el registro AX en multiplicaciones y
divisiones, en la instrucción CWD y en IN y OUT
para direccionamiento indirecto de puertos (el
registro DX indica el número de puerto de
entrada/salida).

SP= Puntero de pila (no se puede subdividir). Aunque


es un registro de uso general, debe utilizarse sólo
como puntero de pila, la cual sirve para almacenar las
direcciones de retorno de subrutinas y los datos
temporarios (mediante las instrucciones PUSH y
POP). Al introducir (push) un valor en la pila a este
registro se le resta dos, mientras que al extraer (pop)
un valor de la pila este a registro se le suma dos.

BP= Puntero base (no se puede subdividir).


Generalmente se utiliza para realizar
direccionamiento indirecto dentro de la pila.

SI= Puntero índice (no se puede subdividir). Sirve


como puntero fuente para las operaciones con
cadenas. También sirve para realizar
direccionamiento indirecto.
III. EXPLICACIÓN DE CÓDIGO FUENTE
DI= Puntero destino (no se puede subdividir). Sirve
como puntero destino para las operaciones con Hello World: Este ejemplo imprime "hola
cadenas. También sirve para realizar mundo!" escribiendo directamente a la memoria de
direccionamiento indirecto. video. En la memoria vga: el primer byte es el
carácter ascii, el byte que sigue es el atributo del
carácter. Si cambia el segundo byte, puede cambiar
el color de el personaje incluso después de que se
imprime el atributo de carácter es un valor de 8 bits,
4 bits altos establecen el color de fondo y 4 bits bajos
establecen el color de primer plano.

2
Despues de ejecutar el emulador el programa nos
devuelve como resultado un texto en rojo, subrayado
en amarillo que dice "Hello World!" REFERENCIAS

Comparador de números: Este ejemplo muestra [1] Hwang, C. L., & Masud, A. S. M. (2012).
cómo la instrucción cmp establece las flags por lo Multiple objective decision making—
general, la instrucción cmp es seguida por cualquier methods and applications: a state-of-the-art
pariente instrucción de salto como: je, ja, jl, jae ... En survey (Vol. 164). Springer Science &
este ejemplo se ingresa un número cualuiera y el Business Media.
programa lo compara con el número 5 por que asi fue
como se lo programó, por lo tanto para las siguientes
comparaciones se tiene como numero de referencia [2] Liu, Y. C., & Gibson, G. A. (1986).
el 5. Microcomputer systems: the 8086/8088
family architecture, programming and
Al abrir la pantalla de texto nos muestra un mensaje
para que escribamos un número, luego presionamos design.
enter y nos indica el valor del número si es igual a 5,
menor que 5 o mayor que 5.. [3] Asm_mododir2.pdf. (s. f.). Recuperado 4
de junio de 2020, de
IV. Metodología https://www.cs.buap.mx/~mgonzalez/asm_
mododir2.pdf.
El EMU8086 nos ha ayudado a entender de forma
basica de lo que es el lenguaje esamblador (asm), para [4] Mostafa, G. (2013). Desarrollo de un
lo caul se analizó y comprendio ejemplo que sistema de aprendizaje por microprocesador
requerian de una estructura más compleja en el de 16 bits utilizando la arquitectura Intel
codigo, como es el caso del ejemplo que el EMU8086 8086. 2013 2da Conferencia Internacional
te provee que es el de semaforos, ya que se puede sobre Avances en Ingeniería Eléctrica
ivendenciar los moviemitos de los coches y la misma (ICAEE). doi: 10.1109 /
organizacion como si fueran de verdad. icaee.2013.6750323.

Para lo cual se propuso a investigar las instrucciones


de cada registro que tiene el microprocesador, y se lo
detallo en este informe para tener un mejor
conociemnto de las variables o de la estrucuta de cada
insrucción mediante ejemplos.

V. Resultados

El EMU8086 permite la oportunidad de simular


programas capaces de ser ejecutados por el
microprocesador 8086 diseñado por Intel. El software
posee una interfaz gráfica que permite observar los
registros, la pila de memoria, entre otros. Esto es una
ayuda en el caso de tener errores en la ejecución del
programa, ya que se puede observar el
comportamiento interno y permite encontrar los
errores de código.

VI. Conclusión

Se cumplió nuestro objetivo acerca de desarrollar


ejemplos básicos donde se evidencie el lenguaje
ASM, esto debido a las investigaciones realizadas
referentes a este lenguaje, su funcionamiento y
características. De esta manera nuestra aplicación
Hello World esta listo para ser usado.

Potrebbero piacerti anche