Ensamblador - Error al dividir

 
Vista:

Error al dividir

Publicado por Francisco (3 intervenciones) el 23/06/2008 21:35:06
Hola.
Dentro de una aplicación funcional que representa una ventana con un título, se produce un error al ejecutar si se inserta el siguiente código:

mov eax,4
mov ebx,2
div ebx
mov eaxx,eax
invoke dwtoa, eaxx, addr Buffer ;Las variables han sido declaradas con anterioridad.
invoke SetWindowText,Hwnd,ADDR Buffer

mientras que si se introduce el mismo, pero cambiando la división por una multiplicación, éste funciona perfectamente y pone el resultado, como se esperaba, en la barra de título.

Dejando, a modo de prueba para eliminar posibles culpables, este fragmento:
mov eax,4
mov ebx,2
div ebx
se produce el error, mientras que con "mul" no; igual que anteriormente.

Este mismo código, que he encontrado en un ejecutable tipo calculadora, funciona perfectamente.

Utilizo masm32 v.9, que no presenta problemas a la hora de generar otras aplicaciones.

¿Alguien sabría decirme cuál es la causa?
Un saludo y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error al dividir

Publicado por Perceval (23 intervenciones) el 30/06/2008 23:20:16
Es todo un misterio para mi, pero pregunto por decir algo... El registro EAX estaba limpio?,es decir la parte alta esta en 0000h?... AX..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar