Array im SRAM

Gast #855144
Lesenswert?

Hallo zusammen,
ich möchte gernen ein Array im SRAM anlegen...

Dazu hab ich zunächst am Ende des Quellcodes folgendes eingebracht:
1
 
2
.dseg
3
test:  .BYTE 500

Damit habe ich mir ja 500 Byte im SRAM reserviert,
gibt es eine Möglichkeit ohne den z-Pointer auf Zelle 250 zuzugreifen?

Mir ist aufgefallen das
1
sts test+250,Variable
funktioniert...
Ich möchte nun aber gerne einen counter an die Stelle von 250
schreiben, da bekomm ich aber Fehlermeldungen:
error: syntax error, unexpected REGDEF

Kann mir jemand einen Tip geben wie ich das  machen kann...
#855159
Lesenswert?

Michael wrote:

> Mir ist aufgefallen das
>
1
> sts test+250,Variable
2
>
> funktioniert...

Das geht aber nur deshalb, weil die effektiv zu lesende Adresse
bereits zur Assemblierzeit bekannt ist und daher der Assembler
bereits die Adressberechnung macht.
Das hilft dir aber nichts, weil bei dir die Adressberechnung
erst zur Laufzeit stattfinden soll.

> Kann mir jemand einen Tip geben wie ich das  machen kann...

http://www.mikrocontroller.net/articles/AVR-Tutorial:_SRAM

Du brauchst den Z-Pointer
Den lädst du mit der Startadresse von test, addierst dann noch
den Inhalt von counter dazu und benutzt ST um von der so
errechneten Speicheradresse zu lesen.

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