mikrocontroller.net

Forum: Compiler & IDEs gcc bzw. avr-as "undefined combination of operands"


Autor: AndreasH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe in der Assembler-Datei folgende Zeile eingegeben:

st X+, R27

und erhalte immer den oben genannten Fehler.
Zum Testen habe ich es dann folgendermassen in der C-Datei gemacht:
asm("st X+, R27");
Selbe Ergebnis.

Hiermit st X, R27 bzw. asm("st X, R27");
oder
st X+, R2 bzw. asm("st X+, R2");
geht es auch ohne weiteres.
Laut Doku sollte es aber auch mit R27 gehen.

Weiss jemand warum nicht.

Danke
Andreas

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doku:

The result of these combinations is undefined:
ST X+, r26
ST X+, r27
ST -X, r26
ST -X, r27

Weil: X ist nichts anderes als R27:R26. Wird also R27 vor oder nach dem
inkrementieren gespeichert?

Autor: AndreasH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, mit ein bischen Nachdenken hätte ich selber darauf kommen
müssen
Danke

Aber wo in der Doku hast Du das gelesen?
Im Assembler-Manual stand es nicht drin.
Will mir jetzt ersparen sämtliche Doku zu durchsuchen.

Autor: AndreasH (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag.


Habe es gestern abend im AVR-Studio versucht. Damit ging es
einwandfrei.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was nur zeigt, das GAS dem Programmierer unter die Arme greift, der
Atmel Assembler hingegen nach dem "Motto Mist rein Mist" raus
agiert.

Es ist ja eben "undefined", aber durchaus codierbar. Aber was dabei
zur Laufzeit rauskommt mag sich von Version zu Version unterscheiden.

Es steht in der Instruction Set Reference, DOC0856. Unter ebendiesem ST
Befehl.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.