PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : .ORG Anweisung in BASCOM



Feinmechanik
16.06.2006, 15:06
Hallo
ich möchte an einer fest definierten Stelle im Programmspeicher Daten ablegen. In Assembler würde ich die .ORG Anweisung nutzen. Wie geht das in BASCOM? Gibt es hier diese Möglichkeit?

Joe

PicNick
16.06.2006, 15:29
Bei SRAM-Variablen gibt DIM xxx AS xxxx AT &Hxxxx, das wirst du sicher wissen.

Für den FLASH-Programmspeicher gibt's sowas nicht.

Du kannst aber durch

Var = LOADLABEL( label )

die Adresse von einem Label (zum Laufzeitpunkt) rauskriegen

Feinmechanik
16.06.2006, 16:01
Zunächst vielen Dank für die schnelle Antwort! Das Problem liegt in der Nutzung des Z-Pointers. Das Prog ist so aufgebaut, dass die Daten immer fest an xx00 stehen müssen. Da es mit ORG nicht geht habe ich vorerst "Dummydaten" eingeschoben. Diese Möglichkeit ist aber sicher nicht sehr elegant, da bei jeder Programmänderung die Dummys neu ausgezählt werden müssen.
Joe

PicNick
16.06.2006, 19:06
Das kling nach Tabellen.
Geh, schau die doch mal die Befehle "LOOKUP() " und "LOOKDOWN()" an, ich glaub, die könnten dir helfen.
LOOKUP gibt dir aus einer (Flash)tabelle den x-ten Wert zurück,
LOOKDOWN sucht einen Wert in der Tabelle und gibt den Index davon zurück.
Für strings gibt's auch sowas