• Jueves 14 de Noviembre de 2024, 23:05

Autor Tema:  Ayuda Con Una Division!  (Leído 1997 veces)

Dennis

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Ayuda Con Una Division!
« en: Domingo 24 de Octubre de 2004, 01:07 »
0
Disculpen amigos, de nuevo pido ayuda, ya desarrolle el 90% de mi simple programa, el cual se le introducen dos digitos (no validados). Los suma, los resta, los multiplica y en la parte de divison me sale un error de "Desvordamiento por division"

Creo que el error reside en la parte donde intento poner una variable (1byte) al registro AL (la en la division debe ser AX, pero por ser un numero no mayor 99 lo dejo en AL)

Ademas he hecho una prueba de division, y es satisfactoria pero cuando asigno directamente el valor a los registros.

Les dejo el codigo en el que he estado trabajando, espero me puedan ayudar a corregir ese ultimo error que me ha vuelto loco. Gracias
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Logan

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Ayuda Con Una Division!
« Respuesta #1 en: Viernes 29 de Octubre de 2004, 16:10 »
0
Hola Dennis, te comento que cada vez que desees realizar una division debes ver lo siguiente (usar unas funciones de conversion para que el dividendo sea siempre de mayor tamaño que el divisor, y no aparezca el error de desbordamiento):

Si quieres dividir un valor de tipo byte entre otro de tipo byte necesitas codificar
Ejemplo:
   MV AL,valor1_byte   ;pasamos a AL el valor del valor byte a dividir
   CBW                       ;funcion para convertir Byte a Word, es necesaria esta funcion
   DIV valor2_byte       ;dividir lo que tiene AX entre valor2_byte

El cociente se almacena en AL y el residuo en AH.

Si la division involucra dos valor Word:

   MV AX,valor1_word   ;pasamos a AX el valor del valor word a dividir
   CWD                       ;funcion para convertir Word a Double(32 bits), es necesaria esta funcion
   DIV valor2_byte       ;dividir lo que tiene AX entre valor2_word

El cociente se almacena en AX y el residuo en DX


Espero que este te sea de ayuda. Hasta pronto
 :hola:
Estamos aqui porque jamás terminaremos de aprender....

Super_G

  • Miembro MUY activo
  • ***
  • Mensajes: 375
    • Ver Perfil
Re: Ayuda Con Una Division!
« Respuesta #2 en: Viernes 17 de Diciembre de 2004, 15:19 »
0
Tambien se puede poner un cero en AH  antes de ejecutar la division:

mov AL,num
xor AH,AH
dib BL