Раздел:
Документация0 ...
74 75 76 77 78 79 80 ...
195 SES
Установка флага знака
Операция | S = 1 |
Код операции | 10010100 0100 1000 | | | | 1 слово (2 байта) |
Операнды | Нет операндов |
Описание | Устанавливает в 1 флаг знака S регистра SREG. Эквивалентна команде BSET 4 |
Регистр SREG | I | Т | н | S | V | N | Z | С |
- | - | - | 1 | - | - | - | - |
Число тактов | 1 |
Пример | add r2,rl9 ses | ; Сложить г2 и г19 ; Установить флаг знака | | |
SET
Установка флага T
Операция | Т= 1 |
Код операции | 10010100 0110 1000 | | | | 1 слово (2 байта) |
Операнды | Нет операндов |
Описание | Устанавливает в 1 флаг Т регистра SREG. Эквивалентна команде BSET 6 |
Регистр SREG | I | Т | н | S | V | N | Z | С |
- | 1 | - | - | - | - | - | - |
Число тактов | 1 |
Пример | set | | Установить флаг Т | | | |
SEV
Установка флага переполнения дополнительного кода
Операция | V= 1 |
Код операции | 1001 0100 0011 1000 | | | | | 1 слово (2 байта) |
Операнды | Нет операндов |
Описание | Устанавливает в 1 флаг переполнения дополнительного кода V регистра SREG. Эквивалентна команде BSET 3 |
Регистр SREG | I | Т | н | S | V | N | Z | С |
- | - | - | - | 1 | - | - | - |
Число тактов | 1 |
Пример | add r2,rl9 sev | ; Сложить г2 и г19 ; Установить флаг переполнения | |
SEZ
Установка флага нуля
Операция | Z= 1 |
Код операции | 10010100 0001 1000 | | | | — 1 слово (2 байта) |
Операнды | Нет операндов |
Описание | Устанавливает в 1 флаг нуля Z регистра SREG. Эквивалентна команде BSET 1 |
Регистр SREG | I | Т | н | S | V | N | Z | С |
- | - | - | - | - | - | 1 | - |
Число тактов | 1 |
Пример | add sez | r2,rl9 | ; Сложить г2 ; Установить | и г19 флаг нуля | | |
SLEEP
Перевод микроконтроллера в режим пониженного энергопотребления
Операция | См. описание режимов пониженного энергопотребления в подразделе 4.3.1 |
Код операции | 1001 0101 1000 1000 | | | | | 1 слово (2 байта) |
Операнды | Нет операндов |
Описание | Переводит микроконтроллер в режим пониженного энергопотребления. Конкретные действия зависят от модели микроконтроллера и от выбранного режима. Для получения более подробной информации обратитесь к разделу 4.3 |
Регистр SREG | I | T | H | S | V | N | Z | С |
- | - | - | - | - | - | - | - |
Число тактов | 1 |
Пример | mov r0,rll ldi rl6, (1«SE) out MCUCR,rl6 sleep | Скопировать регистр rll в rO Разрешить переход в «спящий» режим Переключиться в «спящий» режмим |
SPM
Изменение содержимого памяти программ
Операция
Зависит от контекста:
{RAMPZ:Z} = $FFFF — стирание страницы памяти программ; {RAMPZ:Z} = R1:R0 — запись слова в память программ или запись страницы в буфер;
{RAMPZ:Z} = TEMP — пересылка содержимого буфера страницы в память программ;
{BLBITS} = R1:R0 — запись ячеек защиты секции загрузчика
Код операции
10010101 1110 1000
1 слово (2 байта)
Операнды
Нет операндов
Описание
Эта команда может выполнять стирание отдельной страницы памяти программ, запись страницы памяти программ, а также изменение ячеек защиты секции загрузчика. Адрес страницы памяти программ или слова в ней содержится в регистре Z, а данные, если они необходимы, находятся в регистровой паре R1:R0. Подробно использование этой команды описано в главе 14
Регистр SREG
I
Н
N
Число тактов
Зависит от операции
Пример записи слова в память программ
Пример
ldi | r31,$F0 |
clr | r30 |
ldi | rl6,$CF |
mov | rl,rl6 |
ldi | rl6,$FF |
mov | r0,rl6 |
ldi | rl6,$03 |
out | SPMCR,rl6 |
spm | |
ldi | rl6,$01 |
out | SPMCR,rl6 |
spm | |
Загрузить адрес в регистр Z Загрузить данные
Разрешить SPM (стереть страницу)
Стереть страницу памяти программ ни адресу $F000
Разрешить SPM (записать слово в память программ)
Записать содержимое rl:r0 по адресу $F000
0 ...
74 75 76 77 78 79 80 ...
195