informe laboratorio 1.doc

Upload: macopla

Post on 14-Apr-2018

276 views

Category:

Documents


3 download

TRANSCRIPT

  • 7/30/2019 Informe laboratorio 1.doc

    1/18

    PRACTICA N1 MICROPROCESADORES Y MICROCONTROLADORES

    MARISOL CONTRERAS PLAZAS

    COD. 1049606701

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

    ESCUELA DE CIENCIAS BASICAS, TECNOLOGIA E INGENIERIA ECBTI

    TUNJA

    2012

  • 7/30/2019 Informe laboratorio 1.doc

    2/18

    INTRODUCCION

    El ingeniero electrnico realiza simulaciones de procesos llevados a cabo por

    los microprocesadores. Se puede hacer uso de simuladores para hacer un

    acercamiento a un proceso de control que pueda llevar a cabo una maquina

    industrial. O simular maquinas procesadoras de datos simplemente. En la

    presente obra el autor realiza una presentacin del simulador SIMUPROC y se

    lleva a cabo la simulacin de una maquina calculadora bsica. Se presentan

    las instrucciones utilizadas por el programa y las instrucciones que sern

    utilizadas para la ejecucin del programa. Adems se har uso del software

    Visio para la realizacin de diagramas de flujo.

  • 7/30/2019 Informe laboratorio 1.doc

    3/18

    DESARROLLO DE LA PRCTICA

    CALCULADORA BASICA

    Empecemos con la descripcin del programa:

    Este empieza mostrando el nombre del programa y preguntando por la

    operacin a realizar.

    Luego se lee la variable OP y dependiendo del dato ingresado elprograma se va por uno de los cuatro ramales o subrutinas de cada una

    de las cuatro operaciones.

    Cada una de estas cuatro operaciones consta bsicamente del ingreso

    de los dos operandos a y b y su lectura, luego la operacin respectiva

    y por ltimo la salida a pantalla del resultado obtenido.

    Luego de salir de la operacin, o si no se digita una operacin correcta,

    el programa pregunta si quiere continuar o salir.

    Despus se lee la variable SALIR y luego a travs de un condicional se

    finaliza o se contina con el programa.

    Ahora veamos el diagrama de flujo:

  • 7/30/2019 Informe laboratorio 1.doc

    4/18

    SI

    NO

    SI

    NO

    SI

    NO

    SI

    NO

    NO

    INGRESE LA OPERACION

    OP =SUMA

    ?

    OP =RESTA?

    OP =MULTI

    P?

    OP =DIV?

    SALIR O CONTINUAR

    SALIR= SI ?

    INGRESAR

    OPERANDOS

    SUMA=

    a+b

    MOSTRAR

    SUMA

    INGRESAR

    OPERANDOS

    RESTA =

    a-b

    MOSTRAR

    RESTA

    INGRESAR

    OPERANDOS

    MULTIPLIC.=a*b

    MOSTRAR

    MULTIPLIC

    INGRESAR

    OPERANDOS

    DIVISION

    =

    a/b

    MOSTRAR

    DIVISION

    INICIOCALCULADORA BASICA

    LEA OP

    LEA a y b

    LEA a y b

    LEA

    a y b

    LEA

    a y b

    LEA SALIR

  • 7/30/2019 Informe laboratorio 1.doc

    5/18

    SI

    Despus de tener el diagrama de flujo de lo que queremos hacer, entonces

    empezamos a trabajar en assembler el cdigo fuente el cual se trabaj en

    Simuproc en su editor 2. El cdigo fuente es:

    #SimuProc 1.4.3.0

    MSG Calculadora Bsica

    INC 041

    INC 042

    INC 042

    MOV 043,042

    INC 043

    MOV 044,043

    INC 044

    LDT Ingrese 1 para sumar, 2 para restar, 3 para multiplicar y 4 para

    dividir.

    CMP 041

    JEQ 012

    CMP 042

    JEQ 018

    CMP 043

    JEQ 01E

    CMP 044

    JEQ 024

    FIN

  • 7/30/2019 Informe laboratorio 1.doc

    6/18

    JNE 02B

    LDT Ingrese el primer sumando.

    MOV 045,AX

    LDT Ingrese el segundo sumando.

    ADD 045

    EAP El resultado de la suma es:

    JMP 02B

    LDT Ingrese el sustraendo.

    MOV 045,AX

    LDT Ingrese el minuendo.

    SUB 045

    EAP El resultado de la resta es:

    JMP 02B

    LDT Ingrese el primer factor.

    MOV 045,AX

    LDT Ingrese el segundo factor.

    MUL 045

    EAP El resultado del la multiplicacin es:

    JMP 02B

    LDT Ingrese el divisor.

    MOV 045,AX

    LDT Ingrese el dividendo.

    DIV 045

    EAP El cociente de la divisin es:

    MOV AX,BX

  • 7/30/2019 Informe laboratorio 1.doc

    7/18

    EAP El residuo de la divisin es:

    LDT Ingrese 1 para continuar o 0 para salir.

    CMP 040

    JNE 008

    MOV 041,040

    MOV 042,040

    MOV 043,040

    MOV 044,040

    MOV 045,040

    HLT

    La descripcin de este cdigo es la siguiente:

    Primero se muestra el nombre del programa.

    Luego se establecen unas constantes, para el men de las operaciones,

    que se almacenan en unas localidades de memoria.

    Acto seguido se pide que ingrese un nmero para elegir la operacin, si

    el dato no se encuentra dentro del men el programa salta donde se da

    la opcin de continuar o salir.

    Por medio de unas comparaciones y saltos el programa lo lleva a una de

    las cuatro operaciones.

    Luego ya, en la operacin, el programa le pide el primer operando el

    cual se almacena en una localidad de memoria.

    Despus pide el segundo operando para luego hacer la operacin

    respectiva con el primero almacenado en memoria.

    Luego se muestra el resultado y salta a la opcin de continuar o salir.

    Dependiendo del dato ingresado el programa vuelve a preguntar por la

    operacin a realizar o sale y muestra algunas estadsticas de operacin.

  • 7/30/2019 Informe laboratorio 1.doc

    8/18

    Una vez generado este cdigo en el editor 2 de Simuproc, entonces se pasa al

    editor 1 para luego cargarlo en memoria, en este paso se depura el programapuesto que el simulador tiene una herramienta para corregir errores. Una vez

    el programa se encuentra en memoria, ste se ejecuta para ver los resultados,

    si hay errores se corrigen en el editor 2 y se repite le proceso hasta que se

    obtienen los resultados esperados. Ya superado todo esto se guarda en un

    archivo *.smp o ejecutable.

    EVIDENCIA FOTOGRAFICA DEL PROCESO DE PROGRAMACION

    Utilizar el simulador

    Editor

  • 7/30/2019 Informe laboratorio 1.doc

    9/18

    Pasar a memoria

    Ejecutar programa

  • 7/30/2019 Informe laboratorio 1.doc

    10/18

    Registros de Operacin

  • 7/30/2019 Informe laboratorio 1.doc

    11/18

    SISTEMA DE ECUACIONES 2X2

  • 7/30/2019 Informe laboratorio 1.doc

    12/18

    Describamos el programa:

    Se empieza mostrando el nombre del programa.

    Luego se pide ingresar las constantes de la primera ecuacin.

    Se almacenan como X1, Y1 e I1.

    Se pide ingresar las constantes de la segunda ecuacin.

    Se almacenan como X2, Y2 e I2.

    Luego se establecen unas variables y se realizan algunas operacionestendientes a hallar el valor de la variable y.

    Luego se muestra su valor.

    Despus, con la ayuda de este ltimo valor, se calcula el valor de la

    variable x.

    Luego se muestra su valor.

    Despus se da la opcin de continuar o salir.

    Se lee la variable SALIR.

    Dependiendo de su valor se contina de nuevo pidiendo el ingreso de

    las constantes de la primera ecuacin o se sale del programa.

    Veamos el diagrama de flujo del algoritmo del programa:

    INICIO

    RESOVERECUACIONES 2X2

    INGRESAR CONSTANTES ECUACION1LEA X1,Y1,I1INGRESAR CONSTANTES ECUACION2LEA X2, Y2, I2-X1 = 0 X1

    A = -X1*Y2 B = -X1*I2

    C = X2*Y1 D = X2*I1E = A+C F = B+DY = F/EMOSTRAR YG = Y*Y1X = (I1 G) / X1MOSTRAR XCONTINUAR O SALIR

  • 7/30/2019 Informe laboratorio 1.doc

    13/18

    NO SI

    SALIR =SI?

    FIN

    LEA SALIR

  • 7/30/2019 Informe laboratorio 1.doc

    14/18

    Ahora mostremos el cdigo en ensamblador del programa:

    #SimuProc 1.4.3.0

    MSG Programa para resolver un sistema de ecuaciones 2x2.

    LDT Ingrese el coeficiente de x de la ecuacin 1.

    MOV 040,AX

    LDT Ingrese el coeficiente de y de la ecuacin 1.

    MOV 041,AX

    LDT Ingrese el trmino independiente de la ecuacin 1.

    MOV 042,AX

    LDT Ingrese el coeficiente de x de la ecuacin 2.

    MOV 043,AX

    LDT Ingrese el coeficiente de y de la ecuacin 2.

    MOV 044,AX

    LDT Ingrese el trmino independiente de la ecuacin 2.

    MOV 045,AX

    MOV AX,040

    MUL 044

    MOV 046,AX

    MOV AX,040

    MUL 045

    MOV 047,AX

    MOV AX,043

    MUL 041

    MOV 048,AX

    MOV AX,043

    MUL 042

    MOV 049,AX

  • 7/30/2019 Informe laboratorio 1.doc

    15/18

    MOV AX,048

    SUB 046

    MOV 04A,AX

    MOV AX,049

    SUB 047

    DIV 04A

    EAP la variable y es igual a:

    MUL 041

    MOV 04B,AX

    MOV AX,042

    SUB 04B

    DIV 040

    EAP La variable x es igual a:

    LDT Ingrese 1 para continuar o 0 para salir.

    CMP 050

    JNE 001

    MOV 040,050

    MOV 041,050

    MOV 042,050

    MOV 043,050

    MOV 044,050

    MOV 045,050

    MOV 046,050

    MOV 047,050

    MOV 048,050

    MOV 049,050

    MOV 04A,050

    MOV 04B,050

  • 7/30/2019 Informe laboratorio 1.doc

    16/18

    HLT

    Este cdigo es muy parecido a la descripcin que se hizo al principio, del

    diagrama de flujo, salvo que al final he decidido aadir unas instrucciones para

    limpiar las posiciones de memoria que se utilizaron. Los pasos siguientes son

    iguales a los de la calculadora bsica.

    EVIDENCIA FOTOGRAFICA DEL PROCESO DE PROGRAMACION

    Utilizar el simulador

    Registros de Operacin

  • 7/30/2019 Informe laboratorio 1.doc

    17/18

    CONCLUSIONES

  • 7/30/2019 Informe laboratorio 1.doc

    18/18

    Trabajando con este simulador me he dado cuenta que no acepta

    nmeros negativos y con punto decimal a la entrada, tampoco daresultados con punto decimal, pero si nos da resultados negativos si la

    operacin los genera. Estos ejercicios me han ayudado a afianzar

    conocimientos acerca de cmo funciona el sistema de cmputo de un

    computador y adems me ha enseado a manejar y dominar un poco

    ms el lenguaje ensamblador.