Domingo 22 de Diciembre de 2024, 13:24
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
Suma De Dos Numeros
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Suma De Dos Numeros (Leído 17642 veces)
isis_g
Nuevo Miembro
Mensajes: 2
Suma De Dos Numeros
«
en:
Miércoles 18 de Mayo de 2005, 03:09 »
0
hola, tengo un problemita con el manejo de tasm, y no se como realizar la suma de dos numeros de tipo word...
por ejemplo
la suma de 321 + 123
si alguien me ayudara se lo agradecería muchísimo
gracias
Tweet
Super_G
Miembro MUY activo
Mensajes: 375
Re: Suma De Dos Numeros
«
Respuesta #1 en:
Lunes 23 de Mayo de 2005, 19:25 »
0
Código: Text
mov ax,123
mov bx,321
add ax,bx
isis_g
Nuevo Miembro
Mensajes: 2
Re: Suma De Dos Numeros
«
Respuesta #2 en:
Lunes 13 de Junio de 2005, 20:10 »
0
gracias... pero al sumar me referia sumando numeros introducidos desde el teclado, numeros de cualquier valor que sean mas de tres digitos.
me informe recien q debo trabajar con macros o subprogramas para este tipo de problema. ¿como le hago...
RadicalEd
Moderador
Mensajes: 2430
Nacionalidad:
Re: Suma De Dos Numeros
«
Respuesta #3 en:
Lunes 13 de Junio de 2005, 20:48 »
0
Mira mi post de captura de valores y veras que estamos igual, yo ahi le voy dando un poquito, tal vez te sirva y me ayudes por ahi derecho a mi
El pasado son solo recuerdos, el futuro son solo sueños
RadicalEd
Moderador
Mensajes: 2430
Nacionalidad:
Re: Suma De Dos Numeros
«
Respuesta #4 en:
Jueves 16 de Junio de 2005, 22:46 »
0
Ahora si ya me funciono.
Código: Text
.MODEL SMALL
.STACK
.DATA
VAL1 DB 'DIGITE VALOR 1: $'
VAL2 DB 13,10,'DIGITE VALOR 2: $'
MSG DB 13,10,'LA SUMA ES: $'
RESU DB '0'
CAPT1BIN DB '0'
CAPT2BIN DB '0'
.CODE
inicio:
;CAPTURAR PRIMER VALOR
MOV AX, SEG VAL1
MOV DS, AX
MOV DX, OFFSET VAL1 ;Envia a DX el mensaje VAL1
CALL Print
CALL Capt
MOV CAPT1BIN, AL ;Guarda en Binario
SUB CAPT1BIN, 48 ;Se restan 48 para dar valor ASCII
;CAPTURAR SEGUNDO VALOR
MOV AX, SEG VAL2
MOV DS, AX
MOV DX, OFFSET VAL2 ;Envia a DX el mensaje VAL1
CALL Print
CALL Capt
MOV CAPT2BIN, AL ;Guarda en Binario
SUB CAPT2BIN, 48 ;Se restan 48 para dar valor ASCII
;SE EFECTUA LA SUMA
MOV BL, CAPT1BIN
ADD BL, CAPT2BIN
MOV RESU, BL
;SE IMPRIME MENSAJE DE RESULTADO
MOV AX, SEG MSG
MOV DS, AX
MOV DX, OFFSET MSG ;Envia a DX el mensaje MSG
MOV AH, 09h ;imprime mensaje con la
INT 21h ;función 9h
;IMPRIMIR LOS RESULTADOS
MOV AH, 0 ;Se limpia el registro
MOV AL, RESU;El dividendo en AX para impresion de digitos uno por uno
MOV BL, 10 ;Se le pone 10 al divisor BL
DIV BL ;Se divide (al=numero/divisor=10 ) COCIENTE=AL RESIDUO=DX
MOV CL, AL ;Guardamos el cociente en CL
MOV CH, AH ;Guardamos el residuo en CH
ADD AL, 48 ;Sumamos 48d al numero para convertirlo en ascii
MOV AH, 2 ;Funcion del DOS para imprimir un caracter
MOV DL, AL ;Imprimir el primer digito
INT 21h
ADD CH, 48 ;Sumamos 48d al numero para convertirlo en ascii
MOV DL, CH ;Imprimimos el segundo caracter
INT 21h
MOV AH, 4Ch ;Sale al DOS
INT 21h
;PROCEDIMIENTO PARA IMPRIMIR CADENA
Print Proc Near
MOV AH, 09h ;imprime mensaje con la
INT 21h ;función 9h
SUB AL, 48 ;restamos al caracter el ASCII de 0 para convertirlo en un numero
RET
Print Endp
;PROCEDIMIENTO DE CAPTURA
Capt Proc Near
MOV AH, 01h ;captura un valor del teclado
INT 21h ;y se guarda en AL
RET
Capt Endp
END inicio
El pasado son solo recuerdos, el futuro son solo sueños
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
Suma De Dos Numeros