Hallo, ich möchte gerne label adressen Speichern, und später wieder abrufen und in den Z-Pointer laden also im SRAM Platz reservieren: .DSEG label_addr: .BYTE 2 unter verschiedenen Labels sind daten abgelegt: label1: .db 00011101, 10101010 .db 11101010, 10001001 label2: .db 11010100, 11100111 .db 01010011, 11111111 ect. jetzt möchte ich abhöngig vom Inhalt eines registers eine best. Label Adresse im SRAM speichern in einer ISR soll dann der Z-Pointer mit der Adresse die im SRAM unter label_addr gespeichert ist geladen werden Wie speichere ich jetzt z.B. die Adresse von label2 in label_addr ? und wie kann ich dann den Z-Pointer damit laden Grüße Michael
;label2 von Wortadresse in Byteadresse wandeln ;und im RAM speichern ldi r16,low(label2<<1) sts label_addr,r16 ldi r16,high(label2<<1) sts label_addr+1,r16 ;z aus Memory laden lds zl,label_addr lds zh,label_addr+1
Hallo, der Zeiger zeigt ins Ram, nicht in den Flash. Es sind also alles Byte-Adressen. ldi r16,low(label2) sts label_addr,r16 ldi r16,high(label2) sts label_addr+1,r16 dürfte also eher passen. Gruß aus Berlin Michael
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.