Docx

TRABAJO INDIVIDUALFINAL MIGUEL ANGEL GARCIA FERRO Código: 79223363 TUTOR: ANYELO GERLEY QUINTERO UNIVERSIDAD NACIONAL

Views 201 Downloads 9 File size 335KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

TRABAJO INDIVIDUALFINAL

MIGUEL ANGEL GARCIA FERRO Código: 79223363

TUTOR: ANYELO GERLEY QUINTERO

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD DICIEMBRE 6 DEL 2017

Objetivos

 

Llevar a la práctica cada uno de los conceptos y lecturas que al trascurrir la materia se vieron tanto en la parte teórica como en la parte práctica. crear una aplicación basada sobre el lenguaje ensamblador que se manejo al trascurso del semestre.



Realice el prototipo funcional en lenguaje Ensamblador, que incluya el siguiente menú de opciones:

1. 2. 3. 4. 5. 6.

MENÚ Datos del autor Suma de dos números Resta de dos números Multiplicación de dos números División de dos números Validar si un número es positivo o negativo

CODIGO: org 100h ; inicio de programa

include 'emu8086.inc' ;Incluye funciones de libreria emu8086 DEFINE_SCAN_NUM DEFINE_PRINT_STRING DEFINE_PRINT_NUM DEFINE_PRINT_NUM_UNS

jmp inicio

menu1 db 13,10,'SOLFI PERTUZ SANTACRUZ',13,10, db 13,10,'Universidad Nacional Abierta y a Distancia-Unad-Cead-Turbo',13,10, db 13,10,'Fecha:Diciembre 08 de 2016',13,10,

db 13,10, '------MENU-------',13,10, db 13,10,' 1 Suma de dos numeros ',13,10, db 13,10,'2 Resta de dos numeros ' ,13,10, db 13,10,'3 Multiplicacion de dos numeros ',13,10, db 13,10,'4 Division de dos numero',13,10, db 13,10,'5 Validar numeros negativos y positivos',13,10, db 13,10,'6 Salir ' ,13,10,

db 13,10,13,10,'Digite el Primer Numero: $' texto2 db 13,10,13,10,'Digite el Segundo Numero: $' texto3 db 13,10,13,10, 'La Suma Es: $' texto4 db 13,10,'La Resta Es: $' texto5 db 13,10,'La Multiplicacion Es: $' texto6 db 13,10,'La Divison es: $'

num1 dw ? ;defino variables de 2 bytes num2 dw ? ; el simbolo ? es para indicar q no se inicilizan con valor algunp

inicio:

mov ah,09 ;instruccion para imprimir en pantalla lea dx,menu1 ;carga cadena de texto 1 en dx int 21h ;interrupcion pantalla

call SCAN_NUM ;Llama Funcion SCAN_NUM que toma numero de teclado; el valor se guarda en ax mov num1,cx ;mueve numero a variable num1

mov ah,09 ;interrupcion para imprimir en pantalla lea dx,texto2 ;carga cadena de texto 2 en dx int 21h

call SCAN_NUM ;Llama Funcion SCAN_NUM que toma numero de teclado; el valor se guarda en ax mov num2,cx ;mueve numero a variable num2

mov ah,09 lea dx,texto3 int 21h

mov ax,num1 ;mueve primer numero digitado a ax add ax,num2 ;suma los numeros digitado, queda almacenaddo en ax call PRINT_NUM

mov ah,09 lea dx,texto4 int 21h mov ax,num1 ;mueve primer numero digitado a ax sub ax,num2 ;resta el 2do del 1er numero, queda almacenaddo en ax call PRINT_NUM

mov ah,09 lea dx,texto5 int 21h mov ax,num1 ;mueve primer numero digitado a ax mov bx,num2 ;mueve segundo numero digitado a bx mul bx ;ax = ax*bx call PRINT_NUM

mov ah,09 lea dx,texto6 int 21h xor dx,dx ;deja en cero dx; si no lo hago se desborda la division ;DX ALMACENA EL modulo de la division, por eso hay q dejarlo en cero mov ax,num1 ;mueve primer numero digitado a ax mov bx,num2 ;mueve segundo numero digitado a bx div bx ;ax = ax*bx call PRINT_NUM

Pantallazos

Conclusión Gracias a la elaboración de este curso se ha implementado un código en lenguaje ensamblador que permite mostrar un menú muy personalizado como lo indico la guía de actividades. Finalmente con esta actividad final se afianzaran los temas y se resolverán las dudas adquiridas en cualquier tema de curso.

Bibliografía. Vega Jesús E (2008), Modulo Arquitectura de computadores, UNAD 2000 Silvina Ferradal (2000) Departamento de Sistemas e Informática, Conceptos básicos sobre la programación en Assembler.