@magic33
Das ist im Prinzip das gleiche wie in meinem Quellcode.
Wobei bei Deiner Variante wieder das Kurzschlußproblem bei 2 gleichzeitig gedrückten Tasten auftritt, wenn es nicht durch Hardwaremassnahmen verhindert wird.

Denn ich möchte einen Wert, den ich mittels Tastendruck ermittle, in ein allgemeines Regíster, zB: r16 (bzw. ins EE-PROM) bringen.
Mit dem direkten Zugriff auf die Register musst Du vorsichtig sein.
Die meisten Register werden durch den C-Compiler belegt und dürfen nicht so ohne weiteres verändert werden.
Auskunft sollte auch hier das Handbuch des Compilers geben.

Der Zugriff aufs EEPROM wird in Codevision schon bei der Initialisierung der Variable gemacht.

eeprom unsigned int ui_test=0;

ui_test=ui_variable; // Schreibt den Wert von ui_variable ins eeprom.
Bei Win AVR hilft nur nachschauen.

Mit dem Beschreiben des EEPROM's solltest Du aber sehr sparsam umgehen.
1. Dauert es ziemlich lange.
2. Ist nur eine beschränkte Anzahl von Schreibvorgängen möglich. Bei den neueren Typen sind es 100.000 soweit ich weiß. Das steht aber im jeweiligen Datenblatt.