tarea-1

5
1 TAREA 1 “ARITMETICA PARA BCD Y ASCII”. Conocer el manejo de los caracteres ASCII para la presentación en pantalla de los resultados. Practicar el uso de ajustes para las operaciones aritméticas en modo decimal. 1 Computadora con el programa EMU8086. 1) Abra el emu8086. 2) Revise la sintaxis de las instrucciones AAA, AAS y DAA en el simulador pulsando la tecla F1 y dando clic en el título “8086 Instruction set”. 3) Minimice la ventana y regrese al emulador, en la barra de menú seleccione “ascii codes” e identifique en la tabla de caracteres ASCII los números en ASCII hexadecimal que les corresponde a los números del 0 al 9 y anótelos a continuación (al dar clic en cualquier parte de la ventana puede intercambiar entre ver los datos ASCII en su correspondiente decimal o hexadecimal): ____________________________________________________________________________________ ____________________________________________________________________________________ 4) Digite el PROGRAMA 1 en el simulador: este es un ejemplo de uso de AAA Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Microprocesadores. Objetivos específicos Materiales y equipo Procedimiento Microprocesadores. Tarea 1

Upload: orlando-chavez

Post on 24-Sep-2015

214 views

Category:

Documents


0 download

DESCRIPTION

microprocesad

TRANSCRIPT

  • 1TAREA 1 ARITMETICA PARA BCD Y ASCII.

    Conocer el manejo de los caracteres ASCII para la presentacin en pantalla de los resultados. Practicar el uso de ajustes para las operaciones aritmticas en modo decimal.

    1 Computadora con el programa EMU8086.

    1) Abra el emu8086.

    2) Revise la sintaxis de las instrucciones AAA, AAS y DAA en el simulador pulsando la tecla F1 y dando clic en el ttulo 8086 Instruction set.

    3) Minimice la ventana y regrese al emulador, en la barra de men seleccione ascii codes e identifique en la tabla de caracteres ASCII los nmeros en ASCII hexadecimal que les corresponde a los nmeros del 0 al 9 y antelos a continuacin (al dar clic en cualquier parte de la ventana puede intercambiar entre ver los datos ASCII en su correspondiente decimal o hexadecimal):

    ____________________________________________________________________________________

    ____________________________________________________________________________________

    4) Digite el PROGRAMA 1 en el simulador: este es un ejemplo de uso de AAA

    Facultad: Ingeniera.Escuela: Electrnica.Asignatura: Microprocesadores.

    Objetivos especficos

    Materiales y equipo

    Procedimiento

    Microprocesadores. Tarea 1

  • 2PROGRAMA 1.model small.stack.dataoperando1 db 39h ; 39h codigo ascii del 9 decimaloperando2 db 39h resultadoascii db 2 dup (?) ;reserva dos byte para el resultado.codemov ax, @DATA ;indica donde estan los datos que se van a operarmov ds, ax mov ax,0 mov al,operando1add al,operando2aaa ;ajuste ascii despues de sumar 2 bytes asciiadd ax,3030hmov resultadoascii, ahmov resultadoascii+1,al mov ax,4c00hint 21hend

    5) D clic sobre EMULATE y abra la ventana de variables (en el botn vars), debera visualizar 3 elementos: operando1, operando2 y resultadoascii, seleccione en las opciones de Show as de cada variable, la visualizacin ASCII, en la variable resultadoascii tambin cambie elements a 2.

    6) Corra el programa paso a paso hasta antes de ejecutar la operacin AAA, observe el estado del acumulador y de las banderas, especialmente AF ____________________

    7) Ejecute la instruccin de ajuste y observe el estado del acumulador (AX) y las banderas en este momento especialmente CF y AF ____________________

    8) Ejecute todo el programa

    9) Observe el contenido de la variable resultadoascii

    10) Modifique el programa anterior poniendo como operandos los nmeros 34h y 32h

    11) Repita el procedimiento de los pasos 5 al 9 y describa las diferencias en los estados del acumulador y las banderas AF y CF

    12) Copie el PROGRAMA 2 que es una aplicacin del ajuste AAS

    Microprocesadores. Tarea 1

  • 3PROGRAMA 2.model small.stack.dataoperando1 db 36h ; 36h codigo ascii del 6 decimaloperando2 db 32h resultadoascii db 2 dup (?) ;reserva dos byte para el resultado.codemov ax, @DATA ;indica donde estan los datos que se van a operarmov ds, ax mov ax,0 mov al,operando1sub al,operando2aasadd ax,3030hmov resultadoascii, ahmov resultadoascii +1, almov ax,4c00hint 21hend

    13) Repita el paso 5.

    14) Corra el programa paso a paso hasta antes de ejecutar la operacin AAS, observe el estado del acumulador y de las banderas, especialmente AF y CF _________________________________

    15) Ejecute la instruccin de ajuste y observe el estado del acumulador y las banderas en este momento especialmente CF y AF ____________________

    16) Ejecute todo el programa

    17) Observe el contenido de la variable resultadoascii

    18) Cambie los operandos de modo que el operando2 sea mayor que operando1 y ejecute el programa por qu se da este resultado?

    19) Copie el PROGRAMA 3 que es una aplicacin de ajuste DAA

    PROGRAMA 3.model small.stack.dataoperando1 db 99hoperando2 db 98hresultadoBCD dw 0 .codemov ax, @DATA ;indica donde estan los datos que se van a operar

    Microprocesadores. Tarea 1

  • 4mov ds, ax mov ah,00mov al,operando1mov bl,operando2add al,bldaaadc ah,00mov resultadoBCD, AXmov ax,4c00hint 21h

    end

    20) D clic sobre EMULATE y abra la ventana de variables (en el botn vars), debera visualizar 3 variables: operando1, operando2 y resultadoBCD, seleccione en las opciones de Show as la visualizacin HEXA para las tres variables y que solo se muestre un elemento.

    21) Corra el programa paso a paso hasta antes de ejecutar la operacin DAA, observe el estado del acumulador y de las banderas, especialmente AF y CF.

    22) Ejecute la instruccin de ajuste y observe el estado del acumulador y las banderas en este momento especialmente CF y AF ____________________

    23) Cul es el propsito de la suma del acumulador AH con 00h? (ADC AH, 00H) __________________________________________________________________________________________________________

    24) Ejecute todo el programa

    25) Observe el contenido de la variable resultadoBCD

    26) Cambie los operandos por cualquier dato comprendido entre 01h y 99h y compruebe los resultados

    PROGRAMA 1

    1- Para qu se realiza la instruccin ADD AX, 3030h?2- En qu formato de decimal (empaquetado o no empaquetado) se da el resultado, despus del ajuste,

    en AAA?3- Cree un programa en ensamblador que haga el ajuste a ASCII sin utilizar la instruccin AAA4- Hacer un programa que sume tres nmeros de tres bytes que se recibieron por el teclado (ASCII) y

    quedaron almacenados a partir de la localidad 0800h, guarde el resultado en ASCII a partir de la direccin 0820h (Tenga en cuenta que los mximos nmeros a sumar son 393939+393939+393939)

    Microprocesadores. Tarea 1

    Anlisis de Resultados

  • 5PROGRAMA 2

    1- En qu formato de decimal (empaquetado o no empaquetado) se da el resultado, despus del ajuste, en AX?

    2- Cmo puede arreglarse el hecho de tener un resultado negativo en el programa y que no me afecte la presentacin del resultado en pantalla? (Haga un programa de la solucin).

    PROGRAMA 3

    1- En qu formato de decimal (empaquetado o no empaquetado) se da el resultado despus del ajuste DAA?

    2- Cul es el propsito de la suma del acumulador AH con 00h? (ADC AH, 00H)3- Hacer un programa que sume tres nmeros decimales de tres bytes almacenados a partir de la

    localidad 0900h, guarde el resultado en decimal a partir de la direccin 0920h (Tenga en cuenta que los mximos nmeros a sumar son 999999+999999+999999)

    Presente las respuestas a las preguntas que se le realizaron en el procedimiento.

    Investigue Sobre las otras instrucciones de ajuste que tiene el microprocesador 8086: DAS, AAD y

    AAM

    Investigue cmo convertir un nmero de decimal a hexadecimal y trate de hacer un programa de

    conversin con nmeros ASCII como entrada para este programa, pueden ser de 8 bits.

    Haga un programa que permita multiplicar nmeros de 3 dgitos decimales y que brinde la

    respuesta en decimal.

    Ayuda del EMU8086 (Instrucciones del 8086).

    Alfredo Rojas Ponce. Ensamblador Bsico. Editorial Computec. Primera edicin. 1993. Cap. 6 , pags. 177 191 Clasificacin UDB: 001.6404 R471 1993.

    Barry B. Brey. Los microprocesadores Intel, Arquitectura, programacin e interfaces. Editorial Prentice Hall, Tercera Edicin. Clasificacin UDB: 001.6404 B847 1997.

    Microprocesadores. Tarea 1

    Bibliografa

    Investigacin Complementaria