Журнал Компьютерра -728 :: Компьютерра
Страница:
159 из 175
Возможно, поэтому главной особенностью
AVR стал решительный разрыв с
характерными для существовавших ранее
архитектур с инструкциями,
выполнявшимися через специальный
регистр-аккумулятор: большинство команд
здесь может непосредственно оперировать
с регистрами общего назначения (которых
имеется аж 32 штуки), в ряде случаев
вообще не нуждаясь в обращении к ОЗУ.
Потому структура ассемблерных программ
для AVR стала подозрительно напоминать
программы на языке высокого уровня, где
операторы работают не с ячейками памяти
и регистрами, а с абстрактными
переменными и константами. Мало того, в
ряде младших моделей нельзя даже
напрямую работать со стеком - для
программы он при таком количестве
регистров-переменных оказывается
попросту ненужным, и используется лишь
аппаратно при вызове
подпрограмм.
Сделать шажок к
переходу от ассемблера на С при такой
архитектуре значительно проще:
фактически оставалось лишь упаковать то,
что знаменитый программист Дейкстра
назвал "лапшой условных и безусловных
переходов", в привычные циклы с
предусловием/постусловием или операторы
выбора. Именно по этим причинам
архитектура AVR считается наиболее
приспособленной к программированию на
С.
Причем различные способы
адресации, имеющие такое важное значение
в архитектуре х51, здесь разбросаны по
совершенно разным командам, и
программист вообще может не изучать
соответствующий раздел инструкции.
|< Пред. 157 158 159 160 161 След. >|