Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - david03

#1
ASM / Re: Ejercicio ensamblador
15 Mayo 2017, 23:42 PM
no he podido realizar la validación y el salir me pueden ayudar por favor

6. Validar si un número es positivo o negativo
7. Salir


Código (asm) [Seleccionar]
name: " PROTOTIPO FINAL"
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,'ELKIN DAVID AGUILAR LLANOS',13,10,
     db 13,10,'Codigo 10697830',13,10,
     db 13,10,'Universidad Nacional Abierta y a Distancia UNAD-Cead ElBordo',13,10,
     db 13,10,'Fecha:Mayo 15 de 2017',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: $'  
texto7 db 13,10,'positivo: $'  
texto8 db 13,10,'negativo: $'
texto9 db 13,10,'cero: $'

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  

cmp bl,0


mov ah,09h
lea dx,texto7
int 21h

mov ah,09h
lea dx,texto8
int 21h

mov ah,09h
lea dx,texto9
int 21h



· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex
#2
ASM / Re: Ejercicio ensamblador
15 Mayo 2017, 23:04 PM
compañero donde puedo encontrar el programa descrito al inicio por el compañero

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

MENÚ

1. Datos del autor.
2. Suma de dos números.
3. Resta de dos números.
4. Multiplicación de dos números.
5. División de dos números.
6. Validar si un número es positivo o negativo
7. Salir

• La opción para datos del autor (opción 1), debe imprimir en pantalla:

 Nombre del estudiante
 Nombre del colegio
 Fecha

• Las opciones 2, 3, 4 y 5 deben solicitar por teclado dos números de un dígito cada uno.

Mil gracias si pueden ayudarme.