| |
|
|
| So, folgende Frage: Ich muß eine Struktur erzeugen, die zwei Words und ein Doubleword enthält. Wie erzeuge ich in ASM diese Struktur? Wie belege ich in ASM das zweite Word mit einer Zahl? Wie belege ich in ASM das Doubleword mit der Adresse eines Strings?
PS: Dein kleines Einstiegstutorial hier finde ich sehr gut. |
|
|
| |
|
|
|
Frank Abbing | Da gibt es mehrere Möglichkeiten. Die einfachste ist, die Struktur als Speicherbereich zu sehen:
|
|
|
| |
|
|
|
| OK, verstanden: 2x4 sind ja auch 8. |
|
|
| |
|
|
|
Frank Abbing | Wer lieber richtige Strukturen mag. Hier ein Beispiel zu Andreas Frage:
|
|
|
| |
|
|
|
| Für mich als Einsteiger ist erst mal Variante 1 leichter zu verstehen. |
|
|
| |
|
|
|
Frank Abbing | Daher hatte ich sie auch zuerst gepostet. Ich selber benutze auch häufig Variante 1. Da hat man mehr Kontrolle.
[quote:2b44ac7651]PS: Dein kleines Einstiegstutorial hier finde ich sehr gut.[/quote:2b44ac7651] Danke! Ist direkt für Profan-Quereinsteiger gedacht und möglichst simpel gehalten. |
|
|
| |
|
|
|
| Würde auch folgendes gehen?
.data
COUNTED_ANSI_STRING dw 0,0,0,0
string db "Probetext",0
.code
lea ebx,COUNTED_ANSI_STRING
mov ax,11
mov [ebx+2],ax
mov [ebx+0],ax
lea edx,string
mov [ebx+4],edx
An Byte 0 der Struktur müßte dann 11 stehen, an Byte 2 müßte dann 11 stehen und an Byte 4 die Adresse des Strings - richtig? |
|
|
| |
|
|
|
Frank Abbing | Nicht an Byte, sondern an Offset. Aber sonst hast du recht. Das kannst du auch leicht selber überprüfen, indem du den Debugger die Werte ausgeben lässt:
Schreib mal unter deinen Code. |
|
|
| |
|
|
|
| KLASSE,genau so was habe ich noch gebraucht. Danke! |
|
|
| |
|
|