Все команды оперирующие регистрами прямо адресуются к любому из регистров за один машинный цикл. Единственное исключение - пять команд оперирующих с константами SBCI, SUBI, CPI, ANDI, ORI и команда LDI, загружающая регистр константой. Эти команды работают только со второй половиной регистрового файла - R16..R31. Команды SBC, SUB, CP, AND и OR, также как и все остальные, применимы ко всему регистровому файлу.
Каждому регистру присвоен адрес в пространстве данных, они отображаются на первые 32 ячейки ОЗУ. Хотя регистровый файл физически размещен вне ОЗУ, подобная организация памяти дает гибкий доступ к регистрам. Регистры X, Y и Z могут использоваться для индексации любого регистра.
Кроме обычных функций, регистры R26..R31 имеют дополнительные функции, эти регистры можно использовать как адресные указатели в области памяти данных. Эти регистры обозначаются как X,Y,Z и определены следующим образом:
15 |
0 |
|||
Регистр X |
7 |
0 |
7 |
0 |
R27($1B) |
R26($1A) |
|||
15 |
0 |
|||
Регистр Y |
7 |
0 |
7 |
0 |
R29($1D) |
R28($1C) |
|||
15 |
0 |
|||
Регистр Z |
7 |
0 |
7 |
0 |
R31($1F) |
R30($1E) |
|||
При различных режимах адресации эти регистры могут использоваться как фиксированный адрес, для адресации с автоинкрементном или с авто декрементом.