mikrocontroller.net

Forum: Compiler & IDEs 16 bit register Variable - wie?


Autor: Fred S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in GCC lassen sich 8-Bit Register Variable problemlos so deklarieren:

           register uint8_t zplane asm("r2");

Wenn ich entsprechendes für 16-Bit Variable versuche, z. B. so

           register uint16_t spibyte asm("r4:r5");

    , erhalte ich die Fehlermeldung "error: invalid register name".

Lassen sich 16-Bit Variable als Register Variable definieren (mit den 
durch 16-Bit Assembler-Befehle ansprechbaren "Doppelregistern")? Was ist 
die korrekte Syntax? Muss/kann man evtl. über eine "union" gehen?

Danke!

Fred

Autor: Fred S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.S.

        register uint16_t spibyte asm("r5:r4"); geht übrigens auch 
nicht.

Fred

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
register uint16_t spibyte asm("r4");

Autor: Fred S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super - vielen Dank, Jörg!

Gruß

Fred

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.