Команды операций с битами




 

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
  ­ - - - - - - -
                     

 

 

Оглавление

  Команды загрузки и пересылки данных.......................  
  Команды арифметических и логических операций.............  
  Команды передачи управления..............................  
  Команды операций с битами...............................  
  Команды управления.......................................  
  Оглавление................................................  
  Приложение...............................................  

 

 

Приложение А



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-06-11 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: