Abend zusammen, ich arbeite mich gerade in die Anwendung von Flash ROM ein, haben aber noch Unklarheiten: .include "m8def.inc" .def temp = r16 ldi temp, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse out SPL, temp ldi temp, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse out SPH, temp sbi DDRD,0 sbi DDRD,1 sbi DDRD,2 sbi DDRD,3 sbi DDRD,4 sbi DDRD,5 sbi DDRD,6 sbi DDRD,7 loop: ldi r17,0b00000011 ldi zl, LOW(muster*2) ldi zh, HIGH(muster*2) add zl, r17 lpm r17,z out PORTD, r17 muster: .db 0b00000000,0b00000000 .db 0b00000011,0b00000000 rjmp loop sollte nicht eigentlich am Ende des Vorgangs r 17 = 0b00000011 sein also der dritte Wert beim muster?
> sollte nicht eigentlich am Ende des Vorgangs r 17 = 0b00000011 sein > also der dritte Wert beim muster? Nöööö... Der erste Eintrag ist - Muster+0, dann kommt - Muster+1, - Muster+2 und - Muster+3. Wenn r17 also den Wert 3 hat, dann wird völlig korrekt auf das letzte Byte adressiert. Übrigens: Warum gibst Du den Wert für r17 binär ein? Ein ldi r17,3 hätte völlig gereicht. Sieht zwar nicht so cool (kryptisch) aus, ist aber richtig(er), da der Wert einen Zahlenwert (Index) verkörpert und kein Bitmuster. ...
Läubi Mail@laeubi.de wrote:
> das rjmp muss VOR!! das label muster:
Stimmt auch wieder...
...
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.