Programmaturz nicht lokalisierbar

15/02/2009 - 21:51 von Jens Kallup | Report spam
Hallo,

habe mal folgendes Problem ..


LClassID_masterforma: dd 0.0

segment .text
global _start_main
_start_main:
push ebp
mov ebp, esp
sub esp, 32
call LClassName_masterforma
push LClassID_masterforma
call _show_window
add esp, 4
leave
ret

LClassName_masterforma:
push ebp
mov ebp, esp
sub esp, 32

push dword [LClassID_masterforma]
call _init_class
add esp, 4

; bis hier geht alles normal,
; doch ab folgendem Code kann ich noch verzweifeln ...

mov edx, 200 ; Vorkomma
mov eax, 0 ; Nachkomma
mov ebx, Ergebnis
call Fix2Gleit
push dword [ebx+4]
push dword [ebx]
call _set_Ergebnis_Wert
add esp, 8
push dword [LClassProperty_masterforma__top]
push dword [_ErgebnisWert]
push dword [LClassID_masterforma]
call _set_this_wert

leave
ret



extern "C" void set_this_wert(float w, float wert, float pt)
{
int win = int(w);

printf("--> %d :: %4.4f, %4.4f, %4.4f",win,w,wert,pt);
...
gibt folgendes aus:


wie kommt die 3.6406 zustande? das muss doch 200 lauten?
Was mache ich da falsch?

Gruß
Jens
 

Lesen sie die antworten

#1 Jan Seiffert
15/02/2009 - 22:44 | Warnen spam
Jens Kallup wrote:
Hallo,

habe mal folgendes Problem ..



[snip]

; bis hier geht alles normal,
; doch ab folgendem Code kann ich noch verzweifeln ...

mov edx, 200 ; Vorkomma
mov eax, 0 ; Nachkomma
mov ebx, Ergebnis
call Fix2Gleit
push dword [ebx+4]
push dword [ebx]



Sind hier die 200.0 drin ??

call _set_Ergebnis_Wert
add esp, 8



Und warum entfernst du sie dann wieder vom Stack?

push dword [LClassProperty_masterforma__top]


^^^^^^
Oder soll hier 200.0 drin sein?

push dword [_ErgebnisWert]
push dword [LClassID_masterforma]
call _set_this_wert

leave
ret



extern "C" void set_this_wert(float w, float wert, float pt)
{
int win = int(w);

printf("--> %d :: %4.4f, %4.4f, %4.4f",win,w,wert,pt);
...
gibt folgendes aus:


wie kommt die 3.6406 zustande? das muss doch 200 lauten?
Was mache ich da falsch?




Ich glaube Stack handling ist nicht deine staerke...

Gruß
Jens


Gruss
Jan

HAI
CAN HAS STDIO?
PLZ OPEN FILE "LOLCATS.TXT"?
AWSUM THX
VISIBLE FILE
O NOES
INVISIBLE "ERROR!"
KTHXBYE

Ähnliche fragen