![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
11/06/2005, 11:45
|
![Avatar de Eternal Idol](http://static.forosdelweb.com/customavatars/avatar65038_2.gif) | | | Fecha de Ingreso: mayo-2004 Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 9 meses Puntos: 74 | |
Al ser unicamente dos caracteres los que vas a sumar como maximo podes obtener un 18 entonces con un variable del tamaño de un BYTE alcanza y sobra, deberias hacer comprobaciones para que no te puedan escribir una letra en vez de un numero.
Este seria el codigo mas o menos:
Código:
.MODEL SMALL
.STACK
.DATA
VAL1 DB 'DIGITE VALOR 1: $'
VAL2 DB 13, 10, 'DIGITE VALOR 2: $'
numeros DB 0
.CODE
inicio:
MOV AX, SEG VAL1
MOV DS, AX
MOV DX, OFFSET VAL1 ;Envia a DX el mensaje VAL1
MOV AH, 09h ;imprime mensaje VAL1 con la
INT 21h ;función 9h
MOV AH, 01h ;captura un valor del teclado
INT 21h ;y se guarda en AL
sub al, 48 ;restamos al caracter el ASCII de 0 para convertirlo en un numero
mov numeros, al
MOV AX, SEG VAL2
MOV DS, AX
MOV DX, OFFSET VAL2 ;Envia a DX el mensaje VAL1
MOV AH, 09h ;imprime mensaje VAL1 con la
INT 21h ;función 9h
MOV AH, 01h ;captura un valor del teclado
INT 21h ;y se guarda en AL
sub al, 48 ;restamos al caracter el ASCII de 0 para convertirlo en un numero
add numeros, al ;aca tenemos el resultado de la suma
MOV AH, 4Ch
INT 21h
END inicio
__________________ ¡Peron cumple, Evita dignifica! VIVA PERON CARAJO |