introduccion emu8086 v1.3 - inicio - departamento de ... · 4.3 documentación emu8086 ... dad de...

16
Introd ducc F Di ión a Facultad d igital al ento Departam de Cs. Ex U l II orno mento de xactas, In Universid emu e Sistema Escuela ngeniería dad Nacio No8086 as e Infor a 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

Upload: dangphuc

Post on 11-May-2018

238 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 2: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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 

Page 3: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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.

Page 4: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 5: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 6: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

ú ,

Page 7: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 8: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 9: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 10: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 11: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 12: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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 –

Page 13: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 14: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

Page 15: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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

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

Page 16: Introduccion emu8086 v1.3 - Inicio - Departamento de ... · 4.3 Documentación emu8086 ... dad de doc bajando. las o templa antiguo de 0h (256 byte código par y Windows vanzado de

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.