• Lunes 18 de Noviembre de 2024, 15:35

Autor Tema:  Suma De Dos Numeros  (Leído 17625 veces)

isis_g

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Suma De Dos Numeros
« en: Miércoles 18 de Mayo de 2005, 03:09 »
0
:ayuda:   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

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Suma De Dos Numeros
« Respuesta #1 en: Lunes 23 de Mayo de 2005, 19:25 »
0
Código: Text
  1.  
  2. mov ax,123
  3. mov bx,321
  4. add ax,bx
  5.  
  6.  

isis_g

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Suma De Dos Numeros
« Respuesta #2 en: Lunes 13 de Junio de 2005, 20:10 »
0
:hola:    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: co
    • Ver Perfil
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: co
    • Ver Perfil
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
  1. .MODEL SMALL
  2. .STACK
  3. .DATA
  4.     VAL1 DB 'DIGITE VALOR 1: $'
  5.     VAL2 DB 13,10,'DIGITE VALOR 2: $'
  6.     MSG DB 13,10,'LA SUMA ES: $'
  7.     RESU DB '0'
  8.     CAPT1BIN DB '0'
  9.     CAPT2BIN DB '0'
  10. .CODE
  11. inicio:
  12. &#59;CAPTURAR PRIMER VALOR
  13.     MOV AX, SEG VAL1
  14.     MOV DS, AX
  15.     MOV DX, OFFSET VAL1   &#59;Envia a DX el mensaje VAL1
  16.     CALL Print
  17.     CALL Capt
  18.     MOV CAPT1BIN, AL      &#59;Guarda en Binario
  19.     SUB CAPT1BIN, 48      &#59;Se restan 48 para dar valor ASCII
  20.  
  21. &#59;CAPTURAR SEGUNDO VALOR
  22.     MOV AX, SEG VAL2
  23.     MOV DS, AX
  24.     MOV DX, OFFSET VAL2   &#59;Envia a DX el mensaje VAL1
  25.     CALL Print
  26.     CALL Capt
  27.     MOV CAPT2BIN, AL      &#59;Guarda en Binario
  28.     SUB CAPT2BIN, 48      &#59;Se restan 48 para dar valor ASCII
  29.  
  30. &#59;SE EFECTUA LA SUMA
  31.     MOV BL, CAPT1BIN
  32.     ADD BL, CAPT2BIN
  33.     MOV RESU, BL
  34.  
  35. &#59;SE IMPRIME MENSAJE DE RESULTADO
  36.     MOV AX, SEG MSG
  37.     MOV DS, AX
  38.     MOV DX, OFFSET MSG  &#59;Envia a DX el mensaje MSG
  39.     MOV AH, 09h         &#59;imprime mensaje con la
  40.     INT 21h             &#59;función 9h
  41.  
  42. &#59;IMPRIMIR LOS RESULTADOS
  43.     MOV AH, 0  &#59;Se limpia el registro
  44.     MOV AL, RESU&#59;El dividendo en AX para impresion de digitos uno por uno
  45.     MOV BL, 10  &#59;Se le pone 10 al divisor BL
  46.     DIV BL  &#59;Se divide (al=numero/divisor=10 ) COCIENTE=AL RESIDUO=DX
  47.     MOV CL, AL  &#59;Guardamos el cociente en CL
  48.     MOV CH, AH  &#59;Guardamos el residuo en CH
  49.     ADD AL, 48  &#59;Sumamos 48d al numero para convertirlo en ascii
  50.     MOV AH, 2  &#59;Funcion del DOS para imprimir un caracter
  51.     MOV DL, AL  &#59;Imprimir el primer digito
  52.     INT 21h
  53.     ADD CH, 48  &#59;Sumamos 48d al numero para convertirlo en ascii
  54.     MOV DL, CH  &#59;Imprimimos el segundo caracter
  55.     INT 21h
  56.     MOV AH, 4Ch        &#59;Sale al DOS
  57.     INT 21h
  58.  
  59. ;PROCEDIMIENTO PARA IMPRIMIR CADENA
  60. Print Proc Near
  61.     MOV AH, 09h  &#59;imprime mensaje con la
  62.     INT 21h  &#59;función 9h
  63.     SUB AL, 48         &#59;restamos al caracter el ASCII de 0 para convertirlo en un numero
  64.     RET
  65. Print Endp
  66.  
  67. ;PROCEDIMIENTO DE CAPTURA
  68. Capt Proc Near
  69.     MOV AH, 01h  &#59;captura un valor del teclado
  70.     INT 21h  &#59;y se guarda en AL
  71.     RET    
  72. Capt Endp
  73. END inicio
  74.  
  75.  
  76.  
El pasado son solo recuerdos, el futuro son solo sueños