• Domingo 22 de Diciembre de 2024, 08:53

Autor Tema:  Division Ensamblador  (Leído 16024 veces)

davomb

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Division Ensamblador
« en: Lunes 3 de Julio de 2006, 00:48 »
0
tengo un problema.. no se mucho de ensamblador y tengo que hacer un programita..
el problema es al hacer una division (div ebx). Bien, el resultado de la division sobrepasa el numero maximo que permite almacenar ebx y me suelta un error tipo "divide error". Pretendo solo obtener el resto de la division. Existe alguna instruccion tipo MOD que obtenga solo el resto. En caso contrario como podria realizar la division sin que me salte este error.

Estoy tratando de hacer una division de un numero de 64 bits almacenado en edx:eax por uno de 16 bits almacenado en ebx (0000xxxxh).

Utilizo ensamblador 8086 .

Gracias de antemano.

ClaCS_85

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Division Ensamblador
« Respuesta #1 en: Domingo 23 de Julio de 2006, 04:26 »
0
mira yo no se mucho pero ten en cuenta los sgtes conceptos:

(((((((Voy a hablarte en registros de 16 bits))))))

*tanto en la multiplicacion como en la division se realiza entre ax y el resultado se guarda en la misma osea

div bx(utiliza un reg q no sea dx de preferencia) --> (ax=bx/ax)
mul bx --> ax=ax*bx

*en la division ...el residuo  se guarda en dx, osea si el resultado de la division pasa de los 16 bits primero se ocupan los 16 bits de ax y luego se ocupan los otros 16bits de dx

esto tambien es aplicable a los reg de 32bits
(pero tendras q tomar ciertas consideraciones... creo)

espero q te sea de ayuda... aunq te repito yo no se mucho de esto solo cosillas puede ser q me equivoque...si es asi hay mas gente en el foro para ayudar  y corregirnos ...claro:D