Manual Emu

download Manual Emu

of 10

Transcript of Manual Emu

  • 8/12/2019 Manual Emu

    1/10

  • 8/12/2019 Manual Emu

    2/10

    Gua1 2

    Figura 1: Ventana inicial del emu8086

    2) Presione el botn que indicaNew.

    3) Observar una ventana donde escribir sus futuros programas, llamados engeneral cdigo fuente.

    4) Desde ah se puede crear un nuevo documento. Observe la figura 2 Choosecode template

    Figura 2

  • 8/12/2019 Manual Emu

    3/10

    Gua1 3Se le presentarn seis opciones, elija empty workspace. Observar (apyeseen la Figura 3) una ventana con la clsica barra de men (File, Edit, etc.) conalgunos elementos distintivos (Compile, Emulator, Math, etc.) as como unaserie de botones que le permiten abrir un nuevo archivo, compilar, emular yotras funciones tiles. En el texto observar dos lneas de comando que son un

    encabezado necesario para crear un archivo tipo COM.

    Figura 3

    5) Seleccione en la barra de men la opcin EMULATOR y en sta SHOWEMULATOR. Se abrir una ventana donde podr observar diferentes elementos(apyese en la Figura 4 para interpretar informacin). Algunos botones quepermiten realizar acciones como: cargar (load), recargar (reload), ejecutarpaso a paso (single step)y ejecutar (run). Tambin podr ver, en la partecentral, tres columnas en las que se detalla el contenido de los registros del8086, el contenido de la memoria y el programa desensamblado. Abajo podracceder a la pantalla de usuario (user screen), el cdigo fuente (actualsource), la Unidad Aritmtica y Lgica (ALU), la Pila (stack)y el registro debanderas (flags)o estados.

    6) Cierre la ventana del emulador, pero no cierre la ventana del cdigo fuente.

    NOTA: las direcciones de memoria estn escritas en el formato de segmento y desplazamiento

  • 8/12/2019 Manual Emu

    4/10

    Gua1 4

    Figura 4

    7) Ahora analice el siguiente cdigo fuente (llamado PRIMER PROGRAMA),ayudndose de los comentarios y del diagrama de flujo que lo acompaa.Intente predecir cada cambio que tendrn los datos hexadecimales en losregistros del microprocesador.

    PRIMER PROGRAMA#MAKE_COM#ORG 100h

    mov AH, 7Ah ;carga AH con 7Ahmov BL, 99 ;carga BL con 99mov CL, 11001111b ;carga CL con 11001111b

    mov AX, 100 ;carga AX con 100mov BX, A ;carga BX con carcter Amov CX, 0ABCDh ;carga CX con ABCDhmov DX, 6540 ;carga DX, con 6540

    ret ;termina el programa

    8) Abra el archivo fuente llamado guia01.asm, como notar es el mismo programaque previamente analiz.

    9) Usando el botn respectivo compile el cdigo fuente, note que el programa leinforma que crear un archivo con extensin COM.

    INICIO

    AH = 7Ah

    BL = 99

    CL = 11001111b

    AX = 100

    BX = A

    CX = 0ABCDh

    DX = 6540

    FIN

  • 8/12/2019 Manual Emu

    5/10

    Gua1 5Qu nombre la asigna el sistema al archivo .COM? __________________

    10)Si no se dan errores de compilacin proceda a emular el programa. Analice lainformacin que se le presenta auxilindose de la Figura 5.

    11)Puede observar una copia del cdigo fuente en el que se marca la lnea de

    instruccin que ser ejecutada. Tambin puede ver en la ventana del emuladorel contenido de los registros, la memoria y el programa desensamblado. Sitiene problemas para interpretar esta informacin, por favor solicite asistenciapor parte de su instructor.

    Figura 5

    12)Copie los datos almacenados en los registros antes de ejecutar el programa:

    AX: BX: CX: DX:

    CS: DS: ES: SS:

    BP: IP: SP

    DI: SI:

    13)Ejecute el programa totalmente (RUN) y anote los datos resultantes. Verifiquesi concuerdan con los datos que usted esperaba.

    AX: BX: CX: DX:

    CS: DS: ES: SS:

    BP: IP: SP

    DI: SI:

  • 8/12/2019 Manual Emu

    6/10

    Gua1 614)Cargue nuevamente el programa, observe el contenido de los registros, sobre

    todo el contenido de CS e IP. Analice sus observaciones comparndola con laque aparece en la TABLA 1. Si tiene dudas por favor solicitar asistencia de suinstructor.

    15)Ejecute solo la primera instruccin (Single step). Observe los cambios (sobre

    todo en CS e IP) se carg el dato esperado en AH?

    16) Interprete la informacin de la TABLA 1 respecto de sus resultados

    17)Contine ejecutando paso a paso el programa hasta la instruccin RET, almismo tiempo llene los espacios vacos de la TABLA 1. Si tiene dudas en estaactividad, por favor solicite la asistencia de su instructor.

    18)Contine ejecutando las instrucciones hasta concluir el programa.

    DIRECCIONES LENGUAJE DEMQUINA

    LENGUAJEENSAMBLADOR

    SEGM(CS) OFFSET CAMPOS LINEA0B56 0100 B4 7 mov AH, 7A

    mov BL, 99mov CL, 11001111bmov AX, 100mov BX, 78mov CX, 0ABCDhmov DX, 6540ret

    NOTA: A partir de este punto el programa ejecuta un procedimientopredeterminado llamado Interrupcin.0B56 0000 INT 20HF400 0150

    TABLA 1

    19)Cierre la ventana del emulador, pero no cierre la ventana del cdigo fuente.

    20)Cree un archivo nuevo, tipo COM y escriba el cdigo llamado SEGUNDOPROGRAMA, despus de su respectivo encabezado, no olvide los tabuladores.

  • 8/12/2019 Manual Emu

    7/10

    Gua1 7SEGUNDO PROGRAMANOTA: Observe que la instruccin MOV se ha escrito de diferentes formas.

    M [BX +1] = AL

    CX = M [BX]]

    INICIO

    DX = 112h

    BX = DX

    AL = A

    AH = 61h

    M [BX] = AH

    FIN

    #MAKE_COM#ORG 100h

    MOV DX, 0112h ; Carga dato inmediato en DXMOV BX, DX ; Copia DX en BX, movimiento entre

    ;registrosMOV AL, 'A' ; Almacena carcter en ALMOV AH, 61h ; Guarda dato en AHMOV [BX], AH ; Almacena en direccin indicada por

    ; DS:BX, indirecto

    MOV [BX+1], AL ; Almacena dato relativo a base, DS:BX+1MOV CX, [BX] ; Copia el dato de la direccin en CX

    ;registro, indirecto

    RET ; fin del programa

    21)Emule el programa y antes de ejecutarlo anote en la TABLA 2 el contenido delas direcciones que tienen desplazamiento 0112h y 0113h, as como elcontenido de CX en la columna Inicio. Ms adelante se retomar este puntopara comparar los cambios en los datos.

    22)Corra paso a paso el programa hasta antes de ejecutar la quinta instruccin,tratando de predecir las acciones que se realizarn, auxilindose de loscomentarios de cada instruccin, si tiene problemas consulte con instructor.

    23)Observe y anote en la TABLA 2 los resultados de su observacin

    24)Ejecute la quinta instruccin, anote los resultados.

    25)Ejecute paso a paso el resto de instrucciones, tomando nota de los resultados.

    SEG(DS)

    OFFSET Inicio delprograma

    Antes de5

    Despusde 5

    Despusde 6

    Despusde 7

    0112h0113h

    REGISTRO CXTABLA 2

    26)Cargue nuevamente el programa.

    27)Ejecute paso a paso el programa, anotando en la TABLA 3 el valor de cada datoque se le solicite, tomando como referencia el procedimiento con el quecomplet la TABLA 1.

    28)Cierre la ventana del emulador, pero no cierre la ventana del cdigo fuente.

  • 8/12/2019 Manual Emu

    8/10

    Gua1 8DIRECCIONES LENGUAJE DE MQUI LENGUAJE ENSAMBLADOR

    SEGM OFFSET CAMPOS LINEA

    TABLA 3

    29)Escriba un nuevo programa .COM y digite el cdigo llamado TERCERPROGRAMA.

    30)Emule y ejecute el programa (run) y note la informacin que se presenta en lapantalla de usuario, debe observar un carcter A con un color para el fondo ypara el carcter. Anote esa informacin.

    __________________________________________________________________

    __________________________________________________________________

    TERCER PROGRAMA

    M [BX] = CX

    INICIO

    AX = 0B800hDS = AX

    CL = ACH = 1101111b

    BX = 15Eh

    FIN

    #make_com#Org 100h

    MOV AX, 0B800hMOV DS, AX

    MOV CL, 'A'MOV CH, 11011111bMOV BX, 15Eh

    MOV [BX], CX ; Copia contenido de CX en la;direccin (B800:015E) DS:BX

    RET

    31)Modifique el programa sustituyendo el dato que se almacena en BX (15Eh) por10Eh y corra el programa.

    32)Observe y describa como afect el cambio al funcionamiento del programa.

    __________________________________________________________________

  • 8/12/2019 Manual Emu

    9/10

    Gua1 933)Modifique ahora el dato almacenado en CH, cambindolo por 11010000b y

    observe su efecto, anote sus observaciones.

    __________________________________________________________________

    __________________________________________________________________

    34)Vuelva a cambiar CH, ahora por 10011110b, observe y describa el cambio.

    __________________________________________________________________

    __________________________________________________________________

    35)Pruebe a hacer algunos cambios en CH, CL y BX, anote sus observaciones:

    __________________________________________________________________

    __________________________________________________________________

    36)Notifique a su instructor que ha terminado la prctica.

    a) Primer programa.

    En el encabezado del programa por qu se incluye la lnea org 100h?Al introducir datos en los registros del microprocesador se usan diferentes formatos(bases de numeracin) cuntos y cules son?La sintaxis de la instruccin MOV define tres campos: instruccin, dato1 y dato2. Almoverse los datos cul es la fuente y cual el destino?Al observar la tabla1 se nota que a la misma instruccin MOV se le asignan diferentescdigos hexadecimales a qu se debe esto?Cul es la funcin que cumple el registro IP dentro del PRIMER PROGRAMA?En la columna OFFSET de la tabla1, stos no se incrementan a una razn constantepor qu?

    b) Segundo programa.

    Al comparar las dos primeras instrucciones qu diferencias hay al ejecutarlas, siendoque las dos son MOV?En las ltimas tres instrucciones se incluyeron corchetes (parntesis cuadrados) en las

    instrucciones Qu diferencias observ en su ejecucin respecto a las primeras dosinstrucciones?Por qu al ejecutar la sptima instruccin los datos se almacenan en CX en ese ordenespecfico?

    c) Tercer programa.

    Al ejecutar el programa, a medida que haca las modificaciones qu efecto concretologra el cambio en el registro BX?

    Anlisis de resultados

  • 8/12/2019 Manual Emu

    10/10

    Gua1 10Al modificar CH qu bits especficos se modificaron para lograr cambios en el fondo ycolor de los caracteres?

    Esta actividad debe desarrollarse posteriormente a la ejecucin de la gua delaboratorio y tiene por objetivo complementar y ampliar la temtica desarrollarateniendo en mente las actividades futuras.

    Investigue:

    Qu son los modos de direccionamiento?

    Cuntos y cules modos de direccionamiento tiene el microprocesador 8086?

    Qu modos de direccionamiento posee la instruccin MOV?

    Qu diferencias hay entre las instrucciones XCHG ya la instruccinMOV?

    Brey, B. B. Los Microprocesadores Intel. 8086 / 8088, 80186, 80286, 80386 y 80486.Arquitectura, programacin e interfaces, Prentice Hall, Mxico DF, 19953Biblioteca UDB 001.6404 B847 1997

    Bibliografa

    Investigacin complementaria

    http://biblio.udb.edu.sv/asp/getFicha.asp?glx=369.glx&skin=&recnum=1&maxrecnum=3&searchString=(@authors%20BREY)%20and%20(@buscable%20S)&orderBy=tituloorder%5ba%5d&pg=1&biblioteca=http://biblio.udb.edu.sv/asp/getFicha.asp?glx=369.glx&skin=&recnum=1&maxrecnum=3&searchString=(@authors%20BREY)%20and%20(@buscable%20S)&orderBy=tituloorder%5ba%5d&pg=1&biblioteca=http://biblio.udb.edu.sv/asp/getFicha.asp?glx=369.glx&skin=&recnum=1&maxrecnum=3&searchString=(@authors%20BREY)%20and%20(@buscable%20S)&orderBy=tituloorder%5ba%5d&pg=1&biblioteca=http://biblio.udb.edu.sv/asp/getFicha.asp?glx=369.glx&skin=&recnum=1&maxrecnum=3&searchString=(@authors%20BREY)%20and%20(@buscable%20S)&orderBy=tituloorder%5ba%5d&pg=1&biblioteca=http://biblio.udb.edu.sv/asp/getFicha.asp?glx=369.glx&skin=&recnum=1&maxrecnum=3&searchString=(@authors%20BREY)%20and%20(@buscable%20S)&orderBy=tituloorder%5ba%5d&pg=1&biblioteca=