Hallo Leute, ich möchte über das Register y Daten in den Speicher schreiben und lesen. Quellcode sieht so aus: .def yl = r28 .def yh = r29 .equ Variablen =0x100 .equ test =variablen+70 ldi yh,high(variablen) ldi yl,low(variablen) STD y+(test),temp AVR Studio assembliert die Zeile STD nicht. Meldet nur Fehler >Illegal Argument type or count. Was aber völlig verwirrend ist, das .equ test = variablen+30 ok ist :) Speicherbereich ist 0x100 - 0x4ff Was mache ich falsch oder kann bei dem Mega der Speicherbereich nicht überall angesprochen werden :) Gruß Bernhard Gruß Bernhard
Hallo Bernhard Wenn ich das richtig sehe, versuchst Du etwas nach y+0x146 zu schreiben. Das ist zuviel des Guten, weil das Displacement so gross nicht werden darf. Mache mal aus .EQU test = variablen + 70 die Zeile .EQU test = 70 Das dürfte Deiner Intention etwas näher kommen. MfG Gerd
Ein Blick in die Instruction Set Doku oder das HELP von AVR Studio hätte genügt. STD Y+Offset,Register und STD Z+Offset,Register erlauben als Wertebereich für Offset nur 0...63
Danke für die Hilfe. 6 Bit als Anhang. Habe ich jetzt verstanden. Bernhard
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.