Цитата(Charoit @ Jan 28 2010, 18:26)

Мне бы пример, если Вам несложно

Статическая память микроконтроллеров AVR начинается с регистрового файла. Прямо с $00...
Открываете даташит на Ваш микроконтроллер и смотрите адрес нужного Вам регистра. Например R0=$00, R1=$01,...R31=$1F
Объявляем указатель: volatile char *R2 // название дано для наглядности...
Объявляем переменную: volatile char x // сюда будет загруженно содержимое
Заносим в указатель адрес регистра: R2 = 0x02 // адрес регистра R2
Читаем его : x = *R2 // содержимое регистра R2 - в переменной х
Можете ещё посмотреть функции для прямого доступа к памяти в WinAVR...
Ассемблерную вставку напишу позже, если понадобится...

Там можно заставить компилятор ассоциировать например
переменную X c регистром общего назначения и соответственно любое обращение к X равноценно выбранному регистру.
Всё это делается исключительно для читабельности исходного файла, потому как машинный код что в первом примере, что
в последнем будет одинаков...