Hallo zusammen,
wohl mal wieder eine meiner üblichen "sieht den Wald vor lauter Bäumen nicht"-Fragen.
Wie kann ich denn eine Adresse (z.B. $0380) in eine Variable (z.B. "Tabelle") übertragen?
Hintergrund ist, dass ich bei mehrmaligem Aufruf einer Subroutine gerne die im Sourcecode verwendete Variable "Tabelle" jedesmal mit einer neuen Adressen füllen will.
Ich stehe da grade mal total auf dem Schlauch; meine Idee bisher war, die Lo- und Hi-Bytes der Adressen einfach hintereinander irgendwo im Speicher abzulegen, diese (je nachdem, wann ich meine Subroutine aufrufe) dort auslese und und die irgendwie in die Variable der Subroutine übertrage.
Und genau beim letzten Schritt komme ich irgendwie net weiter...
Schematisch soll folgendes ablaufen...
Tabelle mit Bytes meiner Adressen -> Adresse in Variable -> ab in die Subroutine -> über die aktuelle Adresse in der Variable Daten aus dem Speicher lesen und damit rumrechnen...
Ich hab' so die Befürchtung, dass das wohl ohne selbstmodifizierenden Code net zu machen geht, also meine Subroutine z.B. ab $1000 assemblieren und die Bytes für die Adresse, die ich im jeweiligen Durchlauf verwenden will, direkt in die Speicherstelle schreiben, an der dann z.B. mein LDA $xxxx kommt.
Wie würdet ihr das lösen?
Gruß und Danke,
Mnemonic