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.