|
|
8(495)909-90-01
8(964)644-46-00
pro@sio.su
|
|
Раздел: Документация0 ... 56 57 58 59 60 61 62 ... 195 Таблица 3.8. Группа команд управления системой Мнемоника | Описание | Операция | Число тактов | Флаги | NOP | Нет операции | 1 | - | SLEEP | Переход в «спящий» режим | См. соответствующие разделы | 3 | - | WDR | Сброс сторожевого таймера | См. соответствующие разделы | 1 | - | BREAK | Останов | Используется только внутрисхемным отладчиком | - | - |
3.5. Описание команд В этом разделе в алфавитном порядке перечислены все команды, поддерживаемые микроконтроллерами семейства Mega. Для каждой команды приводится ее детальное описание. При описании команд используются обозначения, приведенные в Табл. 3.9. Таблица 3.9. Обозначения, используемые при описании команд Обозначение, символ | Описание | Регистр состояния | SREG | Регистр состояния микроконтроллера | С | Флаг переноса (0-й бит регистра SREG) | Z | Флаг нуля (1-й бит регистра SREG) | N | Флаг отрицательного значения (2-й бит регистра SREG) | V | Флаг переполнения дополнительного кода (3-й бит регистра SREG) | S | Флаг знака (4-й бит регистра SREG); S = N Ф V | Н | Флаг половинного переноса (5-й бит регистра SREG) | Т | Пользовательский флаг (6-й бит регистра SREG) | I | Флаг общего разрешения прерываний (7-й бит регистра SREG) | Регистры и операнды | Rd | Регистр-приемник (иногда также регистр-источник) в регистровом файле | Rr | Регистр-источник в регистровом файле | К | Константа (данные) | к | Адрес — константа | b | Номер бита РОН или РВВ (0...7) | s | Номер бита регистра состояния SREG (0...7) | X, Y, Z | Индексные регистры (X = R27:R26, Y = R29:R28, Z = R31:R30) |
(продолжение) Обозначение, символ | Описание | I/O | Регистр ввода/вывода | А | Адрес в пространстве ввода/вывода | q | Смещение при относительной косвенной адресации (6-битное значение) | | Разделитель между названием (адресом) регистра и номером бита | [XX] | Содержимое ячейки памяти данных по адресу XX | {XX} | Содержимое ячейки памяти программ по адресу XX | Операции | — | Инверсия | • | Логическое И | V | Логическое ИЛИ | е | Исключающее ИЛИ | Система | PC | Счетчик команд | STACK | Текущий уровень стека | SP | Указатель стека | Флаги | о | Команда воздействует на флаг | 0 | Флаг сбрасывается командой в 0 | 1 | Фла1 устанавливается командой в 1 | - | Команда не влияет на состояние флага | ADC Rd,Rr Сложение двух РОН с переносом | Операция | Rd = Rd + Rr + С | Код операции | 0001 11 rd dddd rrrr 1 слово (2 байта) | Операнды | 0<d<31,0<r<31 | Описание | Складывает содержимое двух регистров Rr и Rd и прибавляет содержимое флага переноса С. Результат помещается в регистр Rd | Регистр SREG | I Т Н S V N Z С | — — <=><=><=><=> | Число тактов | 1 | Пример | ; Сложение двух регистровых пар R1:R0 и R3:R2 add r2, г0 ; Сложить младшие байты adc r3,rl ; Сложить старшие байты с учетом переноса |
ADD Rd, Rr Сложение двух РОН Операция | Rd = Rd + Rr | Код операции | OOOOllrddddd rrrr | | | | | 1 слово (2 байта) | Операнды | 0<d<31,0<r<31 | Описание | Складывает содержимое двух регистров Rr и Rd. Результат помещается в регистр Rd | Регистр SREG | I | Т | н | S | V | N | Z | С | - | - | о | о | <=> | <=> | <=> | <=> | Число тактов | 1 | Пример | add rl,r2 add r28,r28 | ; Прибавить г2 к rl (rl=rl+r2) ; Сложить г28 с самим собой (г2 | 8=г28+г2 | 8) |
ADIW Rd+1:Rd, К Сложение регистровой пары с константой Операция | Rd+l:Rd | = Rd+l:Rd + K | | | | | | Код операции | lOOlOHOKKdd КККК | | | | 1 слово (2 байта) | Операнды | d е {24, 26, 28,30},К = 0...63 | Описание | Складывает содержимое регистровой пары Rd+l:Rd с 6-битным числом. Результат помещается обратно в регистровую пару | Регистр SREG | I | Т | н | S | V | N | Z | С | - | - | - | <=> | <=> | <=> | <=> | | Число тактов | 2 | Пример | adiw adiw | r25:r24,l ; Прибавить 1 к г25:г24 ZH:ZL,63 ; Прибавить 63 к указателю Z{ | г31:г30) |
AND Rd, Rr «Логическое И» двух РОН Операция | Rd = Rd • Rr | Код операции | OOlOOOrddddd rrrr | | | | | 1 слово (2 байта) | Операнды | 0<d<31 | 0<r<31 | | | | | | | Описание | Выполняет операцию «Логическое И» между содержимым регистров Rd и Rr. Результат помещается в регистр Rd | Регистр SREG | I | T | н | S | V | N | Z | С | - | - | - | <=> | 0 | | | - | Число тактов | 1 | Пример | ldi rl6,l ; and r2,rl6 ; | Загрузить маску 0000 Выделить 0-й бит в г2 | 0001 в г1б | | 0 ... 56 57 58 59 60 61 62 ... 195
|
|