Прямая адресация
При прямой адресации адреса операндов содержатся непосредственно в слове команды. Микроконтроллеры семейства поддерживают следующие разновидности прямой адресации: прямая адресация одного РОН, прямая адресация двух РОН, прямая адресация РВВ. Прямая адресация одного регистра общего назначения Этот способ адресации используется в командах, оперирующих с одним из регистров общего назначения. При этом адрес регистра-операнда (его номер) содержится в разрядах 8…4 (5 бит) слова команды (Рис. 5.6). Положение разрядов d на рисунке показано условно. $<_IL_016>$ Рис. 5.6. Прямая адресация одного регистра общего назначения Примером команд, использующих этот способ адресации, являются команды работы со стеком (PUSH, POP), команды инкремента (INC), декремента (DEC), а также некоторые команды арифметических операций. Прямая адресация двух регистров общего назначения Этот способ адресации используется в командах, оперирующих одновременно с двумя регистрами общего назначения. При этом адрес регистра-источника содержится в разрядах 9, 3…0 (5 бит), а адрес регистра-приемника в разрядах 8…4 (5 бит) слова команды (Рис. 5.7). Положение разрядов r и d на рисунке показано условно. Рис. 5.7. Прямая адресация двух регистров общего назначения К командам, использующим этот способ адресации, относятся команда пересылки данных из регистра в регистр (MOV), а также большинство команд арифметических операций. Кроме того, этот способ адресации используют даже некоторые команды, имеющие только один регистр-операнд. При этом источником и приемником является один и тот же регистр. В качестве примера можно привести команду очистки регистра (CLR Rd), которая в действительности выполняет операцию «Исключающее ИЛИ» регистра с самим собой (EOR Rd,Rd). Прямая адресация регистра ввода/вывода Данный способ адресации используется командами пересылки данных между регистром ввода/вывода и регистровым файлом —IN и OUT. В этом случае адрес регистра ввода/вывода содержится в разрядах 10, 9, 3…0 (6 бит), а адрес РОН — в разрядах 8…4 (5 бит) слова команды (Рис. 5.8). Положение разрядов r/d и P на рисунке показано условно. Рис. 5.8. Прямая адресация регистра ввода/вывода
|