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


von Fred S. (Gast)


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

von Fred S. (Gast)


Lesenswert?

P.S.

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

Fred

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

1
register uint16_t spibyte asm("r4");

von Fred S. (Gast)


Lesenswert?

Super - vielen Dank, Jörg!

Gruß

Fred

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.