mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Variablenadresse im SRAM angeben?


Autor: Foreigner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sers.

Daten im SRAM zu speichern ist ja kein Problem, aber wie gebe ich die 
Adresse an?
Im Moment habe ich es so gemacht:
.dseg
variable1: .BYTE 1
variable2: .BYTE 1

.cseg
STS variable, r16
LDS variable, r16
....

Wenn ich das ganze debugge, sehe ich im AVR Studio, dass die 
Variablendaten irgendwo im SRAM abgelegt werden.
Ich möchte aber später über Pointer darauf zugreifen und dabei den 
Pointer erhöhen/erniedrigen können und so von Zelle zu Zelle springen. 
Im Moment ist das nicht möglich, da die Daten auseinander liegen.

Kann ich irgendwie angeben variable: .BYTE 1 Adresse XY ? Oder sowas in 
der Art?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Foreigner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Tutorial habe ich schon gelesen, aber das was ich suchte war 
Folgendes:
.dseg
;SRAM Startadresse oder beliebige andere Adresse
.ORG SRAM_START
var: .Byte 1

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Foreigner schrieb:
> Das Tutorial habe ich schon gelesen, aber das was ich suchte war
> Folgendes:
>
>
.dseg
> ;SRAM Startadresse oder beliebige andere Adresse
> .ORG SRAM_START
> var: .Byte 1

Verstehe jetzt den Zusammenhang nicht.
Alle im Progamm vorgefundenen DSEG werden sowieso in der Reihenfolge im 
SRAM abgelegt in der sie im Programm auftauchen. Der .ORG ist zwar nett 
aber eigentlich so nicht nötig.

Und wenn du über den Z-Pointer zugreifst hast du ja im Regelfall so 
etwas wie eine Tabelle. Gib einfach beim .BYTE an, wieviele Bytes du 
brauchst und der Assembler reserviert dir die entsprechende Anzahl in 
garantiert aufeinanderfolgenden Zellen :-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.