Upload
dangphuc
View
238
Download
1
Embed Size (px)
Citation preview
Introdducc
F
Di
ión a
Facultad d
igital
al ento
Departam
de Cs. ExU
l II
orno
mento de
xactas, InUniversid
emu
e SistemaEscuela
ngenieríadad Nacio
Nov
8086
as e Infora de Elect y Agrime
onal de R
Ing. André
Ing. Dieg
Ing. Esteb
viembr
6
mática trónica ensura
Rosario
és Capalbo
o Alegrechi
ban Almirón
e 2010
o
i
n
0
Universidad Nacional de Rosario FCEIA Digital II
Noviembre 2010 Introducción al emu8086 2 de 16
Tabla de contenidos 1 Introducción .................................................................................................................... 3 2 Instalación del entorno .................................................................................................. 3
2.1 Emu8086 .................................................................................................................................. 3 2.1.1 Windows XP ..................................................................................................................... 3 2.1.2 Windows Vista y 7 ............................................................................................................ 4
2.2 Dispositivos Virtuales de Digital II ............................................................................................ 4
3 Utilización del entorno ................................................................................................... 5 4 El Emulador ..................................................................................................................... 8
4.1 Mapa de memoria .................................................................................................................. 10 4.1.1 Custom Memory Map ..................................................................................................... 10 4.1.2 Interrupciones ................................................................................................................. 11 4.1.3 Puertos de entrada/salida ............................................................................................... 12
4.2 Dispositivos Virtuales (DVIO) ................................................................................................. 13 4.2.1 DVIO Digital II ................................................................................................................. 13 4.2.2 Documentación de los Dispositivos Virtuales ................................................................. 13 4.2.3 Ejemplo – Problema Resuelto ........................................................................................ 14 4.2.4 Ejemplo – Dispositivos Tanque y Pulsadores ................................................................. 14
4.3 Documentación emu8086 ...................................................................................................... 15 4.3.1 Set de instrucciones 8086 .............................................................................................. 16
Tabla de Figuras Figura 1 – Instalación DVIO ....................................................................................................................... 4 Figura 2 – Archivo de configuración dvio.ini ............................................................................................... 5 Figura 3 – Ventana de inicio del emu8086 ................................................................................................. 5 Figura 4 – Elección del tipo de template .................................................................................................... 6 Figura 5 – Ventana principal emu8086 ...................................................................................................... 7 Figura 6 – Editor de código fuente ............................................................................................................. 7 Figura 7 – Código fuente durante la emulación ......................................................................................... 7 Figura 8 – Emulador .................................................................................................................................. 8 Figura 9 – Extended Viewer ....................................................................................................................... 9 Figura 10 – Flags y mapa de memoria .................................................................................................... 10 Figura 11 – Emulador, código fuente ....................................................................................................... 10 Figura 12 – Custom Memory Map ............................................................................................................ 10 Figura 13 – Interrupt Vector Table (IVT) .................................................................................................. 11 Figura 14 – Emulador – Interrupción por Hardware ................................................................................. 12 Figura 15 – Dispositivos Virtuales – Digital II ........................................................................................... 13 Figura 16 – Ayuda Dispositivos Virtuales ................................................................................................. 14 Figura 17 – Ejemplo de dispositivos virtuales y emulador ........................................................................ 15 Figura 18 – Documentación y tutoriales emu8086 ................................................................................... 15
Universidad Nacional de Rosario FCEIA Digital II
Noviembre 2010 Introducción al emu8086 3 de 16
1 Introducción Hasta el año 2009 en la cátedra de Digital II hemos utilizado la herramienta MASM 6.11 para la realización del segundo trabajo práctico de assembler. A partir del año 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 programación en assembler utilizado anteriormente en la cátedra (MASM), este entorno corre sobre Windows y cuenta con una interfaz gráfica muy amigable e intuitiva que facilita el aprendizaje el leguaje de programación 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 comunicación 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 semáforos, un termómetro, un motor paso a paso, etc. No obstante, la cátedra ha desarrollado dispositivos adicionales con características particulares para la realización del segundo trabajo práctico.
Se muestra a continuación una tabla comparativa con las diferencias entre el entorno de programación en assembler utilizado anteriormente en la cátedra (MASM 6.11) y el nuevo emu8086:
Emu 8086 Microsoft Assembler (MASM 6.11)
Entorno educativo Entorno para producción 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 Instalación del entorno En la cátedra de Digital 2 utilizaremos el emu8086 pero de manera combinada con dispositivos virtuales desarrollados por la cátedra. Por esta razón será necesario descargar de la página de la cátedra e instalar dos programas.
2.1 Emu8086 En primer lugar descargar el archivo instalador del emu8086 de la página web de la cátedra 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 instalación teniendo en cuenta los comentarios siguientes.
2.1.1 Windows XP Para la instalación en Windows XP no es necesario tener cuenta ninguna consideración en particular, sólo 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 discoubicacióProgram
Al haberarchivo HW_INT
2.2 DAdicionaadicionadebe des
Instalar lemu8086
Luego dubicació
1 Por defecrazón parade seguridSecurity demás bajo (defecto.
ad Nacional de
e 2010
torio de instaen la raíz 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://ww
los DVIO (Di6, ver por eje
e finalizado n correcta de
cto Windows Via poder editar edad y protecciónebajo de User A(Never notify) y
Rosario
alación por del disco C:
8086.hw
8086.io
Vista y 7 XP no es po
vitar esta situstalación de
o sitio de ins8086\emu808FILE=c:\emu8
vos Virtuas dispositivos los utilizadoa página 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 cuuación, en elel programa,
stalación dis86.ini lo8086.hw para
ales de Dis nativos deos en el Trala cátedra e
unr.edu.ar/do
Virtuales de Ea 1.
Figura
de instalaciónos emu8086.
en modificar arc086.ini luego de Windows. Para
ol hacer click enahora el archiv
FCEIA
ción al emu808
C:\emu8086.
uestiones de momento dpor ejemplo
stinto al props valorea indicarle al
igital II l emu8086,
abajo Prácticinstalar el si
ownloads/dig
Entrada/Salid
a 1 – Instalac
n se debe edio y emu808
chivos ubicadose la instalacióna esto ir a Contn Change Settinvo emu8086.in,
6
Adicionalme
e seguridad, e la instalaco otra partic
puesto por des del emu8086 la
la cátedra dco N°2. Paraguiente arch
gital_II/Digi2I
da) en el mis
ción DVIO
ditar el archi86.hw.
s directorio Archse debe previa
rol Panel Syngs. Llevar la bluego de esto re
ente, los sig
que el emu8ión del emu8
ción (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:\emu80cación 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 raízbe 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 tenía 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
ilizaciónciar el entorón (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
ción al emu808
rchivo de con
archivo emu
entana de in
e diferentes
6
nfiguración 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 f
so de hacer
COM temejecutabrazón seutilizacióPrompt.
EXE temejecutabEste tempila predPrompt. definido
BIN tempde todosCuando archovo "MY.BINque el eregistrostengan e
BOOT tepredefinisector). direccióndesde 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, típicamene 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 opción “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 cargaráque el valor
o encuentre o de la ejecento CS:IP.
ectiva #makebicar el códigiferencia co
a 0000:7c00h
resolución demplates prempty workspa
o a la ventanks, assemble
FCEIA
ción al emu808
o código en
er a una seriey la programaowser y perm
archivos con
ofrece traba
Elección del
_com#): es chivos se carectiva ORG hivos. Forma
_exe#): estes en cuanto programa exarchivo está automáticam
bin#): es un aos y el lugar lador carga al archiver inicial conf
al archivo cución 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 programación 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 tamaño 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
ráctico un temn el emu808
del emuladorrios botones
ensamblado
mas ejemploembler. r gran varie
se estuvo tra
rentes plantil
plate
más simple yoffset de 10
omienzo del do por DOS
mato más 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 (“Código F
s muy útiles
edad de doc
abajando.
las o templa
y antiguo de00h (256 byte
código parS y Windows
vanzado dey número de entos de códs y Windowschivo cuando
e. Permite deargará a estel emulado
cación 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 (bootcódigo en launa IBM PC
rabajaremosventana se
arra de menúNew, 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, Ccódigo fu
Para verde ejempel botón
Luego, adicho (Ffuente d
ad Nacional de
e 2010
ompile o Emuente de ass
r rápidamentplo, el C:\emrápido “exam
al presionar eFigura 8 – Emurante la em
Rosario
mulate. Esta sembler.
te las principmu8086\exammples”.
el botón “Emmulador) y la
mulación).
Fig
Introduc
ventana es
Figura 5 –
pales funcionmples\1_sam
Figura 6mulate” se aba otra muest
gura 7 – Cód
FCEIA
ción al emu808
en definitiva
Ventana prin
nes del emumple.asm o “
– Editor de c
brirán dos nura el código
digo fuente du
6
a un editor de
ncipal emu80
8086 procedHello, world”
código fuente
uevas ventanfuente dura
urante la em
e texto que
086
demos a abr” si optamos
e
nas, una es ente la emula
mulación
permite crea
rir uno de lospor seleccio
el emulador pación (Figura
Digital II
7 de 16
ar y editar el
s programasonarlo desde
propiamentea 7 – Código
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, peprogram
External
Virtual dede un emson simu
Virtual dFDD virt
Help, act
de la barra d
Load: ca
Reload: código, t
Single sinstrucci
DireccFísic
Rosario
or código 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: permitón.
iones cas
CódMáquin
Introduc
emulador alción:
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) Máq
FCEIA
ción 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
Código 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 físicos
as unidades v
ones con las
M, etc. ya ex
ejecutar el mmente,
ones una a
Código Máquina(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 CóDesens
o inte
se tendrá ac
siguientes o
ndo o ejecuta
meración.
uda al ejecu
ntes del EMU
grama, dadoutadora, por
almacenamie
funciones:
la primer in
iéndose 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
strucción 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 pebotón 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 código r8 veremos quma insume 3
on el código 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ó
mbién es poscutar el progr
se observan 8086. Dura
emás, al hacver el conte
mal, etc.).
Figura
es, el de la izla codificación ver las inst
mblador.
resaltado enue la instruc3 bytes de có
máquina de101h y 0710
emulador, sar instruccióuenta que euando se nec
a del emulados Flag, el bla pila.
FCEIA
ción 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 muón hexadecimtrucciones de
azul muestción a ser ejódigo máquiel 8086 para
02h) represen
se pueden toón aquellos el valor de locesita forzar
dor se puedebotón Aux pe
6
ón que ya fu
es una a une al presionar
menú “debug”el lugar dond
s, a la izquieución de un
click sobre agistro repres
ded Viewer
estra el códimal, decimale assembler
tra la próximjecutada 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 máquina l y ASCII de pero con las
ma instruccióMOV AX, 00ro en la direc
ción MOV AXde 16 bits “0
stros del micue se hayase puede m
ación 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 ección física 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 físicase código. Ens y etiquetas
ecutada. Porl panel de la07100h es elque los dosransferido al
or y su valordo se veránámicamentela evolución
dad, el botónmemoria, 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 códig
el procesoamblado (cóte 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 podría e
finición del mizarlo como
Rosario
a principal dego fuente:
o de debugdigo fuente
nstrucción.
memoria 8086 cuen
de memoria
por defecto BM compati
el rápido usoealización de
Memory Mapefinir mapas un archivo e_memory_maestar definido
mapa de memguía en la
Introduc
Figura 10 –el emulador
Figura 11
g (depuraciócon 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 extrresolución d
NO_SYS0000:0ffff:0
FCEIA
ción al emu808
– Flags y ma
(Figura 8 –
– Emulador,
ón) se podrciones/etique
bus de diree.
e memoria el emu8086 aje del emu8
os prácticos y
a a medida sio raíz del eespecifique cente forma:
2 – Custom M
rajo del probde los proble
_INFO 000 - IVT000 - Arr
6
apa de memo
Emulador) s
, código 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 cós) y finalme
20 bits, es
equivalenteal Memory Tacátedra de Dumno deberá
omo “Custommado customá conformado
p
to de ejemploabajo Práctic
ventana com
ódigo fuenteente el códig
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 cáteco N°2. Una
Digital II
10 de 16
mplementaria
e, el códigogo máquina
por lo tanto
iste en unan este mapautilizaremos
propio mapa
Map”, y para_map.inf (ej.Por ejemplo,
edra entregaa explicación
a
o a
o
a a s a
a . ,
a n
Universida
Noviembre
más detacomo dela IVT, esección 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 códigoel resultado d
Interrupciolas posibilid
ciones, que vos externos
rrupciones aas interrupcioambién perm, la presencisituaciones sciones son m
procesador rte fin presenusadas por lda. El tipo de
se producendo y proceción, pero para ubicada ción específira en lugar eue los tipos dellas de encu
Interrupt Vse encuentraa subrutina aos al código
Rosario
odrá encontraar el mapa dpunteros (IP
nes). Ademáo 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 ejecución interrupción
e una interruede a ejecuara esto, el mesta porcióica debe obespecífico dde interrupciuentran dos v
Vector Tablea al principio asociada a lade la interrup
Introduc
ar en este eje memoria.
P y CS) a caás a partir diente con Aación de arch
ofrece el emlos mecanis
cución del pren manejar
ver situacionvisión por ce
os de interrue la misma fo
terrupciones astilla del mic de la instr
n puede ser c
upción, el mutar una po
micro debe pn de código
btener el CSel espacio diones van devalores CS e
e del espacio
a interrupciópción Tipo 1
Figura 13 –
FCEIA
ción al emu808
jemplo, peroEn este caso
ada una de lade la direc
Arranque.binhivos de cód
mu8086 a dmos de los
rograma en reventos ext
nes de errorero dispara apciones por orma por el m
por hardwarcroprocesadrucción “INTcualquier núm
microprocesaorción de córimero 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 básicamento, en la primas subrutinacción física . Como se pigo fuente.
diferencia decuales disp
respuesta a eternos, prover al ejecutarautomáticamhardware y
microprocesa
re a través 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 posicións de atencióFFFF0h (o
puede ver, s
el MASM 6.one el 8086
eventos exteenientes de r una deter
mente una iny por softwarador.
de líneas o pque las inten es el tipo
0 y 255.
la ejecuciónpendiente 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 interrulógica FFF
se utilizan a
11 es la sim6 para comu
ernos o una cdispositivosminada instterrupción Tre, pero amb
ines particulaerrupciones po de interru
n del códigosociado cona de programbrutina asocma. Esta info(Interrupt Ve6 posiciones
bytes contencontendrán e
Digital II
11 de 16
al emu8086e encontrarápciones (verFF:0000) serchivos .bin,
mulación deunicarse con
condición de externos alrucción, por
Tipo 0. Estasbos tipos de
ares propiaspor software
upción a ser
o que venía el tipo de
ma dónde seciada a unaormación seector Table).s, y en cada
ndrán 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 defautomát
Cuando superior
En la Fig
En el caaparición
4.1.3 PEl emu8mediantecomún pen este emu8086
Los puela documDispositi
ad Nacional de
e 2010
amos que sente forma paro, 4 x 5 = 2
osiciones má
ramador debción el flujo d
ue en la realizcree y defina
Interrupciórrupciones psador matem
rrupciones pra en 0. Cua“emu8086.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 utilizadomentación deivos Virtuales
Rosario
e ejecuta la iara obtener e0 (14h), estes arriba el C
be crear y dde programa
zación del sea la IVT.
ón por hardpor hardwaremático 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 unicación consí por ejem
os por los dise ayuda disps – Digital II.
Introduc
nterrupción 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
ción por hardo.
ra 14 – Emul
ejemplo de i
nes por softw
salida espacio de Eout. Para e
n los disposiplo el puert
spositivos viponible al ha.
FCEIA
ción al emu808
por softwaresociado con eserá la direcc
alores de lafectado.
ajo práctico s
radas por pe
tran deshabiemu8086 veytes leídos eubrutina de a
dware se eo una interrup
dware el em
lador – Interr
interrupción
ware el em
E/S y emulaesto, el emu8tivos virtualeto 100 de E
rtuales utilizacer click en
6
e tipo 5 (INT esa interrupcción física en
a IVT de for
se utilizarán
eriféricos ex
ilitadas cuanerifica contines distinto datención de
encuentran pción de hard
ulador lo ind
rupción por H
por hardwar
ulador no re
ar la comunic8086 utiliza es, tanto él cE/S corresp
zados en la cn el botón “A
5), el micropción, 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
cación con lel archivo e
como los disponde con e
cátedra se eAyuda” que s
procesador pca el tipo de encuentra el
te la existen
es será nece
rocontrolado
de Interrupcios primeros 25r ejemplo el ión 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á seinterrupciónIP (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 emu8devices”el 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
ción “INT:15”
Documentar los dispo8086\DVIO\dvos virtualesick en el botóntación será
Rosario
vos Virtuaa con 7 dispuentran map6.
ermiten simuIN y OUT y
za a través 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
tación de loositivos virtudocs\help.pds. Adicionalmón “Ayuda” qmuy útil al m
Introduc
ales (DVIOpositivos virtpeados en el
ular la comunde interrupcie los archivo
s nativos deos en el Tración según 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
ción al emu808
O) tuales accesl espacio de
nicación entriones por haos emu8086.
l emu8086, bajo Práctico
se indica en muestra la s
ispositivos V
e puede inici
una barra deo de aquellrmite modifi
n pedido de a “Atención.n lo mostrado
itivos Virtuaección 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 cátedra do N°2. Estosel punto 2.2iguiente vent
Virtuales – Di
iar el disposi
e desplazamos dispositicar la veloc
interrupción Hay interr
o en el emula
ales se crea unaripción y form
mación se enntana de la Fproblema del
e el menú dda y pueden
8086 y dispocomunicación86.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 prác
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 ación de cadaponible en forener en cuenctico N°2.
Digital II
13 de 16
ntas “virtualconjunto con
nos a travésispositivos 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 utilizntación se po
…\emu8
…\emu8
Ejemplo – nuación se mas del trabajprincipal de
ana del emuvos virtuales
Rosario
F
Problema umentación sará a disposiresultar de mzarlo como godrán encon
8086\DVIO\do
8086\DVIO\ej
Dispositivmuestra un jo práctico dl emu8086 dlador y cód
s propiament
Introduc
Figura 16 –
Resueltosobre el usoición un probmucha utilidaguía al momntrar en los s
ocs\Ejemplo
jemplo\ejem
vos Tanqueejemplo típi
de assembledonde se pueigo fuente, te dichos (tan
FCEIA
ción 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 entenresolución deectorios:
f
\
ores componentestura de panteditar el códigde selección
adores en est
uales
uales, luego lto y con expder cómo 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
ación de lospaso a paso.
dispositivoss archivos y
ución de lospuede ver lae ve tambiénrtuales 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
Editor de
Rosario
Figura 1
tación emcon gran canla ventana
umentation a
Figu
e texto
Códig
Introduc
17 – Ejemplo
mu8086 ntidad de docprincipal delnd tutorial se
ura 18 – Docu
go fuente
FCEIA
ción al emu808
o de dispositi
cumentación entorno (Fie abre el nav
umentación y
Emulado
DispVirtual P
6
ivos virtuales
n que se pueigura 5 – Vevegador y mu
y tutoriales e
r
positivo Pulsadores
Ve
s y emulador
ede acceder entana princiuestra la sigu
emu8086
entana de selede Dispositiv
r
desde “help”ipal emu808uiente panta
Dispositivo vTanque
ección vo
Digital II
15 de 16
” en el menú86). Al hacerlla:
virtual e
ú r
Universidad Nacional de Rosario FCEIA Digital II
Noviembre 2010 Introducción al emu8086 16 de 16
4.3.1 Set de instrucciones 8086 Como parte de la documentación del entorno se encuentra el set de instrucciones del 8086, como se puede ver en la Figura 18, en la parte superior de la página el link “8086 Instruction Set” permite ver la totalidad de instrucciones soportadas por el entorno y la descripción y ejemplo de uso de la mismas.
Adicionalmente en el apunte de “Microprocesadores y Microcontroladores” o la “Guía de Referencia Rápida del 80186” se encuentra el set de instrucciones completo y la descripción y función de cada instrucción.