SBI P, b | - | Установить разряд РВВ | ||||||||
Операнды | 0 ≤ P ≤ 31, 0 ≤ b ≤ 7 | |||||||||
Операция | I/О(P.b) = 1 | Циклов | ||||||||
Описание | Устанавливает разряд b регистра ввода/вывода, распо-ложенного по адресу P пространства ввода/вывода. Эта команда применима только к младшим 32 регистрам | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | - | |||
CBI P, b | - | Сбросить разряд РВВ | ||||||||
Операнды | 0 ≤ P ≤ 31, 0 ≤ b ≤ 7 | |||||||||
Операция | I/О(P.b) = 0 | Циклов | ||||||||
Описание | Сбрасывает разряд b регистра ввода/вывода, распо-ложенного по адресу Р пространства ввода/вывода. Эта команда применима только к младшим 32 регистрам | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | - | |||
LSL Rd | - | Логический сдвиг влево | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | ![]() | Циклов | ||||||||
Описание | Сдвигает все разряды регистра Rd влево. Разряд b0 сбрасывается в «0», а разряд b7 загружается в флаг С регистра SREG. Эквивалентна команде ADD Rd, Rd | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | + | + | + | + | + | ||||
LSR Rd | - | Логический сдвиг влево | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | ![]() | Циклов | ||||||||
Описание | Сдвигает все разряды регистра Rd вправо. Разряд b7 сбрасывается в «0», а разряд b0 загружается в флаг С | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | + | ||||
ROL Rd | - | Сдвиг влево через перенос | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | ![]() | Циклов | ||||||||
Описание | Сдвигает содержимое регистра Rd влево на один разряд. В разряд b0 заносится содержимое флага С регистра SREG, а разряд b7 загружается в флаг С. В комбинации с командой LSL данная команда может использоваться для умножения многобайтных чисел (как знаковых, так и беззнаковых) на два. Значение флага V равно «Исключающему ИЛИ» флагов N и С после сдвига | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | + | + | + | + | + | + | |||
ROR Rd | - | Сдвиг вправо через перенос | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | ![]() | Циклов | ||||||||
Описание | Сдвигает содержимое регистра Rd вправо на один разряд. В разряд b7 заносится содержимое флага С регистра SREG, а разряд b0 загружается в флаг С. В комбинации с командой ASR данная команда может использоваться для деления многобайтных знаковых чисел на два. А в комбинации с командой LSR – для деления многобайтных беззнаковых чисел на два. Значение флага V равно «Исключающему ИЛИ» флагов N и С после сдвига | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | + | + | |||
ASR Rd | - | Арифметический сдвиг вправо | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | ![]() | Циклов | ||||||||
Описание | Сдвигает содержимое регистра Rd на 1 разряд вправо. Состояние 7-го разряда не изменяется. Значение 0-го разряда помещается в флаг С регистра SREG. Часто используется для деления чисел на два со знаком | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | + | + | + | + | + | |||
SWAP Rd | - | Перестановка тетрад РОН | ||||||||
Операнды | 0 ≤ d ≤ 31 | |||||||||
Операция | Rd(7:4)=Rd(3;0); Rd(3:0)= Rd(7:4) | Циклов | ||||||||
Описание | Команда производит перестановку старшего и младшего полубайта содержимого регистра Rd | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | - | |||
BSET s | - | Установка разряда регистра SREG | ||||||||
Операнды | 0 ≤ s ≤ 7 | |||||||||
Операция | SREG.s = 1 | Циклов | ||||||||
Описание | Устанавливает заданный разряд регистра SREG | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
+ | + | + | + | + | + | + | + | |||
BCLR s | - | Сброс разряда регистра SREG | ||||||||
Операнды | 0 ≤ s ≤ 7 | |||||||||
Операция | SREG.s = 0 | Циклов | ||||||||
Описание | Сбрасывает в «0» заданный разряд регистра SREG. Остальные разряды регистра SREG не изменяются | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
+ | + | + | + | + | + | + | + | |||
BST Rd, b | - | Запись разряда РОН в флаг Т | ||||||||
Операнды | 0 ≤ d ≤ 31, 0 ≤ b ≤ 7 | |||||||||
Операция | Т = Rd.b | Циклов | ||||||||
Описание | Копирует разряд b регистра Rd в флаг Т регистра SREG | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| + | - | - | - | - | - | - | |||
BLD Rd, b | - | Пересылка флага Т в разряд РОН | ||||||||
Операнды | 0 ≤ d ≤ 31, 0 ≤ b ≤ 7 | |||||||||
Операция | Rd.b = Т | Циклов | ||||||||
Описание | Копирует флаг Т регистра SREG в разряд b регистра Rd | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | - | |||
SEC | - | Установка флага переноса | ||||||||
Операнды | Нет операндов | |||||||||
Операция | С=1 | Циклов | ||||||||
Описание | Устанавливает в «1» флаг переноса С регистра SREG. Эквивалентна команде BSET 0 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
CLC | - | Сброс флага переноса | ||||||||
Операнды | Нет операндов | |||||||||
Операция | С = О | Циклов | ||||||||
Описание | Сбрасывает в «О» флаг переноса С регистра SREG. Эквивалентна команде BSET 0 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
SEN | - | Установка флага отрицательного значения | ||||||||
Операнды | Нет операндов | |||||||||
Операция | N=1 | Циклов | ||||||||
Описание | Устанавливает в «1» флаг отрицательного значения N регистра SREG. Эквивалентна команде BSET 2 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
CLN | - | Сброс флага отрицательного значения | ||||||||
Операнды | Нет операндов | |||||||||
Операция | N = 0 | Циклов | ||||||||
Описание | Сбрасывает в «0» флаг отрицательного значения N регистра SREG. Эквивалентна команде BCLR 2 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
SEZ | - | Установка флага нуля | ||||||||
Операнды | Нет операндов | |||||||||
Операция | Z=l | Циклов | ||||||||
Описание | Устанавливает в «1» флаг нуля Z регистра SREG. Эквивалентна команде BSET 1 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
CLZ | - | Сброс флага нуля | ||||||||
Операнды | Нет операндов | |||||||||
Операция | Z = 0 | Циклов | ||||||||
Описание | Сбрасывает в «0» флаг нуля Z регистра SREG. Эквивалентна команде BCLR 1 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
SEI | - | Общее разрешение прерываний | ||||||||
Операнды | Нет операндов | |||||||||
Операция | I = 1 | Циклов | ||||||||
Описание | Устанавливает в «1» флаг общего разрешения прерываний I регистра SREG. Эквивалентна команде BSET 7 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
- | - | - | - | - | - | - | ||||
CLI | - | Общее запрещение прерываний | ||||||||
Операнды | Нет операндов | |||||||||
Операция | I = 0 | Циклов | ||||||||
Описание | Сбрасывает в «0» флаг общего разрешения прерываний регистра SREG. Эквивалентна команде BCLR 7 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
- | - | - | - | - | - | - | ||||
SES | - | Установка флага знака | ||||||||
Операнды | Нет операндов | |||||||||
Операция | S = 1 | Циклов | ||||||||
Описание | Устанавливает в «1» флаг знака S регистра SREG. Эквивалентна команде BSET 4 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
CLS | - | Сброс флага знака | ||||||||
Операнды | Нет операндов | |||||||||
Операция | S = 0 | Циклов | ||||||||
Описание | Сбрасывает в «0» флаг знака S регистра SREG. Эквивалентна команде BCLR 4 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
SEV | - | Установка флага переполнения дополнительного кода | ||||||||
Операнды | Нет операндов | |||||||||
Операция | V = l | Циклов | ||||||||
Описание | Устанавливает в «1» флаг переполнения дополнительного кода V регистра SREG. Эквивалентна команде BSET 3 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
CLV | - | Сброс флага переполнения дополнительного кода | ||||||||
Операнды | Нет операндов | |||||||||
Операция | V = 0 | Циклов | ||||||||
Описание | Сбрасывает в «0» флаг переполнения дополнительного кода V регистра SREG. Эквивалентна команде BCLR 3 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
SET | - | Установка флага Т | ||||||||
Операнды | Нет операндов | |||||||||
Операция | T = 1 | Циклов | ||||||||
Описание | Устанавливает в «1» флаг Т регистра SREG. Эквивалентна команде BSET 6 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
CLT | - | Сброс флага Т | ||||||||
Операнды | Нет операндов | |||||||||
Операция | T = 0 | Циклов | ||||||||
Описание | Сбрасывает в «0» флаг Т регистра SREG. Эквивалентна команде BCLR 6 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
SEH | - | Установка флага половинного переноса | ||||||||
Операнды | Нет операндов | |||||||||
Операция | H = 1 | Циклов | ||||||||
Описание | Устанавливает в «1» флаг половинного переноса Н регистра SREG. Эквивалентна команде BSET 5 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
CLH | - | Сброс флага половинного переноса | ||||||||
Операнды | Нет операндов | |||||||||
Операция | H = 0 | Циклов | ||||||||
Описание | Сбрасывает в «0» флаг половинного переноса Н регистра SREG. Эквивалентна команде BCLR 5 | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | ||||
Команды управления
NOP | - | Пустая команда | ||||||||
Операнды | Нет операндов | |||||||||
Операция | Нет операции | Циклов | ||||||||
Описание | Выполняет пустой машинный цикл | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | - | |||
SLEEP | - | Перевод микроконтроллера в режим пониженного энергопотребления | ||||||||
Операнды | Нет операндов | |||||||||
Операция | Переход в особый режим работы | Циклов | ||||||||
Описание | Переводит микроконтроллер в режим пониженного энергопотребления. Конкретные действия зависят от модели микроконтроллера и от выбранного режима | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | - | |||
WDR | - | Сброс сторожевого таймера | ||||||||
Операнды | Нет операндов | |||||||||
Операция | Рестарт сторожевого таймера | Циклов | ||||||||
Описание | Выполняет сброс сторожевого таймера. При включенном сторожевом таймере данная команда должна выполняться через определенный промежуток времени, определяемый коэффициентом деления предделителя сторожевого таймера | |||||||||
Состояние флагов | I | T | H | S | V | N | Z | C | ||
| - | - | - | - | - | - | - | |||
Оглавление
Команды загрузки и пересылки данных....................... | ||
Команды арифметических и логических операций............. | ||
Команды передачи управления.............................. | ||
Команды операций с битами............................... | ||
Команды управления....................................... | ||
Оглавление................................................ | ||
Приложение............................................... |
Приложение А