sram und assembler auf atmega128

Gast #800452
Lesenswert?

Hallo microcontrollerforum,

wegen einer Registerknappheit wollte ich auf das SRAM des mega128
von AVR zurückgreifen. Um STS und LDS komfortabel nutzen zu koennen
habe ich auf euere prima Tutorial zurückgegriffen und im Datensegment
Variablen deklariert. Leider musste ich feststellen das dies ab einer
Adresse von 0x60 bei meinem Programm nicht so richtig funktionierte.
Ich hatte dann die vorher angelgeten .db's in Verdacht und erhöhte nach
Gutduenken die Startaddresse auf 0x90. Jetzt Funktionierte es. Meine 
Frage
ist jetzt wie wohl der Zusammenhang zwischen Anzahl der .db Bytes und 
der
Verschiebung der org-Addresse ist. Gibt es hier auch so etwas wie 
Wortgrenzen (Gerade Anzahl von Bytes) wie
bei der SPS ? Also am liebsten hätte ich eine Formel wie :
nimm die anzahl der Bytes und addiere sie zu dem Hexwert der orgaddresse 
0x60
hinzu oder so.

hier ein codeausriss:

ret


Text0:
.db   " Hallo Bitz "

Text1:
.db   " Hallo Lotti"


.DSEG                       ; das Folgende kommt ins SRAM
 .org 0x90  ;etwas platz lassen von 0x60 verm wg .db's??
Count:      .BYTE   1
TaFlag1_8:  .BYTE   1                   ; Eingabeflag 1-8
TAFlag9_10: .BYTE   1                   ; Eingabeflag 9-10
RELFlag1_8: .BYTE   1                   ; Ausgabeflag 1-8
RELFlag9_10:.BYTE   1
TaCount1_8: .BYTE   1


mfG T.Mohrs

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