Register und Variablen nutzen

Gast #99323
Hallo,

ich habe mal ne Frage zu den Registern und zwar benötige ich um das
Prog leicht verständlich zu machen mehr Variablen zu definieren.
Normalerweise geht das ja so:
.def Zahl1= r16

Aber mir reichen die Register nicht aus da ich einige durch die Pointer
draufgehen usw. Gibt es ne Möglichkeit einen Variablennamen einer
bestimmten 8bit Speicherstelle(SRAM) zuzuordnen?

Oder lassen sich die Register im Programm mehrmals umdefinieren, was
aber die schlechtere Lösung für mich wäre.

Also vielen Dank im Vorraus
Gast #99324
Klar kannst du SRAM-Inhalt mit einem Namen versehen, schau dir im
Assembler die Direktiven .dseg und .byte an. Natürlich musst du dann
auch die Werte erst aus dem SRAM holen, ehe du damit arbeiten kannst.
Gast #99325
Hallo,

Du kannst Registern mehrere Variablennamen zuweisen.Außerdem kannst Du
einer Variablen im SRAM einen Namen (=Label) für Ihre Adresse zuweisen.
Darauf zugreifen kannst Du jedoch wiederum nur über die Pointer.

Beispiel aus der Hilfe:
.DSEG
var1:   .Byte 1      ; ein einziges Byte reservieren für var1

.CSEG
ldi r30,low(var1)
ldi r31,high(var1)
ld r1,Z              ; lesender Zugriff

Gruß
Gast #99326
Hallo,

habe jetzt auch was gefunden, womit man direkt aufs sram zugreifen kann
aber leoder nur unter nutzung einer direkten speicheradresse.

lds r2,$FF00 ; Load r2 with the contents of data space location $FF00
add r2,r1        ; add r1 to r2
sts $FF00,r2 ; Write back

Anscheinend geht es damit, dann kann ich doch die Speicherstelle $60
mit ErgebnissAD ansprechen.
.equ  ErgebnissAD  =$60

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.