ayuda con el DIV y IDIV

Iniciado por Jholer, 17 Noviembre 2014, 02:56 AM

0 Miembros y 1 Visitante están viendo este tema.

Jholer

Hola a todos, estoy atorado en esta parte del manual de ricardo narvaja.
Mi problemas en la division " DIV y IDIV "
No me sale la división en el olly:

Desensamblado
   DIV ECX
Registros
   EAX(Inicial)=00000000 
   ECX(Inicial)=7FFFFFFF
   EDX(Inicial)=7C91E514

   EAX(Final)=F923CA29 
   ECX(Final)=7FFFFFFF
   EDX(Final)=7923CA29

La instruccion DIV ECX se ejecuto sin problemas a simple vista.
Y Utilizando la calculadora de windows divido EDX:EAX / ECX.

Es decir 7C91E51400000000 / 7FFFFFFF = F923CA29 que es el valor final
de EAX, pero el valor de EDX final tambien cambio a 7923CA29 y no
entiendo de donde salio ese valor. Si en teoria todo el valor de la
division se muestra en EAX.
A mi me parece que la Instruccion Div no la he llegado a captar como deberia ser.

Y si pueden podrian resolver un ejercicio con IDIV pero explicado para poder
entenderlo y continuar con el estudio de las siguientes Instrucciones.

Ya se que en Google encuentro info pero la verdad no la llego a pillar.

Agradecido Estare si a Resolver este Problema me Ayudan.

MCKSys Argentina

Cita de: Jholer en 17 Noviembre 2014, 02:56 AM
Hola a todos, estoy atorado en esta parte del manual de ricardo narvaja.
Mi problemas en la division " DIV y IDIV "
No me sale la división en el olly:

Desensamblado
   DIV ECX
Registros
   EAX(Inicial)=00000000 
   ECX(Inicial)=7FFFFFFF
   EDX(Inicial)=7C91E514

   EAX(Final)=F923CA29 
   ECX(Final)=7FFFFFFF
   EDX(Final)=7923CA29

La instruccion DIV ECX se ejecuto sin problemas a simple vista.
Y Utilizando la calculadora de windows divido EDX:EAX / ECX.

Es decir 7C91E51400000000 / 7FFFFFFF = F923CA29 que es el valor final
de EAX, pero el valor de EDX final tambien cambio a 7923CA29 y no
entiendo de donde salio ese valor. Si en teoria todo el valor de la
division se muestra en EAX.
A mi me parece que la Instruccion Div no la he llegado a captar como deberia ser.

Y si pueden podrian resolver un ejercicio con IDIV pero explicado para poder
entenderlo y continuar con el estudio de las siguientes Instrucciones.

Ya se que en Google encuentro info pero la verdad no la llego a pillar.

Agradecido Estare si a Resolver este Problema me Ayudan.

Como te puse en el otro post, revisa este link.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


dRak0

#2
Si bien recuerdo en EDX  te pone el resultado del modulo.

DIV ECX;
---------------
EAX=EDX:EAX /ECX
EDX=EDX:EAX%ECX

Diferencias entre el DIV y IDIV , es que uno es para unsigned y otro para signed respectivamente.

PD:No crees 10 mensajes iguales pidiendo ayuda.

Jholer

Gracias por las ayudas mas a ti MCKSys Argentina muchisisisisimas gracias por pasarme ese link me sirvio muchisimo.  ;-)