Условные обозначения принятые в этом справочнике
| Rd
| Один из регистров общего назначения (РОН). Если в операции учавствуют сразу два разных РОН, то второй обозначают как Rr. В реальной программе d и r заменяются соответствующим индексом: 0 <= d <= 31, 0 <= r <= 31
| | K
| Цифровая константа. В реальной программе заменяется на любое число записанное как десятичном формате так и в любм другом.
| | b
| Номер бита. В реальной программе заменяется числом, означающим номер бита (0 <= b <= 7)
| | A
| Смещение адреса перехода или адрес перехода. В реальной программе вместо A ставится метка для условного или безусловного перехода. Например RJMP M1 (переход к метке M1)
| | P
| Регистр ввода-вывода (РВВ). В реальной программе заменяется номером РВВ (0 <= P <= 63) или именем регистра (например PORTB, TCCR1B и т.п.).
| | [ ]
| (квадратные скобки) Применяются для обозначения косвенной адресации ячейки ОЗУ. Например, выражение [X] означает ячейку ОЗУ, адрес которой размещен в регистровой паре X. Как известно X соответствует паре регистров R26, R27; Y соответствует R28, R29; а Z соответствует R30, R31.
| | { }
| (фигурные скобки) Применяются для обозначения косвенной адресации ячейки программной памяти (при чтении данных из программной памяти). Например, обозначение {Z} означает ячейку программной памяти, адрес которой находится в паре регистров Z (то есть в регистрах R30, R31).
|
Группа команд логических операций
| Мнемоника
| Описание
| Операция
| Циклы
| Флаги
| | AND Rd, Rr
| «Логическое И» двух РОН
| Rd Rd and Rr
|
| Z,N,V
| | ANDI Rd, K
| «Логическое И» РОН и константы
| Rd Rd and K
|
| Z,N,V
| | EOR Rd, Rr
| «Исключающее ИЛИ» двух РОН
| Rd Rd xor Rr
|
| Z,N,V
| | OR Rd, Rr
| «Логическое ИЛИ» двух РОН
| Rd Rd or Rr
|
| Z,N,V
| | ORI Rd, K
| «Логическое ИЛИ» РОН и константы
| Rd Rd or K
|
| Z,N,V
| | COM Rd
| Перевод в обратный код
| Rd 0FFH - Rd
|
| Z,C,N,V
| | NEG Rd
| Перевод в дополнительный код
| Rd 00H - Rd
|
| Z,C,N,V,H
| | CLR Rd
| Сброс всех разрядов РОН
| Rd Rd xor Rd
|
| Z,N,V
| | SER Rd
| Установка всех разрядов РОН
| Rd 0FFH
|
| —
| | TST Rd
| Проверка РОН на отрицательное (нулевое) значение
| Rd Rd and Rd
|
| Z,N,V
| Группа команд арифметических операций
| Мнемоника
| Описание
| Операция
| Циклы
| Флаги
| | ADD Rd, Rr
| Сложение двух РОН
| Rd Rd + Rr
|
| Z,C,N,V,H
| | ADC Rd, Rr
| Сложение двух РОН с переносом
| Rd Rd + Rr + С
|
| Z,C,N,V,H
| | ADIW Rd, K
| Сложение регистровой пары с константой
| R(d+1):Rd R(d+1):Rd + K
|
| Z,C,N,V,S
| | SUB Rd, Rr
| Вычитание двух РОН
| Rd Rd - Rr
|
| Z,C,N,V,H
| | SUBI Rd, K
| Вычитание константы из РОН
| Rd Rd - K
|
| Z,C,N,V,H
| | SBC Rd, Rr
| Вычитание двух РОН с заемом
| Rd Rd - Rr - С
|
| Z,C,N,V,H
| | SBCI Rd, K
| Вычитание константы из РОН с заемом
| Rd Rd - K - С
|
| Z,C,N,V,H
| | SBIW Rd, K
| Вычитание константы из регистровой пары
| R(d+1):Rdl R(d+1):Rd - K
|
| Z,C,N,V,S
| | DEC Rd
| Декремент РОН
| Rd Rd – 1
|
| Z,N,V
| | INC Rd
| Инкремент РОН
| Rd Rd + 1
|
| Z,N,V
| Группа команд операций с разрядами
| Мнемоника
| Описание
| Операция
| Циклы
| Флаги
| | CBR Rd, K
| Сброс разряда(ов) РОН
| Rd Rd and (0FFH – K)
|
| Z,N,V
| | SBR Rd, K
| Установка разряда(ов) РОН
| Rd Rd or K
|
| Z,N,V
| | CBI P, b
| Сброс разряда РВВ
| P.b 0
|
| —
| | SBI P, b
| Установка разряда РВВ
| P.b 1
|
| —
| | BCLR s
| Сброс флага
| SREG.s 0
|
| SREG.s
| | BSET s
| Установка флага
| SREG.s 1
|
| SREG.s
| | BLD Rd, b
| Загрузка разряда РОН из флага T (SREG)
| Rd.b T
|
| —
| | BST Rr, b
| Запись разряда РОН в флаг T (SREG)
| T Rd.b
|
| T
| | CLC
| Сброс флага переноса
| C 0
|
| C
| | SEC
| Установка флага переноса
| C 1
|
| C
| | CLN
| Сброс флага отрицательного числа
| N 0
|
| N
| | SEN
| Установка флага отрицательного числа
| N 1
|
| N
| | CLZ
| Сброс флага нуля
| Z 0
|
| Z
| | SEZ
| Установка флага нуля
| Z 1
|
| Z
| | CLI
| Общий запрет прерываний
| I 0
|
| I
| | SEI
| Общее разрешение прерываний
| I 1
|
| I
| | CLS
| Сброс флага знака
| S 0
|
| S
| | SES
| Установка флага знака
| S 1
|
| S
| | CLV
| Сброс флага переполнения дополнительного кода
| V 0
|
| V
| | SEV
| Установка флага переполнения дополнительн. кода
| V 1
|
| V
| | CLT
| Сброс пользовательского флага T
| T 0
|
| T
| | SET
| Установка пользовательского флага T
| T 1
|
| T
| | CLH
| Сброс флага половинного переноса
| H 0
|
| H
| | SEH
| Установка флага половинного переноса
| H 1
|
| H
| Группа команд сравнения
| Мнемоника
| Описание
| Операция
| Циклы
| Флаги
| | CP Rd, Rr
| Сравнение двух РОН
| Если (Rd – Rr)
|
| Z,N,V,C,H
| | CPC Rd, Rr
| Сравнение РОН с учетом переноса
| Если (Rd – Rr - C)
|
| Z,N,V,C,H
| | CPI Rd, K
| Сравнение РОН с константой
| Если (Rd – K)
|
| Z,N,V,C,H
| | CPSE Rd, Rr
| Сравнение двух РОН и пропуск следующей команды, если содержимое обоих РОН равно.
| Если (Rd = Rr) PC PC + 2 (или 3)
| 1/2/3
| —
| Группа команд операций сдвига
| Мнемоника
| Описание
| Операция
| Циклы
| Флаги
| | ASR Rd
| Арифметический сдвиг вправо
|
|
| Z,C,N,V
| | LSL Rd
| Логический сдвиг влево
|
|
| Z,C,N,V
| | LSR Rd
| Логический сдвиг вправо
|
|
| Z,C,N,V
| | ROL Rd
| Сдвиг влево через перенос
|
|
| Z,C,N,V
| | ROR Rd
| Сдвиг вправо через перенос
|
|
| Z,C,N,V
| | SWAP Rd
| Обмен местами тетрад
| Rd(3…0) Rd(7…4)
|
| —
| Группа команд пересылки данных
| Мнемоника
| Описание
| Операция
| Циклы
| Флаги
| | MOV Rd, Rr
| Пересылка между РОН
| Rd Rr
|
| —
| | MOVW Rd, Rr
| Пересылка между парами регистров
| R(d +1):Rd R(r+1):Rr
|
| —
| | LDI Rd, K
| Загрузка константы в РОН
| Rd K
|
| —
| | LD Rd, X
| Косвенное чтение
| Rd [X]
|
| —
| | LD Rd, X+
| Косвенное чтение с постикрементом
| Rd [X], X X+1
|
| —
| | LD Rd, -X
| Косвенное чтение с преддекрементом
| X X-1, Rd [X]
|
| —
| | LD Rd, Y
| Косвенное чтение
| Rd [Y]
|
| —
| | LD Rd, Y+
| Косвенное чтение с постикрементом
| Rd [Y], Y Y+1
|
| —
| | LD Rd, -Y
| Косвенное чтение с преддекрементом
| Y Y-1, Rd [Y]
|
| —
| | LD Rd, Y+q
| Косвенное относительное чтение
| Rd [Y+q]
|
| —
| | LD Rd, Z
| Косвенное чтение
| Rd [Z]
|
| —
| | LD Rd, Z+
| Косвенное чтение с постикрементом
| Rd [Z], Z Z+1
|
| —
| | LD Rd, - Z
| Косвенное чтение с преддекрементом
| Z Z-1, Rd [Z]
|
| —
| | LD Rd, Z+q
| Косвенное относительное чтение
| Rd [Z+q]
|
| —
| | LDS Rd, A
| Непосредственное чтение из ОЗУ
| Rd [A]
|
| —
| | ST X, Rr
| Косвенная запись
| [X] Rr
|
| —
| | ST X+, Rr
| Косвенная запись с постикрементом
| [X] Rr, X X+1
|
| —
| | ST -X, Rr
| Косвенная запись с преддекрементом
| X X-1, [X] Rr
|
| —
| | ST Y, Rr
| Косвенная запись
| [Y] Rr
|
| —
| | ST Y+, Rr
| Косвенная запись с постикрементом
| [Y] Rr, Y Y+1
|
| —
| | ST -Y, Rr
| Косвенная запись с преддекрементом
| Y Y-1, [Y] Rr
|
| —
| | ST Y+q, Rr
| Косвенная относительная запись
| [Y+q] Rr
|
| —
| | ST Z, Rr
| Косвенная запись
| [Z] Rr
|
| —
| | ST Z+, Rr
| Косвенная запись с постикрементом
| [Z] Rr, Z Z+1
|
| —
| | ST -Z, Rr
| Косвенная запись с преддекрементом
| Z Z-1, [Z] Rr
|
| —
| | ST Z+q, Rr
| Косвенная относительная запись
| [Z+q] Rr
|
| —
| | STS A, Rr
| Непосредственная запись в ОЗУ
| [A] Rr
|
| —
| | LPM
| Загрузка данных из памяти программ
| R0 {Z}
|
| —
| | LPM Rd, Z
| Загрузка данных из памяти программ
| Rd {Z}
|
| —
| | LPM Rd, Z+
| Загрузка данных из памяти программ и постдекремент Z
| Rd {Z}, Z Z+1
|
| —
| | SPM
| Запись в программную память
| {Z} R1:R0
| -
| —
| | IN Rd, P
| Пересылка из РВВ в РОН
| Rd P
|
| —
| | OUT P, Rr
| Пересылка из РОН в РВВ
| P Rr
|
| —
| | PUSH Rr
| Сохранение байта в стеке
| STACK Rr
|
| —
| | POP Rd
| Извлечение байта из стека
| Rd STACK
|
| —
| Группа команд управления системой
| Мнемоника
| Описание
| Операция
| Циклы
| Флаги
| | NOP
| Нет операции
| -
|
| —
| | SLEEP
| Переход в «спящий» режим
| -
|
| —
| | WDR
| Сброс сторожевого таймера
| -
|
| —
| | BREAK
| Приостановка программы (Используется только при отладке)
|
| -
| —
|
Группа команд безусловной передачи управления
| Мнемоника
| Описание
| Операция
| Циклы
| Флаги
| | RJMP A
| Относительный безусловный переход
| PC PC + A + 1
|
| —
| | IJMP
| Косвенный безусловный переход
| PC Z
|
| —
| | JMP A
| Абсолютный безусловный переход
| PC A
|
| —
| | RCALL A
| Относительный вызов подпрограммы
| PC PC + A + 1
|
| —
| | ICALL
| Косвенный вызов подпрограммы
| PC Z
|
| —
| | RET
| Возврат из подпрограммы
| PC STACK
|
| —
| | RETI
| Возврат из подпрограммы обработки прерываний
| PC STACK
|
| I
| Группа команд передачи управления по условию Все команды этой группы выполняют переход (PC PC + A + 1) при разных условиях
| Мнемоника
| Описание
| Условие
| Циклы
| Флаги
| | BRBC s, A
| Переход, если флаг s регистра SREG сброшен
| Если SREG.s = 0
| 1/2
| —
| | BRBS s, A
| Переход, если флаг s регистра SREG установлен
| Если SREG.s = 1
| 1/2
| —
| | BRCS A
| Переход по переносу
| Если C = 1
| 1/2
| —
| | BRCC A
| Переход, если нет переноса
| Если C = 0
| 1/2
| —
| | BREQ A
| Переход по условию «равно»
| Если Z = 1
| 1/2
| —
| | BRNE A
| Переход по условию «неравно»
| Если Z = 0
| 1/2
| —
| | BRSH A
| Переход по условию «больше или равно»
| Если C = 0
| 1/2
| —
| | BRLO A
| Переход по условию «меньше»
| Если C = 1
| 1/2
| —
| | BRMI A
| Переход по условию «отрицательное значение»
| Если N = 1
| 1/2
| —
| | BRPL A
| Переход по условию «положительное значение»
| Если N = 0
| 1/2
| —
| | BRGE A
| Переход по условию «больше или равно» (со знаком)
| Если (N и V) = 0
| 1/2
| —
| | BRLT A
| Переход по условию «меньше» (со знаком)
| Если (N или V) = 1
| 1/2
| —
| | BRHS A
| Переход по половинному переносу
| Если H = 1
| 1/2
| —
| | BRHC A
| Переход, если нет половинного переноса
| Если H = 0
| 1/2
| —
| | BRTS A
| Переход, если флаг T установлен
| Если T = 1
| 1/2
| —
| | BRTC A
| Переход, если флаг T сброшен
| Если T = 0
| 1/2
| —
| | BRVS A
| Переход по переполнению дополнительного кода
| Если V = 1
| 1/2
| —
| | BRVC A
| Переход, если нет переполнения дополнительного кода
| Если V = 0
| 1/2
| —
| | BRID A
| Переход, если прерывания запрещены
| Если I = 0
| 1/2
| —
| | BRIE A
| Переход, если прерывания разрешены
| Если I = 1
| 1/2
| —
|
Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...
|
Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...
|
Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...
|
Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...
|
Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...
ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, новогаленовые препараты, жидкие органопрепараты и жидкие экстракты, а также порошки и таблетки для имплантации...
Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...
|
Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...
Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...
Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...
|
|