Forum: Mikrocontroller und Digitale Elektronik LPM not supported on this device... ???


von Andreas H (Gast)


Lesenswert?

Hallo!

Jetzt bin ich grad etwas stutzig geworden... ich verwende einen 
AT0ßS8515 und möchte aus dem Programmspeicher einige Konstanten laden. 
Folgenden Code habe ich mal eben auf die Schnelle verzapft:

    ldi ZH, HIGH(2*code00)  ; Adresse des Code-Anfangs
    ldi ZL, LOW(2*code00)  ; ins Z-Register

    lpm bit_a, Z+      ; *
    lpm bit_b, Z+      ; * Lese die Codes
    lpm bit_c, Z+      ; * aus dem Programm-
    lpm bit_d, Z+      ; * Speicher und
    lpm bit_e, Z+      ; * lege sie in
    lpm bit_f, Z+      ; * die Register
    lpm bit_g, Z+      ; * bit_a bis bit_h
    lpm bit_h, Z      ; *

beim compilieren bekomme ich dann folgende "Warnung":

D:\Eigene Dateien\Atmel-AVR\Card-Com\master002.asm(219) : warning : 'LPM 
Rd,Z+' not supported on this device

klappt das nicht bei nem 8515? Zum Ende allerdings meldet er mir:

Assembly complete with no errors.
D:\Eigene Dateien\Atmel-AVR\Card-Com>

Oder liegt das an der 4er version vom Studio? Wenn das nicht auf dem 
8515 funktioniert, wie lese ich dann meine Konstanten aus dem 
Programmspeicher?

ciao,
   Andi

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Der lpm-Befehl kann beim 8515 die Daten nur aus dem Z-Pointer nach R0 
lesen. Beispielcode: 
http://www.mikrocontroller.net/forum/read-4-572.html

von Andreas H (Gast)


Lesenswert?

Hallo Andreas!

Aaalles klar, danke! Ich habs hinbekommen. Schade das das nicht mit dem 
Z+ geht, hätte mir ein paar zeilen Code gespart. Aber egal. :)

ciao,
   Andi

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.