PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Indirekte Adressierung Fehler



martin007
14.12.2008, 16:13
Guten Tag

ich habe mir erstmal die Hilfe durchgelesen aber irgentwie komme ich da nicht weiter.

In der Hilfe wird der queltext geschrieben
LDI XL, LOW(Adresse)
LDI XH, HIGH(Adresse)
LD GPR, X ; '''Indirekt''': lade das Byte, wo der Pointer X hinzeigt

aber selbst bei den ldi XL LOW bekomme ich schon einen fehler beim Kompeliren.
ich nutze den SISY für win der quellkode ist:

L
ende: LDI XL, LOW(Adresse)
LDI XH, HIGH(Adresse)
LD GPR, X
lpm ; durch Z-Pointer adressiertes Byte
; in R0 laden
out PORTB, R0 ; an PORTB ausgeben

rjmp ende ; Endlosschleife

Adresse:
.db 0b10101010


so wie ich das vestehe sollte er sich die daten in dem db in das register R0 laden und dan ausgeben.der Kompiler sagt mir das dazu:

Kompiliere die Datei test_Indireckte_adressirung.s.
Assembler Meldungen:
test_Indireckte_adressirung.s:51 Fehler: ein konstanter Wert wird erwartet:
Kontrollieren Sie bitte die Schreibweise dieser Zeile.
Erwarte Register ab: 15
Fehler: ungültiges Zeichen am Zeilenende.
test_Indireckte_adressirung.s:52 Fehler: ein konstanter Wert wird erwartet:
Kontrollieren Sie bitte die Schreibweise dieser Zeile.
Erwarte Register ab: 15
Fehler: ungültiges Zeichen am Zeilenende.
test_Indireckte_adressirung.s:53 Fehler: ein konstanter Wert wird erwartet:
Kontrollieren Sie bitte die Schreibweise dieser Zeile.
test_Indireckte_adressirung.s:61 Fehler: unknown pseudo-op: `.db'
Ende.


Ich bedanke mich schonmal

Martin

bax
14.12.2008, 17:04
Hi,

verschiedene Dinge fallen mir auf:

1. ist GPR irgendwo definiert? (.def GPR = R16)

2. der LD-Befehl kann nur den SRAM auslesen, im ersten Beispiel müßten die Daten also erst in den SRAM geschrieben werden

3. zweites Beispiel: LPM nutzt immer nur den Z-Pointer, also dann ist ZH:ZL mit der Adresse versehen.

4. bei LPM beachten, das der Flashbereich mit 16bit organisiert ist, damit verschieben sich die Adressen. bei Dir wäre richtig: LDI ZL, LOW(Adresse * 2)

Rajko

PS: warum benutzt Du nicht das AVR Studio?

martin007
14.12.2008, 17:43
Danke für die meldung

So ich habe mir ein komplettpaket gekauft,und ich habe jetzt die seite gefunden die ich brauche. Mein fazit ist das ich erst mal das ding durcharbeiten werde und dan mal schauen wie weite ich komme.

thx

martin