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
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.
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ß
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.