direkter Zugriff auf Register

OP #548184
Lesenswert?

Hallo,
ich habe ein C Programm mit eingebundenen Assembler Dateien geschrieben. 
Eine Interruptroutine ist in Assembler verfasst. Diese änder den Wert im 
Register R18. Nun möchte ich in meinem Hauptprogramm (in C) dieses 
Register auslesen und an eine andere Funktion übergeben.
Doch wie kann ich in C direkt auf das Register zugreifen?
Vielen Dank.
Moderator Persönliche Seite #548198
Lesenswert?

r18 ist unpraktisch, da es zu den Arbeitsregistern des Compilers
gehört.

Du musst ein Register fest an eine Variable binden, wie das geht, steht
hier:

http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_regbind

(Ich gehe mal von AVR-GCC aus.)

Sinnvollerweise benutzt man dafür Register ab r2 aufsteigend, das
ergibt die geringste Kollisionswahrscheinlichkeit mit der normalen
Compilernutzung.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren