МИКРОКОНТРОЛЛЕР AVR - Страница 18

МИКРОКОНТРОЛЛЕР AVR - МИКРОКОНТРОЛЛЕР AVR

реально выполняется так: RO = RO + Rl.Рассмотренные способы адресации операндов называются прямой регистровой адресацией (рис. 32.16.).

Рис. 32.16. Прямая адресация AVR к двум РОН

Операнды могут также входить в состав команды. В других контроллерах это называется «непосредственной адресацией». В AVR будем называть этот способ адресации «непосредственной прямой регистровой» (рис. 32.17.). Хорошим примером команды с такой адресацией является «ORI». Я хочу обратить ваше внимание на эту команду по одной важной причине. Так как поле адреса составляет 4 бита, вы можете обращаться только к 16 старшим РОН. Это, очевидно, окажет влияние на то, как разместить данные в ваших рабочих регистрах. Чтобы избежать ошибок, можно рекомендовать использовать в качестве рабочих 16 старших регистров общего назначения, имеющих адреса с $10no$lF.

Рис. 32.17. Непосредственная адресация AVR

Последняя форма прямой адресации, применяемая для доступа ко всему объему адресуемой памяти, использует второе слово команды для указания 16-разрядного адреса. При этом способе адресации данные, размещенные в любой точке адресуемой памяти, поступают в РОН или выбираются из них. Есть две особенности, на которые стоит обратить внимание при такой адресации. Первая особенность - опять доступны только 16 старших РОН. Вторая особенность - команды с такой адресацией не реализуются в младших моделях AVR1200. В этих моделях для передачи данных между РОН и набором регистров ввода-вывода используются команды «in» и «out», реализующие прямую адресацию двух регистров.

Go to Top