ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

ARQUITECTURA DE COMPUTADORES. ACTIVIDAD INDIVIDUAL

moncayo12Trabajo26 de Mayo de 2016

2.107 Palabras (9 Páginas)351 Visitas

Página 1 de 9

ARQUITECTURA DE COMPUTADORES

TRBAJO  COLABORATIVO 3

ACTIVIDAD INDIVIDUAL

Realizado por

RAFAEL MARTIN MONCAYO

Código: 12993081

 GRUPO 208018—6

ANYELO GERLEY QUINTERO

TUTOR

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍAS E INGENIERÍA – ECBTI

INGENIERÍA ELECTRONICA

SAN JUAN DE PASTO

Mayo 2016

INTRODUCCIÓN


los lenguajes de programación  en los últimos tiempos se han convertido en el factor predominante del desarrollo de los pueblos en el aspecto ingenieril y tecnológico, es por eso que como estudiantes de ingeniería es muy necesario conocer sobre los conceptos básicos y aplicaciones, con ayudas tecnológicas computacionales y software de utilización específica, y el desarrollo de este trabajo permite incursionar en el campo de la programación en lenguaje ensamblador desarrollando aplicaciones con instrucciones específicas, que son preparadas a manera de exposición en un video, que permite entender de una manera apropiada su

OBJETIVOS


Estudiar las  instrucciones de lenguaje ensamblador para aplicaciones de carácter específico.

Elaborar programas de aplicación para evidenciar el correcto funcionamiento del algoritmo.

Identificar las instrucciones más relevantes para ser tenidas en cuenta en el momento de brindar soluciones específicas.

GRAFICO de instruccones

[pic 3]

CÓDIGO ASSEMBLER.

Código de interpretación de números (positivo, negativo, cero).

Para este caso el código permite que un número ingresado por el usuario sea analizado a través del código y le diga al usuario si el número es POSITIVO, NEGATIVO o CERO.

Para ello, la estructura del programa en lenguaje de Maquina  (Assembler) es la siguiente

.model small----------------------------------------

.stack 64---------------------------------------------

.data--------------------------------------------------

    var1 db ?-----------------------------------------

    msg1 db 'ingrese numero: $'--------------

    msg2 db '=> El numero es positivo$'----

    msg3 db '=> El numero es negativo$'--

    msg4 db '=> El numero es cero$'---------

.code--------------------------------------------------

.startup------------------------------------------------

    mov ah,09h--------------------------------------

    lea dx, msg1 ------------------------------------

    int 21h----------------------------------------------

    mov ah,01h--------------------------------------

    int 21h----------------------------------------------

    sub al, 30h----------------------------------------

    mov var1,al--------------------------------------

    mov al,0h----------------------------------------

    cmp var1, al

ja mayor

jb menor

je igual

mayor:

mov ah, 09h

lea dx,msg2

int 21h

jmp salir

menor:

mov ah, 09h

lea dx,msg3

int 21h

jmp salir

igual:

mov ah, 09h

lea dx,msg4

int 21h

jmp salir

salir:

.exit

end

modelo de ventana

stock de arranque

definición de variables, constantes o atributos

Variable de ingreso de datos.

atributo para la respuesta 1

 atributo para la respuesta 2

 atributo para la respuesta 3

atributo para la respuesta 4

etiqueta de inicio de código

inicio del programa

impresión del mensaje1 en pantalla

 identificador del método (nombre)

 impresión del mensaje1 en pantalla

 identificador del método (nombre)

 impresión del mensaje1 en pantalla

 identificador del método (nombre)

 impresión del mensaje1 en pantalla

salto a ejecución de código, método Salir:

identificador del método (nombre)

etiqueta de salida de ejecución del programa

representa el final de la ejecución del programa

El anterior código representa la ejecución de un programa en un ventana de terminal, para este caso, el resultado es el siguiente.

[pic 4]

[pic 5]

[pic 6]

Código de multiplicación y potenciación de números.

Para este caso el código permite una multiplicación entre números enteros, estos mismos son ingresados  como parámetros por el usuario; una vez ingresados los dos números a opera, el programa ejecutara códigos que multiplique entre si los números ingresados y posterior a ello nos de la potencia de los resultados.

Para ello, la estructura del programa en lenguaje de Maquina (Assembler) es la siguiente.

.model small

.stack

.data

    var1 db ?

    var2 db ?

    var3 db ?

    var4 db ?

    cen  db 0

    dece db 0

    uni  db 0

    resul_mul db ?

    resul_pot db ?

    msg1 db 'ingrese primer valor: $'

    msg2 db 'ingrese segundo valor: $'

    msg3 db 'Resultado de la multiplicacion: $'

    msg4 db 'Resultado de la potencia:$'

.code

.startup

    mov ah, 09h

    lea dx, msg1

    int 21h

   

    mov ah,01h

    int 21h

   

    sub al, 30h

    mov var1, al

   

    mov AH, 02H

    mov DL, 0AH

    int 21H

   

    mov ah, 09h

    lea dx, msg2

    int 21h

   

    mov ah, 01h

    int 21h

   

    sub al, 30h

    mov var2, al

   

    mov AH, 02H

    mov dl, 0Ah

    int 21H

   

    mov al, 0

    mov var3, al

   

    mov al, 0

    mov resul_mul, al

   

    mov cx, 9

   

    bucle:        

        mov al, var1

        add resul_mul , al

       

        mov al, var2

        inc var3

        cmp var3, al

        je Acaba

     

        loop bucle

   

    Acaba:        

        mov ah, 09h

        lea dx, msg3

        int 21h

       

        mov al, resul_mul

        aam

       

        mov uni , al

        mov al, ah

       

       

        aam

        mov cen, ah

       

        mov dece, al

       

        mov ah, 02h

       

        mov dl, cen

        add dl, 30h

        int 21h

       

        mov dl, dece

        add dl, 30h

        int 21h

       

        mov dl, uni

        add dl, 30h

        int 21h

       

        mov AH, 02H

        mov dl, 0Ah

        int 21h

       

        mov al, 1

        mov var4, al

       

        mov al, 0

        mov resul_mul, al

       

        mov al, 0

        mov resul_pot, al

       

    bucle2:    

        mov cx, 9

       

        mov al, 0

        mov var3, al

       

    bucle1:        

        mov al, var1

        add resul_pot, al

       

        mov al, var1

        inc var3

        cmp var3, al

        je Acaba1

       

        loop bucle1

   

    Acaba1:        

        mov al, var2

        inc var4

        cmp var4,al

        je Acaba2

       

        loop bucle2

   

    Acaba2:    

        mov ah, 09h

        lea dx, msg4

        int 21h

       

        mov al, 0

        mov uni, al

       

        mov al, 0

        mov cen, al

       

        mov al, 0

        mov dece, al

       

        mov al, resul_pot

        aam

       

        mov uni, al

        mov al, ah

       

        aam

        mov cen, ah

       

        mov dece, al

       

       

        mov ah, 02h

       

        mov dl, cen

        add dl, 30h

        int 21h

       

        mov dl, dece

        add dl, 30h

        int 21h

       

        mov dl, uni

        add dl, 30h

        int 21h

       

        mov ah, 04ch

        int 21h

        .exit

        end

modelo de ventana

stock de arranque

definición de variables, constantes o atributos

Variable de ingreso de datos.

atributo para la respuesta 1

 atributo para la respuesta 2

 atributo para la respuesta 3

atributo para la respuesta 4

etiqueta de inicio de código

inicio del programa

impresión del mensaje1 en pantalla

 identificador del método (nombre)

 impresión del mensaje1 en pantalla

 identificador del método (nombre)

 impresión del mensaje1 en pantalla

 identificador del método (nombre)

 impresión del mensaje1 en pantalla

salto a ejecución de código, método Salir:

identificador del método (nombre)

etiqueta de salida de ejecución del programa

representa el final de la ejecución del programa

...

Descargar como (para miembros actualizados) txt (10 Kb) pdf (1 Mb) docx (1 Mb)
Leer 8 páginas más »
Disponible sólo en Clubensayos.com