AA5

Actividad AA4 Programación básica de Microprocesadores Grupo 5 Harvey Rolando Melo Melo. Andres Fernando Mayorga Parra.

Views 86 Downloads 3 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Actividad AA4 Programación básica de Microprocesadores

Grupo 5 Harvey Rolando Melo Melo. Andres Fernando Mayorga Parra. Jhon Jairo Melo Acero. Mayo 5 de 2019. Unipanamericana. Técnica Profesional en Instalación de Redes de Telecomunicaciones. Arquitectura de Hardware

ii

Copyright © 2019 por Grupo 5. Todos los derechos reservados.

iii Tabla de Contenidos Ejecución Programas en debug ....................................................................................................... 1 Programa 1 ...................................................................................................................................... 2 Programa 2 ...................................................................................................................................... 3 Programa 3 ...................................................................................................................................... 4 Programa 4 ...................................................................................................................................... 6 Programa 5 ...................................................................................................................................... 7 Restar dos números de 16 bits ........................................................................................................ 9 Factorial .......................................................................................................................................... 9 Fibonacci ....................................................................................................................................... 11

1 Ejecución Programas en debug

En relación con los programas anteriormente analizados realice las siguientes. 

Coloque los comentarios pertinentes en cada una de las líneas de código



Identifique el objetivo de cada uno de los programas propuestos



Realice los siguientes programas de acuerdo al objetivo previsto: o Restar dos números de 16 bits introducidos directamente en la memoria. El resultado debe ser guardado en memoria. o Obtener el factorial de un número almacenado previamente en memoria. El resultado debe ser guardado en memoria. o Intercambiar los contenidos de 4 registros de 8 bits en el orden que desee. o Sumar tres vectores de dimensiones 3x1, donde cada componente del vector sea de 8 bits, definiendo las componentes del vector previamente en la memoria y cuyo resultado debe ser almacenado en otra localización de memoria. o Mostrar la serie de Fibonacci hasta el número contenido previamente en una localización de memoria. Almacene el resultado en la memoria.

2

Programa 1

-a ensambla el debug Mov ax,1cab ; asigna el valor 1cab a ax Mov bx,ccca ; asigna el valor ccca a bx Add ax,bx ; suma los valores de ax y bx Int 21 ; se agraga una pausa especifica al programa. G 0108 ; ir a la dirección 0108 Objetivo: sumar dos valores diferentes.

3 Programa 2

-a ensambla el debug Mov ax,2ae4 ; asigna el valor 2ae4 a ax Mov bx,7db1 ; asigna el valor 7db1 a bx Mov cx,ax ; se asigna a cx el valor de ax Mov ax,bx ; se asigna a ax el valor de bx Mov bx,cx ; se asigna a bx el valor de cx Int 21 ; se agraga una pausa especifica al programa. G 0108 ; ir a la dirección 010C Objetivo: Intercambiar valores de dos variables

4 Programa 3

E 0200 50 ; ingresar valor a 0200 E 0201 20 ; ingresar valor a 0201 E 0202 AA ; ingresar valor a 0202 E 0203 15 ; ingresar valor a 0203 Mov al,[0200] ; asignar valor a x de AX Mov ah,[0201] ; asignar valor a a de AX Mov bl,[0202] ; asignar valor a x de BX Mov bh,[0203] ; asignar valor a b de BX Add cx,ax ; sumar valores de cx y ax Add cx,bx ; sumar valores de cx y bx

5 Mov [300],cx ; asignar a 300 el valr de cx Int 21 ; se agraga una pausa en la 0117. G 0117 ; ir a la dirección especificada D 300 ; trae la información guardada en 300 que es igual a CX Objetivo: asignar valores independientes y sumarlos de manera independiente.

6 Programa 4

Mov al,0 ; asignar valor a x de AX Mov cl,10 ; asignar valor a x de CX Inc al ; realiza un incremento de valor a al Loop 0104 ; hacer una repetición especifica para incrementar al y decrementar cl Mov [300],al ; guardar el valor de al en 300 Int 21 ; pausar programa en la línea 010B G 108 ; muestra la información de la dirección 108 Objetivo: Ejecutar valores e incrementarlos a través de un loop especifico

7 Programa 5

Mov al,5 ; se asigna el valor de x en ax Mov cl,0 ; se asigna el valor de x en cx Mov ah,cl ; copiar información de ah a cl Inc cl ; incrementar el valor de cl Add ah,cl ; sumar los valores de ah y cl Dec al ; decrementar al Cmp al,0 ; se compara el valor de al si es igual a 0 Jnz 106 ; se retorna al registro 106 Mov [300],ah ; guardar en 300 3l valor de ah Int 21 ; pausar el programa en la línea 0114

8 G 0114 muestra la información de la línea 0114 Objetivo: Asignar valores, incrementar unos y decrementar otros realizando un loop con un retorno de líneas.

9 Restar dos números de 16 bits

Ingresamos a debug de la siguiente manra windows +r ,escribimos cmd y luego debug a ; asignar un direccionamiento mov ; instruccion en registro ax asignamos un numero mov ; instruccion en registro bx asignamos numero add : (suma ) significa agregar al registro ax,bx int : agregamos una pausa al program t : para ver el progrmama linea por línea

Factorial Ingresamos a debug de la siguiente manra windows +r ,escribimos cmd y luego debug a ; asignar un direccionamiento ensamblar

10 mov cx,5; le asignamos al contador cx un numero el cual le calcularemos el factoria l mov ax,1; asignamos a ax 1 (variable aux al multiplicador )operando mov cx;ultiplicamos cx por el registro principal loop iniciamos el blucle indicando la direccion a tomar (106 ) int20 ; agragamos un pausa al programa g10; verificamos si el programa funciona bien

11 Fibonacci • Mostrar la serie de Fibonacci hasta el número contenido previamente en una localización de memoria. Almacene el resultado en la memoria. • Inicializar Variables • Mov al, 00 • Mov [0200], al • Mov al, 01 • Mov [0201], al • • • •

Fijar apuntadores Mov BP, 0200 Mov al, [BP] Mov dl, [BP+1]

• Suma de variables ADD al, dl • •

Incremente BP INC BP

• • •

Mover resultado de la suma Mov [BP+1], al JMP 6 Salta al comando de la etiqueta.

BP: Registro de apuntadores base MOV AL: Copiar el valor de la porcion de la memoria que este en la ubicación 00 MOV [0201], al: Apunta la dirección de la memoria DL JMP: Dirección “Saltar” AND: Destino, origen

12 INC: Destino ”Incrementar”

13

14