Регистр статуса (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
|
Инкрементировать |
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
|
Сбросить сторожевой таймер |