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
Gast #18174
Lesenswert?
• ▲
▼
Z+ geht schon, allerdings nicht bei LPM. Wie schon gesagt, der 
LPM-Befehl schreibt immer das von Z adressierte Byte aus dem 
Programmspeicher nach r0. lpm hat keine weiteren Operanden.
Und das es den Befehl beim 1200er nicht gibt, stört mich mehr als alle 
anderen Einschränkungen.
Gast #18175
Lesenswert?
• ▲
▼
Beim LPM Befehl gibt es sehr wohl Operanden, allerdings nur bei den AVR 
MEGA. Bei den normalen AT90S, soweit diese über den LPM Befehl verfügen 
wird im das durch den Zeiger ZL|ZH spezifizierte Byte aus dem Flash nach 
R0 übertragen. Bei den MEGAs gibt es noch die Spielarten:
LPM  Reg,Z
LPM  Reg,Z+
wobei Reg = R0 - R31

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.