NASM 8086 Adressierung von Variablen/Tabellen
-
Also ich habe folgenden Code:
MAIN: call EINGABE ;Erste Hexziffer eingeben ;Jetzt müsste ich irgendwie die Adresse von Ziffbasis um +1 erhöhen ; inc ziffbasis geht ja so leider nicht call EINGABE ;Zweite Hexziffer eingeben jmp MAIN EINGABE ;Hier wird eine Hexziffer eingegeben mov [ziffbasis], al ; Eingabe in Spalte Speichern RET EINGABE ziffbasis db 0 ;Erste Hexziffer db 0 ;Zweite Hexziffer
Also wie kann ich ziffbasis hinbiegen, das ich beim 2ten Aufruf des Unterprogramms an die 2te Spalte der Tabelle schreibe?
-
Schon mal was von Pointern gehoert?
Ich wuerde vorschlagen, einen solchen zu verwenden statt einer fixen Adresse.
Den koenntest du deiner Funktion uebergeben - zB. praktischerweise in irgendeinem Register, mit dem sich adressieren laesst.
-
Nobuo T schrieb:
Schon mal was von Pointern gehoert?
Hm jo in c/c++ .
Wie läuft das den in asm?
-
Vom Prinzip her genau so.
Ein Offset kopierst du in NASM wie folgt:mov di, ziffbasis
Damit hast du deinen Pointer auf ziffbasis in di stehen.
-
hm und wenn ich nun di inkrementiere bin ich in der 2ten spalte oder?