Programación General > ASM (Ensamblador)

 Ayuda Urgente Porfas!!-> Suma De Dos Numeros En Bc

(1/1)

alexssandra1086:
Hola a todos soy nueva en esto de la programacion en ensamblador tengo que hacer la suma de dos numeros en BCD que se capturen por teclado y si no pues sin capturar que esten predefinidos..... Me base en algunos codigos que encontre y trate de hacerlo pero si me hace la suma introduciendo del 1 al 9 y me da los resultados correctos pero cunaod trato de sumar del 2 + 1 hasta el nueve ya no me da resultados correctos solo sumando del 1+1 hasta elnueve si me los da pero si comienzo sumando del 2+1 hasta el nueve ya no me da resultados correctos... por favor pido su ayuda ahora les agrego el codigo que hice pero pues quisiera ver si me pueden ayudar a corregirlo........ se los agradeceria muchisimo.. por favor... gracias de antemano a todos.... bye..
SALUDOS!!!

Super_G:
Haciendole algunos arreglos

--- Código: Text ---  .model tiny  .codeORG 100H       &#59;directiva org con 100 bytes. inicia el segmento de carga del programa;section .data ;section .text  start:  &#59;Punto de entrada del programa          MOV DX, offset mensage1  MOV AH, 09&#59;Despliega el primer mensage.  INT 21H  &#59;Llama función del DOS.  MOV AH, 01&#59;Lee el teclado para el primer numero.  INT 21H        MOV BL, AL     &#59;Mueve el dato almacenado a AH        sub BL,48         MOV DX, offset mensage2  MOV AH, 09&#59;Despliega el segundo mensage.  INT 21H  &#59;Llama función del DOS.  MOV AH, 01&#59;Lee el teclado para el segundo numero.  INT 21H  &#59;Llama función del DOS.        sub AL,48        ADD AL, BL     &#59;Suma AH y AL        XOR AH, AH        mov bh ,10    &#59;separo las unidades de las decenas        div bh                  xchg ah,al     &#59; intercambio las unidades con las decenas         &#59;AAA        MOV DX, AX   &#59;el resto continua igual        MOV AH, 0EH        OR  DH, 30H        MOV AL, DH     &#59;creo que estas tres lineas convierten a ASCII pero no se como funcionan bien?        INT 10H        OR  DL, 30H        MOV AL, DL        INT 10H         int 20h mensage1 db 'Introduce primer numero : ', '$' &#59;db = dato de  1 byte. mensage2 db 'Introduce segundo numero: ', '$' ;RETEND start   compilado con TASM

alexssandra1086:
Hola Super_G:
Bueno muchisimas gracias por tu ayuda en verdad te lo agradezco.. me fue de muchisima ayuda.. en serio gracias...
Bye

Super_G:
..."no haty d equeso no'mas de papa"

Navegación

[0] Índice de Mensajes

Ir a la versión completa