О-о-очень хорошая статья - http://easyelectronics.ru/avr-uch....om.html
Пример. Возьмем входной регистр асинхронного приемопередатчика UDR он имеет адрес 0x0C (0х2С) в скобках указан адрес в общем адресном пространстве.
Код
; Загрузили в регистр R18 число 10. Просто так
LDI R18,10
; Вывели первым способом, компилятор сам
; Подставит вместо UDR значение 0х0С
OUT UDR,R18
; Вывели вторым способом. Через команду Store
; Указав адрес напрямую.
STS 0x2C,R18
Все те регистры, что не влезли в лимит 3F доступны теперь только одним способом — через Load/Store.
Тесть все MEMORY MAPPED регистры доступны через LDS/STS
Но есть и универсальный способ - использовать макросы.... Об этом можно почитать в статье...