Datentabelle über 64k ansprechen (beim Mega128)

Gast #152774
Lesenswert?

Hallo,

ich möchte gerne eine meiner Datentabellen, die sich über 64k
befindet/befinden soll auslesen. Dazu habe ich zwei Fragen:

1.: Wie schaffe ich es, nur diese Tabelle über 64k zu bekommen, und der
Rest liegt noch darunter? Mit .DSEG ?!?

2.: Wie lese ich diese dann aus? Sonst nehme ich:

  ldi  ZH,high(SPRUNGMARKE*2)
  ldi  ZL,low(SPRUNGMARKE*2)
  lpm

Mir ist das mir RAMPZ usw. nicht wirklich klar.

Ich will praktisch meinen ganzen Code beim alten lassen und nur diese
eine Tabelle (halt recht groß) über 64k "auslagern" und da auslesen.

Ich bin über jeden Tip oder ein kleines Beispiel sehr dankbar! :-)

Sebastian
Gast #152775
Lesenswert?

elpm duerfte hier hilfreich sein. Ideen kann man sich aus der Datei
pgmspace.h der avr-libc "ausleihen". Die eigentlichen Funktionen
darin sind in inline-assembler geschrieben, sollte also recht einfach
in "reinen Assembler" zu uebertragen sein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren