Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

Шаг 2. Переходим от цифровой техники к микропроцессору и микроконтроллеру 59 операция, которую способен выполнять конкретный микропроцессор, кодируется некоторым числом. Это число называется кодом операции. Коды операций записываются последовательно, один за другим в память микропроцессорной системы (в ОЗУ либо в ПЗУ). Процессор последовательно, байт за байтом, читает коды операций и выполняет их по мере поступления. Это полезно запомнить. Программа — это последовательность операций, которую должен выполнять процессор. Она записывается в память в виде последова ­ тельности кодов. В простых процессорах для кодирования всех команд достаточно одного байта. Одна команда — один байт. В более сложных процессорах число команд возрастает настолько, что одного байта для их кодирова ­ ния не хватает. В этом случае для кодирования команд используют два, а иногда и более байтов. Причем чаще всего применяют гибкую систему кодирования. В такой системе одни команды кодируются одним байтом, другие двумя и так далее. Причем кодировка учитывает частоту примене ­ ния той или иной команды. Чем чаще команда встречается в программах, тем короче ее код. Для кодирования команд недостаточно указать код, определяющий вид операции. Например, для команды сложения двух чисел процессору нужно указать: ♦ адрес ячейки, где хранится первое число; ♦ адрес второго числа; ♦ адрес, куда нужно поместить результат. Поэтому каждая команда, кроме кода операции, может содержать еще один или несколько параметров. Это не обязательно адреса операндов (как в приведенном примере). Параметрами могут служить константы, номера вспомогательных регистров и другие специальные коды. Существуют самые разные способы кодировки команд. Иногда команда состоит из двух байт. Первый байт — это код операции, а вто ­ рой — параметр. Бывает так, что вся команда вместе с параметрами укла ­ дывается в один байт. При этом часть битов этого байта — код операции, а другая часть — параметр. Бывают и другие варианты. В микропроцессорах серии AVR для кодировки каждой команды используется одно двухбайтовое слово. Для некоторых особо сложных команд кодировка может состоять из двух и более слов. Система команд микропроцессоров AVR приведена в Приложении 2.

RkJQdWJsaXNoZXIy MTExODQxMg==