LPM Befehl funktioniert nicht ! Hilfe

Gast #18172
Lesenswert?

Hallo Leute,

Kann mir mal einer zeigen wie ich mit dem LPM Befehl richtig umgehe ?
Habe da Probleme das die Software nicht richtig im Mikrocontroller 
läuft.

Ich benutzte nen AT90S2313

Ich will eine Zahl aus dem Programmcodespeicher laden und diese Bitweise 
auf einen Ausgang scheiben.

Um dieses zu erreichen müsste es doch so Funktionieren :

...
... ; Sonstiger Code
...
LDI ZH,high(tabelle<<1)
LDI ZL,low (tabelle<<1)
LPM r16,z+
...
...
...
tabelle: .db 10,20,30,40


Wäre dieses so richtig ?
Gast #18173
Lesenswert?

Hi,

wußte gar nicht, daß man lpm noch Operanden geben kann...
Ich hab einfach nur lpm gemacht, dann ist der Wert in R0. Hast Du Dich 
in dieser Zeile vertippt?
Kannst ja einfach schreiben:

LDI ZH,high(tabelle<<1)
LDI ZL,low (tabelle<<1)
LPM
mov R16, R0

Was soll "z+" machen? Sowas wie in C ("z++") geht in ASM nicht...

Johannes

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren