Docx

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

TRABAJO INDIVIDUALFINAL

MIGUEL ANGEL GARCIA FERRO


Cdigo: 79223363

TUTOR: ANYELO GERLEY QUINTERO

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


UNAD
DICIEMBRE 6 DEL 2017
Objetivos

Llevar a la prctica cada uno de los conceptos y lecturas que al trascurrir la


materia se vieron tanto en la parte terica como en la parte prctica.
crear una aplicacin 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:

MEN
1. Datos del autor
2. Suma de dos nmeros
3. Resta de dos nmeros
4. Multiplicacin de dos nmeros
5. Divisin de dos nmeros
6. Validar si un nmero 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
Conclusin

Gracias a la elaboracin de este curso se ha implementado un cdigo en lenguaje


ensamblador que permite mostrar un men muy personalizado como lo indico la
gua de actividades. Finalmente con esta actividad final se afianzaran los temas y
se resolvern las dudas adquiridas en cualquier tema de curso.

Bibliografa.

Vega Jess E (2008), Modulo Arquitectura de computadores, UNAD

2000

Silvina Ferradal (2000) Departamento de Sistemas e Informtica,


Conceptos bsicos sobre la programacin en Assembler.

También podría gustarte