| Регистр статуса (SREG) |
| SREG: |
Регистр статуса |
| C: |
Флаг переноса |
| Z: |
Флаг нулевого значения |
| N: |
Флаг отрицательного значения |
| V: |
Флаг-указатель переполнения дополнения до двух |
| S: |
NЕV, Для проверок со знаком |
| H: |
Флаг полупереноса |
| T: |
Флаг пересылки, используемый командами BLD и BST |
| I: |
Флаг разрешения/запрещения глобального прерывания |
| Регистры и операнды |
| Rd: |
Регистр назначения (и источник) в регистровом файле |
| Rr: |
Регистр источник в регистровом файле |
| R: |
Результат выполнения команды |
| K: |
Литерал или байт данных (8 бит) |
| k: |
Данные адреса константы для счетчика программ |
| b: |
Бит в регистровом файле или I/O регистр (3 бита) |
| s: |
Бит в регистре статуса (3 бита) |
| X, Y, Z: |
Регистр косвенной адресации (X=R27:R26, Y=R29:R28, Z=R31:R30) |
| P: |
Адрес I/O порта |
| q: |
Смещение при прямой адресации (6 бит) |
| I/O регистры |
| RAMPX, RAMPY, RAMPZ: |
Регистры связанные с X, Y и Z регистрами, обеспечивающие косвенную
адресацию всей области СОЗУ микроконтроллера с объемом СОЗУ более 64
Кбайт |
| Стек: |
| STACK: |
Стек для адреса возврата и опущенных в стек регистров |
| SP: |
Указатель стека |
| Флаги: |
| Ы |
Флаг, на который воздействует команда |
| 0: |
Очищенный командой Флаг |
| 1: |
Установленный командой флаг |
| -: |
Флаг, на который не воздействует команда |
| Обозначение |
Функция |
| ADC |
Сложить с переносом |
| ADD |
Сложить без переноса |
| ADIW |
Сложить непосредственное значение со словом |
| AND |
Выполнить логическое AND |
| ANDI |
Выполнить логическое AND c непосредственным значением |
| ASR |
Арифметически сдвинуть вправо |
| BCLR |
Очистить флаг |
| BLD |
Загрузить T флаг в бит регистра |
| BRBC |
Перейти если бит в регистре статуса очищен |
| BRBS |
Перейти если бит в регистре статуса установлен |
| BRCC |
Перейти если флаг переноса очищен |
| BRCS |
Перейти если флаг переноса установлен |
| BREQ |
Перейти если равно |
| BRGE |
Перейти если больше или равно (с учетом знака) |
| BRHC |
Перейти если флаг полупереноса очищен |
| BRHS |
Перейти если флаг полупереноса установлен |
| BRID |
Перейти если глобальное прерывание запрещено |
| BRIE |
Перейти если глобальное прерывание разрешено |
| BRLO |
Перейти если меньше (без знака) |
| BRLT |
Перейти если меньше чем (со знаком) |
| BRMI |
Перейти если минус |
| BRNE |
Перейти если не равно |
| BRPL |
Перейти если плюс |
| BRSH |
Перейти если равно или больше (без знака) |
| BRTC |
Перейти если флаг T очищен |
| BRTS |
Перейти если флаг T установлен |
| BRVC |
Перейти если переполнение очищено |
| BRVS |
Перейти если переполнение установлено |
| BSET |
Установить флаг |
| BST |
Переписать бит из регистра во флаг T |
| CALL |
Выполнить длинный вызов подпрограммы |
| CBI |
- Очистить бит в регистре I/O |
| CBR |
Очистить биты в регистре |
| CLC |
Очистить флаг переноса |
| CLH |
Очистить флаг полупереноса |
| CLI |
Очистить флаг глобального прерывания |
| CLN |
Очистить флаг отрицательного значения |
| CLR |
Очистить регистр |
| CLS |
Очистить флаг знака |
| CLT |
Очистить флаг T |
| CLV |
Очистить флаг переполнения |
| CLZ |
Очистить флаг нулевого значения |
| COM |
Выполнить дополнение до единицы |
| CP |
Сравнить |
| CPC |
Сравнить с учетом переноса |
| CPI |
Сравнить c константой |
| CPSE |
Сравнить и пропустить если равно |
| DEC |
Декрементировать |
| EOR |
Выполнить исключающее OR |
| ICALL |
Вызвать подпрограмму косвенно |
| IJMP |
Перейти косвенно |
| IN |
Загрузить данные из порта I/O в регистр |
| INC |
Инкрементировать |
| FMUL |
Дробное незнаковое умножение |
| FMULS |
Дробное умножение со знаком |
| FMULSU |
Дробное умножение знакового с незнаковым |
| JMP |
Перейти |
| LD Rd,X |
Загрузить косвенно |
| LD Rd,X+ |
Загрузить косвенно инкрементировав впоследствии |
| LD Rd,-X |
Загрузить косвенно декрементировав предварительно |
| LDI |
Загрузить непосредственное значение |
| LDS |
Загрузить непосредственно из СОЗУ |
| LPM |
Загрузить байт памяти программ |
| LSL |
Логически сдвинуть влево |
| LSR |
Логически сдвинуть вправо |
| MOV |
Копировать регистр |
| MUL |
Перемножить |
| NEG |
Выполнить дополнение до двух |
| NOP |
Выполнить холостую команду |
| OR |
Выполнить логическое OR |
| ORI |
Выполнить логическое OR с непосредственным значением |
| OUT |
Записать данные из регистра в порт I/O |
| POP |
Загрузить регистр из стека |
| PUSH |
Поместить регистр в стек |
| RCALL |
Вызвать подпрограмму относительно |
| RET |
Вернуться из подпрограммы |
| RETI |
Вернуться из прерывания |
| RJMP |
Перейти относительно |
| ROL |
Сдвинуть влево через перенос |
| ROR |
Сдвинуть вправо через перенос |
| SBC |
Вычесть с переносом |
| SBCI |
Вычесть непосредственное значение с переносом |
| SBI |
Установить бит в регистр I/O |
| SBIC |
Пропустить если бит в регистре I/O очищен |
| SBIS |
Пропустить если бит в регистре I/O установлен |
| SBIW |
Вычесть непосредственное значение из слова |
| SBR |
Установить биты в регистре |
| SBRC |
Пропустить если бит в регистре очищен |
| SBRS |
Пропустить если бит в регистре установлен |
| SEC |
Установить флаг переноса |
| SEH |
Установить флаг полупереноса |
| SEI |
Установить флаг глобального прерывания |
| SEN |
Установить флаг отрицательного значения |
| SER |
Установить все биты регистра |
| SES |
Установить флаг знака |
| SET |
Установить флаг T |
| SEV |
Установить флаг переполнения |
| SEZ |
Установить флаг нулевого значения |
| SLEEP |
Установить режим SLEEP |
| ST X,Rr |
Записать косвенно |
| ST Y,Rr |
Записать косвенно из регистра в СОЗУ с использованием индекса Y |
| ST Z,Rr |
Записать косвенно из регистра в СОЗУ с использованием индекса Z |
| STS |
Загрузить непосредственно в СОЗУ |
| SUB |
Вычесть без переноса |
| SUBI |
Вычесть непосредственное значение |
| SWAP |
Поменять нибблы местами |
| TST |
Проверить на ноль или минус |
| WDR |
Сбросить сторожевой таймер |