introduccion_emu8086_v1_3
TRANSCRIPT
-
Introdducc
F
Di
in a
Facultad d
igital
al ento
Departam
de Cs. ExU
l II
orno
mento de
xactas, InUniversid
emu
e SistemaEscuela
ngenieradad Nacio
Nov
8086
as e Infora de Elect y Agrime
onal de R
Ing. Andr
Ing. Dieg
Ing. Esteb
viembr
6
mtica trnica ensura
Rosario
s Capalbo
o Alegrechi
ban Almirn
e 2010
o
i
n
0
-
Universidad Nacional de Rosario FCEIA Digital II
Noviembre 2010 Introduccin al emu8086 2 de 16
Tabla de contenidos 1 Introduccin .................................................................................................................... 32 Instalacin del entorno .................................................................................................. 3
2.1 Emu8086 .................................................................................................................................. 32.1.1 Windows XP ..................................................................................................................... 32.1.2 Windows Vista y 7 ............................................................................................................ 4
2.2 Dispositivos Virtuales de Digital II ............................................................................................ 4
3 Utilizacin del entorno ................................................................................................... 54 El Emulador ..................................................................................................................... 8
4.1 Mapa de memoria .................................................................................................................. 104.1.1 Custom Memory Map ..................................................................................................... 104.1.2 Interrupciones ................................................................................................................. 114.1.3 Puertos de entrada/salida ............................................................................................... 12
4.2 Dispositivos Virtuales (DVIO) ................................................................................................. 134.2.1 DVIO Digital II ................................................................................................................. 134.2.2 Documentacin de los Dispositivos Virtuales ................................................................. 134.2.3 Ejemplo Problema Resuelto ........................................................................................ 144.2.4 Ejemplo Dispositivos Tanque y Pulsadores ................................................................. 14
4.3 Documentacin emu8086 ...................................................................................................... 154.3.1 Set de instrucciones 8086 .............................................................................................. 16
Tabla de Figuras Figura 1 Instalacin DVIO ....................................................................................................................... 4Figura 2 Archivo de configuracin dvio.ini ............................................................................................... 5Figura 3 Ventana de inicio del emu8086 ................................................................................................. 5Figura 4 Eleccin del tipo de template .................................................................................................... 6Figura 5 Ventana principal emu8086 ...................................................................................................... 7Figura 6 Editor de cdigo fuente ............................................................................................................. 7Figura 7 Cdigo fuente durante la emulacin ......................................................................................... 7Figura 8 Emulador .................................................................................................................................. 8Figura 9 Extended Viewer ....................................................................................................................... 9Figura 10 Flags y mapa de memoria .................................................................................................... 10Figura 11 Emulador, cdigo fuente ....................................................................................................... 10Figura 12 Custom Memory Map ............................................................................................................ 10Figura 13 Interrupt Vector Table (IVT) .................................................................................................. 11Figura 14 Emulador Interrupcin por Hardware ................................................................................. 12Figura 15 Dispositivos Virtuales Digital II ........................................................................................... 13Figura 16 Ayuda Dispositivos Virtuales ................................................................................................. 14Figura 17 Ejemplo de dispositivos virtuales y emulador ........................................................................ 15Figura 18 Documentacin y tutoriales emu8086 ................................................................................... 15
-
Universidad Nacional de Rosario FCEIA Digital II
Noviembre 2010 Introduccin al emu8086 3 de 16
1 Introduccin Hasta el ao 2009 en la ctedra de Digital II hemos utilizado la herramienta MASM 6.11 para la realizacin del segundo trabajo prctico de assembler. A partir del ao 2010 hemos introducido una nueva herramienta llamada emu8086 reemplazando al MASM.
El emu8086 es un emulador del microprocesador 8086 (Intel o AMD compatible) con assembler integrado. A diferencia del entorno de programacin en assembler utilizado anteriormente en la ctedra (MASM), este entorno corre sobre Windows y cuenta con una interfaz grfica muy amigable e intuitiva que facilita el aprendizaje el leguaje de programacin en assembler.
Dado que en un entorno emulado de microprocesador no es posible implementar una interfaz real de entrada/salida, el emu8086 permite interfacear con dispositivos virtuales y emular una comunicacin con el espacio de E/S. Para esto, el emu8086 cuenta con una serie de dispositivos virtuales preexistentes en el software base, listos para ser utilizados, entre los que se encuentran una impresora, un cruce de calles con semforos, un termmetro, un motor paso a paso, etc. No obstante, la ctedra ha desarrollado dispositivos adicionales con caractersticas particulares para la realizacin del segundo trabajo prctico.
Se muestra a continuacin una tabla comparativa con las diferencias entre el entorno de programacin en assembler utilizado anteriormente en la ctedra (MASM 6.11) y el nuevo emu8086:
Emu 8086 Microsoft Assembler (MASM 6.11)
Entorno educativo Entorno para produccin y educativo.
Basado en Windows Basado en DOS
En forma nativa admite dispositivos virtuales.
No admite dispositivos virtuales en forma nativa
Set de instrucciones de 8086 Set de instrucciones del 8086, 80186/286/386/486
Directivas propias adicionales Directivas comunes con TASAM (Borland Turbo Assembler)
Emula interrupciones por Hw y Sw No permite emular interrupciones
Emula el espacio de E/S (instrucciones IN y OUT)
No permite emular el espacio de E/S
Permite emular interrupciones. No permite emular intrrupciones.
Herramientas adicionales para el debug
2 Instalacin del entorno En la ctedra de Digital 2 utilizaremos el emu8086 pero de manera combinada con dispositivos virtuales desarrollados por la ctedra. Por esta razn ser necesario descargar de la pgina de la ctedra e instalar dos programas.
2.1 Emu8086 En primer lugar descargar el archivo instalador del emu8086 de la pgina web de la ctedra el siguiente archivo:
http://www.dsi.fceia.unr.edu.ar/downloads/digital_II/EMU_Setup.zip Luego ejecutar el instalador y seguir los pasos de instalacin teniendo en cuenta los comentarios siguientes.
2.1.1 Windows XP Para la instalacin en Windows XP no es necesario tener cuenta ninguna consideracin en particular, slo basta con seguir los pasos indicados por el instalador y aceptar las configuraciones por defecto propuestas por el emu8086.
-
Universida
Noviembre
El directinstalan
2.1.2 En Winddel discoubicaciProgram
Al haberarchivo HW_INT
2.2 DAdicionaadicionadebe des
Instalar lemu8086
Luego dubicaci
1 Por defecrazn parade seguridSecurity dems bajo (defecto.
ad Nacional de
e 2010
torio de instaen la raz de
C:\emu8 C:\emu8
Windows Vdows Vista y o C. Para evn para la in
ma1.
r elegido otroc:\emu8
TERRUPT_F
Dispositivalmente a losales que sonscargar de la
http://wwlos DVIO (Di6, ver por eje
e finalizado n correcta de
cto Windows Via poder editar edad y proteccinebajo de User A(Never notify) y
Rosario
alacin por del disco C:
8086.hw
8086.io
Vista y 7 XP no es po
vitar esta situstalacin de
o sitio de ins8086\emu808FILE=c:\emu8
vos Virtuas dispositivos los utilizadoa pgina de l
ww.dsi.fceia.u
ispositivos Vemplo Figura
el proceso de los archivo
sta/7 no permiteel archivo emu8n de usuario deAccount Controaceptar. Editar
Introduc
defecto es C
osible, por cuuacin, en elel programa,
stalacin dis86.ini lo8086.hw para
ales de Dis nativos deos en el Trala ctedra e
unr.edu.ar/do
Virtuales de Ea 1.
Figura
de instalacinos emu8086.
en modificar arc086.ini luego de Windows. Para
ol hacer click enahora el archiv
FCEIA
cin al emu808
C:\emu8086.
uestiones de momento dpor ejemplo
stinto al props valorea indicarle al
igital II l emu8086,
abajo Prcticinstalar el si
ownloads/dig
Entrada/Salid
a 1 Instalac
n se debe edio y emu808
chivos ubicadose la instalacina esto ir a Contn Change Settinvo emu8086.in,
6
Adicionalme
e seguridad, e la instalaco otra partic
puesto por des del emu8086 la
la ctedra dco N2. Paraguiente arch
gital_II/Digi2I
da) en el mis
cin DVIO
ditar el archi86.hw.
s directorio Archse debe previa
rol Panel Syngs. Llevar la bluego de esto re
ente, los sig
que el emu8in del emu8
cin (D\:) o e
efecto, es nEMUPOR
a nueva ubic
e Digital II da poder utilizhivo:
IO_Setup.zip
smo directori
ivo dvio.ini y
hivo de Programamente modificaystem and Secuarra de desplazestaurar el nive
uientes dos
8086 se insta8086 se debel directorio
ecesario moRT=c:\emu80cacin de est
esarroll 10 zar estos dis
p
o en el cual
y modificar el
mas (o Program ar de manera terity Action Czamiento al nivel de seguridad a
Digital II
4 de 16
archivos se
ale en la razbe elegir otra
Archivos de
odificar en el086.io ytos archivos.
dispositivosspositivos se
se instal el
l path con la
Files), por estaemporal el nivel
Center, luego enel de seguridadal que tena por
e
z a e
l y
s e
l
a
a l
n d r
-
Universida
Noviembre
3 UtPara inicinstalaci
Luego de
ad Nacional de
e 2010
ilizacinciar el entorn (ej. c:\em
e iniciar el en
Rosario
Fi
n del entorno se deje
mu8086).
F
ntorno el em
Introduc
igura 2 Arc
orno ejecutar el a
Figura 3 Ve
mu8086 ofrec
FCEIA
cin al emu808
rchivo de con
archivo emu
entana de in
e diferentes
6
nfiguracin d
u8086.exe qu
icio del emu
opciones:
vio.ini
ue se encue
8086
entra en el d
Digital II
5 de 16
directorio dee
-
Universida
Noviembre
En el cas
En Digitacon ningdeber s
Luego dde Wind
ad Nacional de
e 2010
New: peextensi
Code exde apren
Quick sayuda.
Recent fso de hacer
COM temejecutabrazn seutilizaciPrompt.
EXE temejecutabEste tempila predPrompt. definido
BIN tempde todosCuando archovo "MY.BINque el eregistrostengan e
BOOT tepredefinisector). direccindesde el
al II utilizaremguno de estseleccionar la
e esto tendreows (file, ed
Rosario
ermite escribn .ASM)
xamples: pende a utilizar start tutor: l
file: muestra
click en New
mplate (direcble, tpicamene debe agre
n de este t
mplate (direcble. No tiene mplate permitdefinidos. Es
El ensambun segmento
plate (directis los registropor ejemplo"MY.BINF"
NF", al igual emulador nos al momentoen ese mome
emplate (direidos para ubLa nica d
n predefinida floppy disk.
mos para la os cuatro tea opcin em
emos accesodit, bookmark
Introduc
bir un nuevo
rmite accedeel entorno y
llama al bro
a los ltimos
w, el entorno
Figura 4 E
ctiva #make_nte estos arcegar la diretipo de arch
ctiva #makelimitaciones
te crear un pste tipo de ablador elige o de pila.
va #make_bos, segmentoo el ensamb
y cargarque el valor
o encuentre o de la ejecento CS:IP.
ectiva #makebicar el cdigiferencia co
a 0000:7c00h
resolucin demplates prempty workspa
o a la ventanks, assemble
FCEIA
cin al emu808
o cdigo en
er a una seriey la programaowser y perm
archivos con
ofrece traba
Eleccin del
_com#): es chivos se carectiva ORG hivos. Forma
_exe#): estes en cuanto programa exarchivo est automticam
bin#): es un aos y el lugar lador carga al archiver inicial conf
al archivo cucin del .B
e_boot#): fungo y que coinn la directivh. Este temp
el trabajo predefinidos enace.
na principal der, etc.) y var
6
n lenguaje e
e de programacin en assmite explora
n los cuales s
ajar con difer
tipo de temp
el formato mrgan con un 100h al co
ato soportad
e es el formal tamao d
xe simple cosoportado p
mente este
archivo ejecude memoriael archivo "
e "MY.BIN" igurado para"MY.BINF",
BIN y este c
nciona igual nciden con eva #make_bplate permite
rctico un temn el emu808
del emuladorrios botones
ensamblado
mas ejemploembler. r gran varie
se estuvo tra
rentes plantil
plate
ms simple yoffset de 10
omienzo del do por DOS
mato ms adel archivo yon los segmepor Windowstipo de arc
utable simplea donde se cMY.BIN" en en la ubic
a todos los rse utilizar
digo se ubi
de que un .l primer track
bin# es que e emular el b
mplate modif86, con lo c
r que cuentade uso frec
r (Cdigo F
s muy tiles
edad de doc
abajando.
las o templa
y antiguo de00h (256 byte
cdigo parS y Windows
vanzado dey nmero de entos de cds y Windowschivo cuando
e. Permite deargar a estel emulado
cacin esperegistros. En
el valor accar en los
BIN, pero utk de un flopp
carga el cbootedo de u
ficado y no trcual en esta
a con una bauente como
Digital II
6 de 16
Fuente con
al momento
cumentos de
tes:
e un archivoes). Por estara indicar las Command
e un archivosegmentos.
digo, datos ys Commando encuentra
efinir el valorte programa.r buscar el
ecificada enn el caso dectual de losvalores que
tiliza valorespy disk (bootcdigo en launa IBM PC
rabajaremosventana se
arra de menNew, Open,
n
o
e
o a a d
o . y d a
r . l
n e s e
s t
a C
s e
,
-
Universida
Noviembre
Save, Ccdigo fu
Para verde ejempel botn
Luego, adicho (Ffuente d
ad Nacional de
e 2010
ompile o Emuente de ass
r rpidamentplo, el C:\emrpido exam
al presionar eFigura 8 Emurante la em
Rosario
mulate. Esta sembler.
te las principmu8086\exammples.
el botn Emmulador) y la
mulacin).
Fig
Introduc
ventana es
Figura 5
pales funcionmples\1_sam
Figura 6mulate se aba otra muest
gura 7 Cd
FCEIA
cin al emu808
en definitiva
Ventana prin
nes del emumple.asm o
Editor de cbrirn dos nura el cdigo
digo fuente du
6
a un editor de
ncipal emu80
8086 procedHello, world
cdigo fuente
uevas ventanfuente dura
urante la em
e texto que
086
demos a abr si optamos
e
nas, una es ente la emula
mulacin
permite crea
rir uno de lospor seleccio
el emulador pacin (Figura
Digital II
7 de 16
ar y editar el
s programasonarlo desde
propiamentea 7 Cdigo
l
s e
e o
-
Universida
Noviembre
4 El Luego dvariedad
En la pa
Debajo d
ad Nacional de
e 2010
Emuladoe cargar el c
d de funcione
rte superior
File, perm Math, da Debug, p View, pe
program
External Virtual de
de un emson simu
Virtual dFDD virt
Help, actde la barra d
Load: ca Reload:
cdigo, t
Single sinstrucci
DireccFsic
Rosario
or cdigo en el es e informac
de la ventan
mite adminis
a acceso a un
provee herra
ermite abrir as.
, permite eje
evices, activmulador no sulados.
rive, da opciuales).
tiva la herram
e herramient
arga un arch
reinicia el ptodos los reg
step: permitn.
iones cas
CdMquin
Introduc
emulador alcin:
Fig
a se puede v
strar (cargar
na calculado
amientas para
otras venta
ecutar el prog
va los disposse tiene acce
ones para a
mienta de ay
tas hay una
ivo ejecutabl
programa y cgistros iniciali
te ejecutar l
digo na (HEX) Mq
FCEIA
cin al emu808
l hacer click
gura 8 Em
ver la barra d
o guardar) lo
ora y un conv
a depurar pr
nas que pue
grama con ot
itivos virtualeeso a los pue
dministrar la
yuda.
serie de boto
le EXE, COM
comienza a eizan nuevam
las instrucci
Cdigo quina (DEC)
C
6
en el en Em
ulador
de herramien
os archivos q
vertidor en ba
rogramas.
eden ser de
tras herramie
es con que certos fsicos
as unidades v
ones con las
M, etc. ya ex
ejecutar el mmente,
ones una a
Cdigo Mquina(ASCII)
mulate , s
ntas con las
que va crean
asas de num
e mucha ayu
entas diferen
cuenta el prode la compu
virtuales de a
s siguientes f
istente.
mismo desde
a una deten
a CDesenso inte
se tendr ac
siguientes o
ndo o ejecuta
meracin.
uda al ejecu
ntes del EMU
grama, dadoutadora, por
almacenamie
funciones:
la primer in
indose lue
digo samblado ermedio
Digital II
8 de 16
cceso a gran
pciones:
ando
utar depurar
U8086.
o que se tatalo que estos
ento (HDD y
struccin de
go de cada
n
r
a s
y
e
a
-
Universida
Noviembre
Vale la pest dep
Debajo dlos regiscontenid"Extendehexadec
Luego sede la meel panel ya resue
En ambejemplo,izquierdaB8, que bytes sigregistro A
A la izquactual. Lresaltadodurante del prog
En la paFlags pebotn stc
ad Nacional de
e 2010
Step banuevame
Run: pecontrol s
pena hacer npurando prog
de la barra dstros dispondo de los med Viewer" qcimal, octal, A
e pueden veemoria de prode la derech
eltas por part
os paneles, , en Figura 8a que la mismcoincide co
guientes (direAX.
uierda, en la Luego de cos en azul. el debug, esrama.
arte inferior dermite ver el ck muestra e
Rosario
ack: retrocedente.
ermite ejecutstep delay.
notar que tamgrama o ejec
de botones snibles en el mismos. Adeque permite ASCII, decim
er dos paneleograma con ha se puedente del ensam
el cdigo r8 veremos quma insume 3
on el cdigo ecciones 071
ventana delcada ejecutaTener en cu
sto es til cu
de la ventanaestado de lo
el estado de
Introduc
de a la ltim
ar todas las La ejecuci
mbin es poscutar el progr
se observan 8086. Dura
ems, al hacver el conte
mal, etc.).
Figura
es, el de la izla codificacin ver las inst
mblador.
resaltado enue la instruc3 bytes de c
mquina de101h y 0710
emulador, sar instrucciuenta que euando se nec
a del emulados Flag, el bla pila.
FCEIA
cin al emu808
ma instrucci
s instruccionen se detiene
sible, en el mrama hasta e
tres panelesante la ejecucer doble c
enido del reg
a 9 Extend
zquierda mun hexadecimtrucciones de
azul muestcin a ser ejdigo mquiel 8086 para
02h) represen
se pueden ton aquellos el valor de locesita forzar
dor se puedebotn Aux pe
6
n que ya fu
es una a une al presionar
men debugel lugar dond
s, a la izquieucin de un
click sobre agistro repres
ded Viewer
estra el cdimal, decimale assembler
tra la prximjecutada es na, el primera la instruccntan el dato
odos los regiregistros qu
os registros r alguna situa
en encontrarermite, por e
ue ejecutada
na a la velocr STOP.
, insertar une se encuen
rda se pueden programa, alguno de loentando en
go mquina l y ASCII de pero con las
ma instrucciMOV AX, 00ro en la direc
cin MOV AXde 16 bits 0
stros del micue se hayase puede m
acin particu
r varios botoejemplo, ver
a permitiend
cidad establ
break pointntra el cursor
e ver el estase puede
os registros distintas bas
y las direcccada byte des direcciones
n a ser eje003h, y en eccin fsica 0X, mientras 0003 a ser t
croprocesadoan modificadmodificar dinular durante
ones de utilidel mapa de
Digital II
9 de 16
do ejecutarla
ecida por el
t cuando ser (run until).
ado de todosmodificar else abre el
ses (binario,
iones fsicase cdigo. Ens y etiquetas
ecutada. Porl panel de la07100h es elque los dosransferido al
or y su valordo se vernmicamentela evolucin
dad, el botnmemoria, el
a
l
e
s l l ,
s n s
r a l s l
r n e n
n l
-
Universida
Noviembre
Junto coque mue
Durante desensaresultant
4.1 MComo sdireccion
El emu8arquitectpredefineste made memo
4.1.1 La posibesto se c:\emu80este arch
Esta defpara util
ad Nacional de
e 2010
on la ventanaestra el cdig
el procesoamblado (cte de cada in
Mapa de msabemos, el nar un mapa
8086 trae ptura de PC Iido facilita epa para la reoria.
Custom Mbilidad de dedebe crear u086\custom_hivo podra e
finicin del mizarlo como
Rosario
a principal dego fuente:
o de debugdigo fuente
nstruccin.
memoria 8086 cuen
de memoria
por defecto BM compati
el rpido usoealizacin de
Memory Mapefinir mapas un archivo e_memory_maestar definido
mapa de memgua en la
Introduc
Figura 10 el emulador
Figura 11
g (depuracicon direcc
ta con un ba de 1 Mbyte
un mapa dble, al cual e
o y aprendizae los trabajo
p de memorian el directorap.inf) que eo de la siguie
Figura 12
moria se extrresolucin d
NO_SYS0000:0ffff:0
FCEIA
cin al emu808
Flags y ma
(Figura 8
Emulador,
n) se podrciones/etique
bus de diree.
e memoria el emu8086 aje del emu8
os prcticos y
a a medida sio raz del eespecifique cente forma:
2 Custom M
rajo del probde los proble
_INFO 000 - IVT000 - Arr
6
apa de memo
Emulador) s
, cdigo fuen
r ver entonetas resultas
cciones de
predefinido llama Goba8086, en la ya que el alu
se conoce comu8086 llamcomo estar
Memory Map
lema resueltemas del Tra
.bin anque.bin
oria
e abre una v
nte
nces, el cs) y finalme
20 bits, es
equivalenteal Memory Tactedra de Dumno deber
omo Custommado custom conformado
p
to de ejemploabajo Prctic
ventana com
digo fuenteente el cdig
to permite p
e al que exable. Si bienDigital II no definir su p
m Memory Mm_memory_o el mapa. P
o que la cteco N2. Una
Digital II
10 de 16
mplementaria
e, el cdigogo mquina
por lo tanto
iste en unan este mapautilizaremos
propio mapa
Map, y para_map.inf (ej.Por ejemplo,
edra entregaa explicacin
a
o a
o
a a s a
a . ,
a n
-
Universida
Noviembre
ms detacomo dela IVT, eseccin encontraque es e
4.1.2 Una de interrupcdispositiv
Las intererror. Lamicro, taejemplo,ltimas sinterrupc
El micropara estson cauejecutad
Cuando procesaninterrupcencuentrinterrupcencuentrDado quuna de e
4.1.2.1 La IVT sCS de laasociado
ad Nacional de
e 2010
allada se poebe conformaes decir, los
Interrupcionar el cdigoel resultado d
Interrupciolas posibilid
ciones, que vos externos
rrupciones aas interrupcioambin perm, la presencisituaciones sciones son m
procesador rte fin presenusadas por lda. El tipo de
se producendo y procecin, pero para ubicada cin especfira en lugar eue los tipos dellas de encu
Interrupt Vse encuentraa subrutina aos al cdigo
Rosario
odr encontraar el mapa dpunteros (IP
nes). Ademo correspondde la compila
ones dades que oes uno de l
s.
lteran la ejecones permitemiten resolva de una divson ejemplo
manejadas de
recibe las inttes en la pala ejecucin interrupcin
e una interruede a ejecuara esto, el mesta porciica debe obespecfico dde interrupciuentran dos v
Vector Tablea al principio asociada a lade la interrup
Introduc
ar en este eje memoria.
P y CS) a cas a partir diente con Aacin de arch
ofrece el emlos mecanis
cucin del pren manejar
ver situacionvisin por ce
os de interrue la misma fo
terrupciones astilla del mic de la instr
n puede ser c
upcin, el mutar una po
micro debe pn de cdigo
btener el CSel espacio diones van devalores CS e
e del espacio
a interrupcipcin Tipo 1
Figura 13
FCEIA
cin al emu808
jemplo, peroEn este caso
ada una de lade la direc
Arranque.binhivos de cd
mu8086 a dmos de los
rograma en reventos ext
nes de errorero dispara apciones por orma por el m
por hardwarcroprocesadruccin INTcualquier nm
microprocesaorcin de crimero conoco. Antes de
S e IP dondede memoriae 0 a 255, ee IP de 16 bit
o de memorian Tipo 0, lue, ver Figura
Interrupt Ve
6
o bsicamento, en la primas subrutinaccin fsica . Como se pigo fuente.
diferencia decuales disp
respuesta a eternos, prover al ejecutarautomticamhardware y
microprocesa
re a travs dor, mientras
T n, donde mero entre 0
dor detiene digo indepcer dentro de
e poder ejece se encueny se conoce
esta tabla cuts cada uno.
a y los primeego el offset 13.
ector Table (I
te este archiera posicins de atenciFFFF0h (o
puede ver, s
el MASM 6.one el 8086
eventos exteenientes de r una deter
mente una iny por softwarador.
de lneas o pque las inten es el tipo
0 y 255.
la ejecucinpendiente ase la memoriacutar la subntra la misme como IVT enta con 25
eros cuatro b04h y 06h c
IVT)
ivo le indica del mapa se
n de interrulgica FFF
se utilizan a
11 es la sim6 para comu
ernos o una cdispositivosminada instterrupcin Tre, pero amb
ines particulaerrupciones po de interru
n del cdigosociado cona de programbrutina asocma. Esta info(Interrupt Ve6 posiciones
bytes contencontendrn e
Digital II
11 de 16
al emu8086e encontrarpciones (verFF:0000) serchivos .bin,
mulacin deunicarse con
condicin de externos alruccin, por
Tipo 0. Estasbos tipos de
ares propiaspor software
upcin a ser
o que vena el tipo de
ma dnde seciada a unaormacin seector Table).s, y en cada
ndrn el IP yel IP y el CS
6 r e ,
e n
e l r s e
s e r
a e e a e . a
y S
-
Universida
Noviembre
Supongala siguiepor cuaty dos po
El progrinterrupc
Dado qualumno c
4.1.2.2 Las intecoproces
Las interencuentrarchivo microproconfigura
Por defautomt
Cuando superior
En la Fig
En el caaparicin
4.1.3 PEl emu8mediantecomn pen este emu8086
Los puela documDispositi
ad Nacional de
e 2010
amos que sente forma paro, 4 x 5 = 2
osiciones m
ramador debcin el flujo d
ue en la realizcree y defina
Interrupcirrupciones psador matem
rrupciones pra en 0. Cuaemu8086.h
ocesador traado en la IVT
fecto, la inicamente cu
se produce de la ventan
gura 14 se pu
aso de las n de la mism
Puertos de8086 permitee las instrucpara la comu
archivo, as6.io.
rtos utilizadomentacin deivos Virtuales
Rosario
e ejecuta la iara obtener e0 (14h), estes arriba el C
be crear y dde programa
zacin del sea la IVT.
n por hardpor hardwaremtico 8087.
por hardwareando el IF esw, si algunnsfiere el coT.
nterrupcionesando se est
una interrupcna del mismo
Figuruede ver un
interrupcionma.
e entrada/se utilizar el ecciones in y unicacin cons por ejem
os por los dise ayuda disps Digital II.
Introduc
nterrupcin pel IP y CS ase resultado s
CS (00016h).
definir los vano se vea a
egundo traba
dware e son gener
e se encuentst en 1, el
no de los byontrol a la su
s por hard ejecutando
cin por hardo.
ra 14 Emulejemplo de i
nes por softw
salida espacio de Eout. Para e
n los disposiplo el puert
spositivos viponible al ha.
FCEIA
cin al emu808
por softwaresociado con eser la direcc
alores de lafectado.
ajo prctico s
radas por pe
tran deshabiemu8086 veytes ledos eubrutina de a
dware se eo una interrup
dware el em
lador Interr
interrupcin
ware el em
E/S y emulaesto, el emu8tivos virtualeto 100 de E
rtuales utilizacer click en
6
e tipo 5 (INT esa interrupccin fsica en
a IVT de for
se utilizarn
erifricos ex
ilitadas cuanerifica contines distinto datencin de
encuentran pcin de hard
ulador lo ind
rupcin por H
por hardwar
ulador no re
ar la comunic8086 utiliza es, tanto l cE/S corresp
zados en la cn el botn A
5), el micropcin, multiplicn la cual se e
rma que ant
interrupcione
xternos, micr
ndo el Flag duamente los
de cero, porla interrupci
habilitadas, dware o soft
ica mediante
Hardware
e tipo 15.
ealiza ningu
cacin con lel archivo e
como los disponde con e
ctedra se eAyuda que s
procesador pca el tipo de encuentra el
te la existen
es ser nece
rocontrolado
de Interrupcios primeros 25r ejemplo el in tipo 15 e
pero se ware.
e una leyend
una adverten
os dispositivemu8086.io cpositivos leeel byte 100
ncuentran dse ve en la
Digital II
12 de 16
proceder seinterrupcinIP (00014h)
ncia de una
esario que el
res o por el
ones (IF) se56 bytes delbyte 15, el
en base a lo
deshabilitan
da en la para
ncia ante la
vos virtualescomo medion y escribendel archivo
escriptos enFigura 15
e n )
a
l
l
e l l
o
n
a
a
s o n o
n
-
Universida
Noviembre
4.2 DEl emu8devicesel emula
Estos disde las inel emu80
4.2.1 DAdicionaadicionadisponibLuego de
Al hacerinteractu
En la vela velocimportanvelocida
Cuando la parteinterrupc
4.2.2 DAl instal(\emu8dispositivhacer clidocumen
ad Nacional de
e 2010
Dispositiv8086 cuenta que se encador del 8086
spositivos penstrucciones 086 se realiz
DVIO Digitalmente a losales que son bles luego dee iniciar los d
r click en caduar con el em
ntana de la cidad temponte, por ejemd de llenado
alguno de lo inferior de
cin INT:15
Documentar los dispo8086\DVIO\dvos virtualesick en el botntacin ser
Rosario
vos Virtuaa con 7 dispuentran map6.
ermiten simuIN y OUT y
za a travs d
tal II s dispositivoslos utilizado
e su instalacdispositivos v
Fi
da uno de losmu8086.
Figura 15 seoral de commplo en los
o o vaciado d
os dispositivo la ventana, esto debe
tacin de loositivos virtudocs\help.pds. Adicionalmn Ayuda qmuy til al m
Introduc
ales (DVIOpositivos virtpeados en el
ular la comunde interrupcie los archivo
s nativos deos en el Tracin segn svirtuales se m
igura 15 D
s botones se
e puede ver mportamientos Timers pedel mismo.
os genera ua la leyendacoincidir con
os Disposiales (ver sef) de ayuda
mente, esta mque se obsemomento de
FCEIA
cin al emu808
O) tuales accesl espacio de
nicacin entriones por haos emu8086.
l emu8086, bajo Prctico
se indica en muestra la s
ispositivos V
e puede inici
una barra deo de aquellrmite modifi
n pedido de a Atencin.n lo mostrado
itivos Virtuaeccin 2.2) scon la descr
misma informrva en la venresolver el p
6
sibles desdeentrada/sali
re el micro 8ardware. La c.io y emu808
la ctedra do N2. Estosel punto 2.2iguiente vent
Virtuales Di
iar el disposi
e desplazamos dispositicar la veloc
interrupcin Hay interr
o en el emula
ales se crea unaripcin y form
macin se enntana de la Fproblema del
e el men dda y pueden
8086 y dispocomunicacin86.hw.
e Digital II ds nuevos dis2 Dispositivotana:
igital II
itivo y este e
miento Speedvos donde
cidad de cue
n hacia el emrupciones peador (ver Fig
a carpeta quma de utilizacuentra dispFigura 15. Te trabajo prc
de herramien utilizar en c
sitivos externn entre los d
esarroll 10 spositivos seos Virtuales
estar en con
d que permla variable
enta o en e
mu8086 se pendientes ygura 14)
ue contiene acin de cadaponible en forener en cuenctico N2.
Digital II
13 de 16
ntas virtualconjunto con
nos a travsispositivos y
dispositivose encuentrande Digital II.
ndiciones de
ite modificartiempo es
el tanque la
puede ver eny el tipo de
una archivoa uno de losrmato http alnta que esta
l n
s y
s n .
e
r s a
n e
o s l
a
-
Universida
Noviembre
4.2.3 EAl igual mismos,Este mavirtualesdocumen
4.2.4 EA continproblemaventana la ventadispositiv
ad Nacional de
e 2010
Ejemplo que la docu se encontra
aterial podr s y para utilizntacin se po
\emu8 \emu8
Ejemplo nuacin se mas del trabajprincipal de
ana del emuvos virtuales
Rosario
F
Problema umentacin sar a disposiresultar de mzarlo como godrn encon
8086\DVIO\do
8086\DVIO\ej
Dispositivmuestra un jo prctico dl emu8086 dlador y cd
s propiament
Introduc
Figura 16
Resueltosobre el usoicin un probmucha utilidagua al momntrar en los s
ocs\Ejemplo
jemplo\ejem
vos Tanqueejemplo tpi
de assembledonde se pueigo fuente, te dichos (tan
FCEIA
cin al emu808
Ayuda Dispo
o de los dispblema de ejead al momen
mento de la riguientes dire
Resuelto.pdf
plo_resuelto
e y Pulsadoico de los cr. En la captede crear y ela ventana dnque y pulsa
6
ositivos Virtu
positivos virtuemplo resuelnto de entenresolucin deectorios:
f
\
ores componentestura de panteditar el cdigde seleccin
adores en est
uales
uales, luego lto y con expder cmo se
el problema
s utilizados alla de la Figgo funte de an de los diste caso).
de la instalaplicaciones pe utilizan los del TP2. Lo
en la resoluigura 17 se pasembler, sepositivos vir
Digital II
14 de 16
acin de lospaso a paso.
dispositivoss archivos y
ucin de lospuede ver lae ve tambinrtuales y los
s . s y
s a n s
-
Universida
Noviembre
4.3 DEl emu8de herraclick en
ad Nacional de
e 2010
Document086 cuenta c
amientas en help docu
Editorde
Rosario
Figura 1
tacin emcon gran canla ventana
umentation a
Figu
etexto
Cdig
Introduc
17 Ejemplo
mu8086 ntidad de docprincipal delnd tutorial se
ura 18 Docu
gofuente
FCEIA
cin al emu808
o de dispositi
cumentacin entorno (Fie abre el nav
umentacin y
Emulado
DispVirtualP
6
ivos virtuales
n que se pueigura 5 Vevegador y mu
y tutoriales e
r
positivoPulsadores
Ve
s y emulador
ede acceder entana princiuestra la sigu
emu8086
entanadeseledeDispositiv
r
desde helpipal emu808uiente panta
DispositivovTanque
eccinvo
Digital II
15 de 16
en el men86). Al hacerlla:
virtuale
r
-
Universidad Nacional de Rosario FCEIA Digital II
Noviembre 2010 Introduccin al emu8086 16 de 16
4.3.1 Set de instrucciones 8086 Como parte de la documentacin del entorno se encuentra el set de instrucciones del 8086, como se puede ver en la Figura 18, en la parte superior de la pgina el link 8086 Instruction Set permite ver la totalidad de instrucciones soportadas por el entorno y la descripcin y ejemplo de uso de la mismas.
Adicionalmente en el apunte de Microprocesadores y Microcontroladores o la Gua de Referencia Rpida del 80186 se encuentra el set de instrucciones completo y la descripcin y funcin de cada instruccin.