№ п/п | Шаблон | Действие | Пример |
R -> R | Копирование одного рабочего регистра в другой | R0 -> R1 | |
# -> R | Загрузка константы # в рабочий регистр | 24 -> r16 | |
[X]-> R | Копирование из SRAM в рабочий регистр косвенно по X | [X] -> R2 | |
[X++]->R | Копирование из SRAM в рабочий регистр косвенно по X с пост-инкрементом | [X++]-> R3 | |
[--X]->R | Копирование из SRAM в рабочий регистр косвенно по X с пре-декрементом | [--X]-> R4 | |
[Y] ->R | Копирование из SRAM в рабочий регистр косвенно по Y | [Y] -> R5 | |
[Y++]->R | Копирование из SRAM в рабочий регистр косвенно по Y с пост-инкрементом | [Y++]-> R6 | |
[--Y]- R | Копирование из SRAM в рабочий регистр косвенно по Y с пре-декрементом | [--Y]-> R7 | |
[Y+#]->R | Копирование из SRAM в рабочий регистр косвенно по Y со смещением # | [Y+2]-> r8 | |
[Z] ->R | Копирование из SRAM в рабочий регистр косвенно по Z | [Z] -> R9 | |
[Z++]->R | Копирование из SRAM в регистр косвенно по Z с пост-инкрементом | [Z++]->R10 | |
[--Z]– R | Копирование из SRAM в рабочий регистр косвенно по Z с пре-декрементом | [--Z]->R11 | |
[Z+#]->R | Копирование из SRAM в рабочий регистр косвенно по Z со смещением # | [Z+1]->R12 | |
[#] ->R | Копирование из SRAM непосредственно из адреса # в рабочий регистр | [$60]->r14 | |
R-> [X] | Копирование рабочего регистра в SRAM косвенно по X | R15 -> [X] | |
R->[X++] | Копирование рабочего регистра в SRAM косвенно по X с пост-инкрементом | R16->[X++] | |
R->[--X] | Копирование рабочего регистра в SRAM косвенно по X с пре-декрементом | R17->[--X] | |
R-> [Y] | Копирование рабочего регистра в SRAM косвенно по Y | R18 -> [Y] | |
R->[Y++] | Копирование рабочего регистра в SRAM косвенно по Y с пост-инкрементом | R19->[Y++] | |
R->[--Y] | Копирование рабочего регистра в SRAM косвенно по Y с пре-декрементом | R20->[--Y] | |
R->[Y+#] | Копирование рабочего регистра в SRAM косвенно по Y со смеще- нием # | R21->[Y+2] | |
R-> [Z] | Копирование рабочего регистра в SRAM косвенно по Z | R22 -> [Z] | |
R->[Z++] | Копирование рабочего регистра в SRAM косвенно по Z с пост-инкрементом | R23->[Z++] | |
R->[--Z] | Копирование рабочего регистра в SRAM косвенно по Z с пре-декрементом | R24->[--Z] | |
R->[Z+#] | Копирование рабочего регистра в SRAM косвенно по Z со смеще- нием # | R25->[Z+3] | |
R-> [#] | Копирование регистра в SRAM непосредственно по адресу # | R26-> [$200] | |
LPM LPM[Z] | Загрузка из памяти программы по адресу Z в r0 | ||
LPM-> R LPM[Z]->R | Загрузка из памяти программы по адресу Z в рабочий регистр | ||
LPM[Z++] -> R | Загрузка из памяти программы по адресу Z в рабочий регистр и пост-инкремент Z | LPM[Z++]->r5 | |
SPM | Запись в память программы | ||
P -> R | Копирование I/O регистра в рабочий регистр | P$19 -> WH | |
R -> P | Копирование рабочего регистра в I/O регистр | XL-> PortB |
R -> | Копирование рабочего регистра в стек | Ro -> | |
->R | Копирование из стека в рабочий регистр | ->r1 | |
NOP | Нет операции | ||
R + R | Прибавление к левому рабочему регистру правого | r0 + r1 | |
R + R + | Прибавление к левому рабочему регистру правого с переносом | R0 + R5 + | |
RW + # | Увеличение двойного рабочего регистра (W, X, Y, Z) на # | W + 32 | |
R – R | Вычитание из левого рабочего регистра правого | r4 – r5 | |
R - # | Вычитание из рабочего регистра константы # | XL – 2 | |
R + # | Прибавление к рабочему регистру константы # | R17 + 12 | |
R – R - | Вычитание из левого рабочего регистра правого с переносом | r5 – r6 - | |
R - # - | Вычитание из рабочего регистра константы # с переносом | ZL - $70 - | |
RW - # | Вычитание из двойного рабочего регистра (W, X, Y, Z) константы # | X - $2E | |
R & R | Побитная логическая операция И двух рабочих регистров. | r7 & r8 | |
R & # | Побитная логическая операция И рабочего регистра и константы # | r17 & #b00111101 | |
R &| # | Побитная логическая операция И рабочего регистра и инверсии константы # | r18 &| #b00010011 | |
R ! R | Побитная логическая операция ИЛИ двух рабочих регистров. | R9 ! r10 | |
R ! # | Побитная логическая операция ИЛИ рабочего регистра и константы # | R18! #o147 | |
R ^ R | Побитная логическая операция ИСКЛЮЧАЮЩЕЕ ИЛИ двух рабочих регистров. | R11 ^ r12 | |
|R | Побитная инверсия рабочего регистра | -r8- | |
-R | Арифметическая инверсия рабочего регистра | -RB | |
R++ | Увеличение рабочего регистра на 1 | Count++ | |
R-- | Уменьшение рабочего регистра на 1 | Idx-- | |
R? | Тест рабочего регистра (R & R) | R16? | |
^R | Очистка рабочего регистра (R ^ R) | R8 | |
R * R | Умножение двух рабочих регистров | R6 * R17 | |
±R * ±R | Умножение двух рабочих регистров с учетом знака | ±r16 * ±r20 | |
±R * R R * ±R | Умножение двух рабочих регистров с учетом знака одного из регистров | ±r18 * r22 r22 * ±r18 | |
<<(R*R) | Дробное умножение двух рабочих регистров | <<(R6*R17) | |
<<(±R*±R) | Дробное умножение двух рабочих регистров с учетом знака | <<(±r16* ±r20) | |
<<(±R * R) <<(R * ±R) | Дробное умножение двух рабочих регистров с учетом знака одного из регистров | <<(±r18*r22) <<(r22*±r18) | |
1 ->P.# | Запись 1 в бит # I/O регистра | 1 -> DDB2 | |
0-> P.# | Запись 0 в бит # I/O регистра | 0->PortD.7 | |
<<R | Логический сдвиг влево рабочего регистра | <<r18 | |
R>> | Логический сдвиг вправо рабочего регистра | R19>> | |
<<R< | Логический сдвиг влево рабочего регистра с переносом | <<r20< | |
>R>> | Логический сдвиг вправо рабочего регистра с переносом | >r21>> | |
±R>> | Арифметический сдвиг вправо рабочего регистра | ±r22>> | |
>>R<< | Обмен тетрад рабочего регистра | >>r23<< | |
R.#-> | Копирование бита # рабочего регистра в T (SREG) | RA.6-> | |
->R.# | Копирование T (SREG) в бит # рабочего регистра | ->r0.4 | |
#-> R.# | Запись # (0 or 1) в # бит рабочего регистра | 0 -> r18.4 1 -> r20.0 | |
R->> R | Копирование двойного рабочего регистра в двойной рабочий регистр | r0 ->> XL | |
1 -> C | Запись 1 в бит C | ||
0 -> C | Запись 0 в бит C | ||
1 -> N | Запись 1 в бит N | ||
0 -> N | Запись 0 в бит N | ||
1 -> Z | Запись 1 в бит Z | ||
0 -> Z | Запись 0 в бит Z | ||
1 -> I | Запись 1 в бит I | ||
0 -> I | Запись 0 в бит I | ||
1 -> S | Запись 1 в бит S | ||
0 -> S | Запись 0 в бит S | ||
1 -> V | Запись 1 в бит V | ||
0 -> V | Запись 0 в бит V | ||
1-> T ; 1-> | Запись 1 в бит T | ||
0-> T ; 0-> | Запись 0 в бит T | ||
1 -> H | Запись 1 в бит H | ||
0 -> H | Запись 0 в бит H | ||
SLEEP | Приостановка работы кристалла | ||
WDR | Сброс сторожевого таймера | ||
JMP # | Дальний безусловный переход | JMP LabelName | |
#/ | Дальний вызов подпрограммы | LabelName/ | |
JMP | Косвенный безусловный переход по Z | ||
# | Относительный вызов подпрограммы | LabelName | |
CALL | Косвенный вызов подпрограммы по Z | CALL | |
RET | Возврат из подпрограммы | RET | |
RETI | Возврат из подпрограммы и запись 1 в бит I | RETI | |
R = R | Сравнение двух рабочих регистров | R2 = R5 | |
R = R = | Сравнение двух рабочих регистров с переносом | R6 = R5 = | |
R = # | Сравнение рабочего регистра с константой # | YL = 47 |