Christian Ress
2006-09-11 16:14:05 UTC
Hallo,
ich bin beim Programmieren auf ein Problem mit dem Inhalt von einer
Variable gestossen.
Ich definiere zwei Variablen, tmp_dw1 und tmp_dw2 so:
tmp_dw1 dw 0
tmp_dw2 dw 0
und weise ihnen anschliessend wiefolgt einen Wert zu:
mov dword [tmp_dw1], 5
mov dword [tmp_dw2], 6
Mir ist allerdings aufgefallen, dass ich auf sehr komische Ergebnisse
komme wenn ich mit tmp_dw1 weiterrechne, also hab ich den Debugger
angeworfen und geguckt was schief laeuft. Nachdem ich tmp_dw2
zugewiesen habe steht in tmp_dw1 393221.
gdb output:
10 mov dword [tmp_dw1], 5
11 mov dword [tmp_dw2], 6
(gdb) print tmp_dw1
$1 = 5
(gdb) n
12 mov eax, 1
(gdb) print tmp_dw2
$2 = 6
(gdb) print tmp_dw1
$3 = 393221
Wie weise ich den Variablen "richtig" einen Wert zu?
Danke,
Christian
ich bin beim Programmieren auf ein Problem mit dem Inhalt von einer
Variable gestossen.
Ich definiere zwei Variablen, tmp_dw1 und tmp_dw2 so:
tmp_dw1 dw 0
tmp_dw2 dw 0
und weise ihnen anschliessend wiefolgt einen Wert zu:
mov dword [tmp_dw1], 5
mov dword [tmp_dw2], 6
Mir ist allerdings aufgefallen, dass ich auf sehr komische Ergebnisse
komme wenn ich mit tmp_dw1 weiterrechne, also hab ich den Debugger
angeworfen und geguckt was schief laeuft. Nachdem ich tmp_dw2
zugewiesen habe steht in tmp_dw1 393221.
gdb output:
10 mov dword [tmp_dw1], 5
11 mov dword [tmp_dw2], 6
(gdb) print tmp_dw1
$1 = 5
(gdb) n
12 mov eax, 1
(gdb) print tmp_dw2
$2 = 6
(gdb) print tmp_dw1
$3 = 393221
Wie weise ich den Variablen "richtig" einen Wert zu?
Danke,
Christian