Журнал Компьютерра -728   ::   Компьютерра

Страница: 159 из 175



Возможно, поэтому главной особенностью

AVR стал решительный разрыв с

характерными для существовавших ранее

архитектур с инструкциями,

выполнявшимися через специальный

регистр-аккумулятор: большинство команд

здесь может непосредственно оперировать

с регистрами общего назначения (которых

имеется аж 32 штуки), в ряде случаев

вообще не нуждаясь в обращении к ОЗУ.

Потому структура ассемблерных программ

для AVR стала подозрительно напоминать

программы на языке высокого уровня, где

операторы работают не с ячейками памяти

и регистрами, а с абстрактными

переменными и константами. Мало того, в

ряде младших моделей нельзя даже

напрямую работать со стеком - для

программы он при таком количестве

регистров-переменных оказывается

попросту ненужным, и используется лишь

аппаратно при вызове

подпрограмм.

Сделать шажок к

переходу от ассемблера на С при такой

архитектуре значительно проще:

фактически оставалось лишь упаковать то,

что знаменитый программист Дейкстра

назвал "лапшой условных и безусловных

переходов", в привычные циклы с

предусловием/постусловием или операторы

выбора. Именно по этим причинам

архитектура AVR считается наиболее

приспособленной к программированию на

С.

Причем различные способы

адресации, имеющие такое важное значение

в архитектуре х51, здесь разбросаны по

совершенно разным командам, и

программист вообще может не изучать

соответствующий раздел инструкции.

|< Пред. 157 158 159 160 161 След. >|

Java книги

Контакты: [email protected]