8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 72 73 74 75 76 77 78 ... 195

SBCI Rd, К

Вычитание константы из РОН с заемом

Операция

Rd = Rd

-К-С

Код операции

0100 KKKK dddd KKKK

1 слово (2 байта)

Операнды

16<d<31,0<K<255

Описание

Вычитает из регистра Rd значение константы К. Если флаг переноса С установлен, полученная разность уменьшается на 1. Результат помещается в регистр Rd. Если результат вычитания не равен нулю, флаг нуля Z сбрасывается в 0, в противном случае он остается без изменений

Регистр SREG

I

т

н

S

V

N

Z

С

-

-

<=>

<=>

<=>

<=>

<=>

Число тактов

1

Пример

; Вычитание двухбайтного числа $4F23 из регистровой ; пары R17:R16

subi rl6,$23 ; Вычесть младший байт

sbci rl7,$4F ; Вычесть старший байт с учетом переноса

SBI А, Ь

Установить бит РВВ

Операция

1/0(А).Ь

= 1

Код операции

1001 1010 AAAAAbbb

1 слово (2 байта)

Операнды

0<A<31,0<b<7

Описание

Устанавливает бит b регистра ввода/вывода, расположенного по адресу А пространства ввода/вывода. Эта команда применима только к младшим 32 регистрам (адреса 0...31)

Регистр SREG

I

Т

н

S

V

N

Z

С

-

-

-

-

-

-

-

-

Число тактов

2

Пример

out $1Е,г0 sbi $1С,0 in rl,$lD

; Задать адрес ячейки EEPROM ; Установить запрос на чтение ; Считать данные из EEPROM


SBICA, b

Пропустить команду, если бит РВВ сброшен

Операция

Если 1/0(А).Ь = 0, то PC = PC + 2 (3), иначе PC =

= РС+1

Код операции

1001 1001 AAAAAbbb

1 слово (2 байта)

Операнды

0<A<31,0<b<7

Описание

Проверяет состояние бита b регистра ввода/вывода А. Если бит сброшен, команда, следующая за SBIC А, Ь, пропускается. Эта команда применима только к младшим 32 регистрам (адреса 0...31)

Регистр SREG

I

Т

Н

S

V

N

Z

С

-

-

-

-

-

-

-

-

Число тактов

1, если I/0(A).b = 1 (нет пропуска команды)

2,если 1/0(А).Ь = 0 (размер пропускаемой команды — 1 слово)

3,если 1/0(А).Ь = 0 (размер пропускаемой команды — 2 слова)

Пример

e2wait: sbic rjmp

$1С,1 e2wait

; Пропустить команду, если флаг EEWE сброшен ; Запись в EEPROM еще не закончилась

SBISA,b

Пропустить команду, если бит РВВ установлен

Операция

Если I/0(A).b = 1, то PC = PC + 2 (3), иначе PC =

РС+ 1

Код операции

1001 1011 AAAAAbbb

1 слово (2 байта)

Операнды

0<A<31,0<b<7

Описание

Проверяет состояние бита b регистра ввода/вывода А. Если бит установлен, команда, следующая за SBIS А, Ь, пропускается. Эта команда применима только к младшим 32 регистрам (адреса 0...31)

Регистр SREG

I

Т

H

S

V

N

Z

С

-

-

-

-

-

-

-

-

Число тактов

1, если 1/0(А).Ь = 0 (нет пропуска команды)

2,если I/0(A).b = 1 (размер пропускаемой команды — 1 слово)

3,если I/0(A).b = 1 (размер пропускаемой команды — 2 слова)

Пример

waitset sbis

rjmp

$1D,0 waitset

; Пропустить след. команду, если 0-й бит

; порта D установлен

; Ждать, пока бит не будет установлен


SBIW Rd+1, Rd, К

Вычитание константы из регистровой пары

Операция

Rd+l:Rd

= Rd+l:Rd-K

Код операции

100ЮП

KKdd KKKK

1 слово (2 байта)

Операнды

de{24, 26,28,30},0<К<63

Описание

Вычитает из регистровой пары Rd+1 :Rd значение константы К. Результат помещается обратно в регистровую пару. Команда применима только к 4 старшим регистровым парам из регистров общего назначения

Регистр SREG

I

Т

Н

S

V

N

Z

С

-

-

-

Число тактов

2

Пример

; Вычитание двухбайтного числа $4F23 из регистровой

; пары R17:R16

sbiw r25:r24,l ; Вычесть единицу из г25:г24

sbiw YH:YL,63 ; Вычесть 63 из индексного регистра Y

SBR Rd, К

Установка битов РОН

Операция

Rd = Rd v К

Код операции

0110 KKKK dddd KKKK

1 слово (2 байта)

Операнды

16<d<31,0<K<255

Описание

Устанавливает отдельные биты регистра Rd путем выполнения операции «Логическое ИЛИ» между содержимым регистра Rd и маской, задаваемой константой К. Результат помещается в регистр Rd

Регистр SREG

I

Т

Н

S

V

N

Z

С

-

-

-

<=>

0

-

Число тактов

1

Пример

sbr sbr

rl6,3 ; Установить биты 0 и 1 регистра г1б rl8,$F0 ; Установить 4 старших бита регистра г18



0 ... 72 73 74 75 76 77 78 ... 195