Forum: Mikrocontroller und Digitale Elektronik Warum zur Adressierung einer Flash-Konstante Adresse mir 2 multiplizieren?


von Fred (Gast)


Lesenswert?

Hi.
Lese hier gerade ein Buch über µC. Dort steht: "Für die byteweise 
Adressierung der wortorganisierten Flash-Speichers ist es erforderlich, 
die Wortadresse mit dem Faktor 2 zu multiplizieren."

Dann noch ein Beispiel:

ldi ZL,LOW(konst*2)
ldi ZH,HIGH(konst*2)
lpm
mov akku,r0

konni: .DB 123



Es funktioniert auch, nur ist mir nich klar warum ich die Adresse mit 2 
multipizieren muss.

von Otto (Gast)


Lesenswert?

> wortorganisierten Flash-Speichers

ein Wort sind 2 Byte

von (prx) A. K. (prx)


Lesenswert?

Weil Atmels(!) Assembler Code und Daten im Flash als Worte aus 2 Bytes 
durchzählt. Der LPM Befehl adressiert aber einzelne Bytes.

von Matthias (Gast)


Lesenswert?

Was steht denn in dem Buch darüber, wie man mehrere Bytes in "einer 
Reihe"
addressiert? (z.B. Für einen String oder eine LUT)

von Falk B. (falk)


Lesenswert?


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
Noch kein Account? Hier anmelden.