КОМАНДЫ РАБОТЫ С БИТАМИ
|
SBI
| P,b
| Установить бит b в рег. ввода/вывода P
| I/O(P,b)<1
| None
|
|
CBI
| P,b
| Сбросить бит в рег. ввода/вывода
| I/O(P,b)<0
| None
|
|
LSL
| Rd
| Логический сдвиг влево
| Rd(n+1)<Rd(n), Rd(0)<0
| Z,C,N,V
|
|
LSR
| Rd
| Логич.сдвиг вправо
| Rd(n)<Rd(n+1), Rd(7)<0
| Z,C,N,V
|
|
ROL
| Rd
| сдвиг влево через C
| Rd(0)<C, Rd(n+1)<Rd(n), C<Rd(7)
| Z,C,N,V
|
|
ROR
| Rd
| сдвиг вправо через C
| Rd(7)<C, Rd(n)<Rd(n+1), C<Rd(0)
| Z,C,N,V
|
|
ASR
| Rd
| Арифметический сдвиг вправо
| Rd(n)<Rd(n+1), n=0..6
| Z,C,N,V
|
|
SWAP
| Rd
| Обмен нибблов (тетрад)
| Rd(3-0)<Rd(7-4) Rd(7-4)<Rd(3-0)
| None
|
|
BSET
| s
| Установить флаг
| SREG(s)<1
| SREG(s)
|
|
BCLR
| s
| Сбросить флаг
| SREG(s)<0
| SREG(s)
|
|
BST
| Rr,b
| Запомнить бит в T
| T<Rr(b)
| T
|
|
BLD
| Rd, b
| Прочитать бит из T
| Rd(b)<T
| None
|
|
SEC
|
| Установить перенос
| C<1
| C
|
|
CLC
|
| Сбросить перенос
| C<0
| C
|
|
SEN
|
| Установить флаг N
| N<1
| N
|
|
CLN
|
| Сбросить флаг N
| N<0
| N
|
|
SEZ
|
| Установить флаг Z
| Z<1
| Z
|
|
CLZ
|
| Сбросить флаг Z
| Z<0
| Z
|
|
SEI
|
| Разрешить прерывания
| I<1
| I
|
|
CLI
|
| Запретить прерывания
| I<0
| I
|
|
SES
|
| Установить флаг S
| S<1
| S
|
|
CLS
|
| Сбросить флаг S
| S<0
| S
|
|
SEV
|
| Установить флаг V
| V<1
| V
|
|
CLV
|
| Сбросить флаг V
| V<0
| V
|
|
SET
|
| Установить флаг T
| T<1
| T
|
|
CLT
|
| Сбросить флаг T
| T<0
| T
|
|
SEH
|
| Установить флаг H
| H<1
| H
|
|
CLH
|
| Сбросить флаг H
| H<0
| H
|
|
NOP
|
| Нет операции
|
| None
|
|
SLEEP
|
| Останов
|
| None
|
|
WDR
|
| Сброс сторожевого таймера
|
| None
|
|