Programm bleibt stecken ...

02/07/2010 - 18:53 von Jens Kallup | Report spam
Warum bleibt das folgende Programmstück hàngen?






L41:
fld QWord [LC175]
fstp QWord [_variablea] ; variableA = 1

Le42:
L43: ; DO WHILE
fld qword [_variablea] ; variableA
fld QWord [LC176] ; = 10
fxch st1
fucompp
fstsw ax
sahf
jne near Le42
L45:
fld qword [_variablea] ; variableA
fld QWord [LC177] ; = -"-
faddp ; + 1
fstp QWord [_variablea]
call _print_string_nl
Push dword LCS179
call _cat_string
add esp, 4
L46:
fld qword [_variablea] ; IF variableA
fld QWord [LC180] ; = 5
fxch st1
fucompp
fstsw ax
sahf
jne near Le47
call _print_string_nl
Push dword LCS182
call _cat_string
add esp, 4
jmP neAR Le47 ; ENDIF
Le47:
jmP near Le48
Le48:
jmp Le42 ; ENDDO (while)


Gruß
Jens
 

Lesen sie die antworten

#1 Jan Seiffert
02/07/2010 - 21:03 | Warnen spam
Jens Kallup schrieb:
Warum bleibt das folgende Programmstück hàngen?




Deine Kommentare sind ja nett, aber um das wirklich zu kontrollieren, besonders
das da nicht woanders was schiefgelaufen ist, nutzlos...
Wie sagt man so schoen:
A bug in the code is worth two in the documentation.

>

L41:
fld QWord [LC175]
fstp QWord [_variablea] ; variableA = 1

Le42:
L43: ; DO WHILE
fld qword [_variablea] ; variableA
fld QWord [LC176] ; = 10
fxch st1
fucompp
fstsw ax
sahf
jne near Le42



hmmm, wenn sie nicht gleich sind, springe gleich weider zum Vergleich?
Und wann wird mal hochgezaehlt?

L45:
fld qword [_variablea] ; variableA
fld QWord [LC177] ; = -"-
faddp ; + 1
fstp QWord [_variablea]



Welchen parameter uebergibst du an print_string_nl? Oder bekommt das keinen?

call _print_string_nl
Push dword LCS179
call _cat_string
add esp, 4
L46:
fld qword [_variablea] ; IF variableA
fld QWord [LC180] ; = 5
fxch st1
fucompp
fstsw ax
sahf
jne near Le47
call _print_string_nl
Push dword LCS182
call _cat_string
add esp, 4
jmP neAR Le47 ; ENDIF
Le47:
jmP near Le48
Le48:
jmp Le42 ; ENDDO (while)


Gruß
Jens



Gruss
Jan

Steinbach's Rule:
Never test for an error condition you don't know how to handle.

Ähnliche fragen