PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ldi ZL, LOW(daten*2)



Vimi
24.05.2008, 10:03
Hallo

Eine kleine Frage am Rande:

Warum brauchts im folgenden Cood das *2 ???????

ldi ZL, LOW(daten*2) ; Low-Byte der Adresse in Z-Pointer
ldi ZH, HIGH(daten*2) ; High-Byte der Adresse in Z-Pointer

ohne funkt es nicht, hab ich schon ausprobiert, aber warum ?

.... Harald

linux_80
24.05.2008, 11:04
Hallo,

weil der Flash in Worten (2 Byte) adressiert wird, wegen dem Programmcounter, da alle Befehle mind. 2 Byte haben.
Die Adresse die in "daten" steht, muss man deshalb mit 2 mutliplizieren um an ein bestimmtes Byte zu kommen.

Vimi
24.05.2008, 11:06
Danke für deine Antwort!

... Harald