| |
|
|
Frank Abbing | Hi,
ich wurde in letzter Zeit oft gefragt, warum MASM32 bei Benutzung der High-Level Bedingungen nur mit positiven Zahlen richtig arbeitet.
[box:315553035e].if eax>64 .endif[/box:315553035e] So arbeitet die Bedingung einwandfrei, sofern eax nicht niedriger ist als Null.
[box:315553035e].if eax<-64 .endif[/box:315553035e] Das aber kann in die Hose gehen, weil MASM32 voreingestellt mit nur positiven Zahlen operiert. Sobald nicht sicher ist, das keine negative Zahl beteiligt ist, sollte das auch MASM mitgeteilt werden. Das Beispiel oben sähe dann so aus:
[box:315553035e].if SDWORD PTR eax<SDWORD PTR -64 .endif[/box:315553035e] Vor den Wert also immer SDWORD PTR setzen. |
|
|
| |
|
|