introduccion_emu8086_v1_3

Upload: anacco

Post on 31-Oct-2015

280 views

Category:

Documents


0 download

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.