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

0 ... 70 71 72 73 74 75 76 ... 195

OR Rd,Rr

«Логическое ИЛИ» двух РОН

Операция

Rd = Rd

vRr

Код операции

0010 10rd dddd rrrr

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

Операнды

0<d<31,0<r<31

Описание

Выполняет операцию «Логическое ИЛИ» между регистрами Rd и Rr. Результат помещается в регистр Rd

Регистр SREG

I

T

H

s

V

N

Z

С

-

-

-

<=>

0

<=>

<=>

-

Число тактов

1

Пример

or

bst

brts

rl5,rl6 rl5,6 ok

; Побитовое «ИЛИ» rl5 и г16

; Записать 6-й бит регистра г15 в флаг Т

; Перейти, если флаг Т равен 1

ok:

ORI Rd, к

«Логическое ИЛИ» РОН и константы

Операция

Rd = Rd

vK

Код операции

ОНО KKKK dddd KKKK

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

Операнды

16<d<31,0<K<255

Описание

Выполняет операцию «Логическое ИЛИ» между регистром Rd и константой К. Результат помещается в регистр Rd. Команда применима только к 16 старшим POH(R16...R31)

Регистр SREG

I

T

H

S

V

N

Z

С

-

-

-

<=>

0

<=>

<=>

-

Число тактов

1

Пример

ori on

rl7,$0F rl8,l

; Установить старший полубайт регистра rl7 ; Установить 0-й бит регистра г18


OUT A, Rr

Пересылка значения из РОН в РВВ

Операция

1/0(А) = Rr

Код операции

1011 1 AAr rrrr АААА 1 слово (2 байта)

Операнды

0<г<31,0<А<63

Описание

Пересылает содержимое регистра общего назначения Rr в регистр ввода/вывода А

Регистр SREG

I Т Н S V N Z С

Число тактов

1

Пример

clr г1б ser г17 out $18,г16 пор

out $18#г17

Очистить регистр г1б Установить регистр г17 Записать нули в порт В Ждать один такт Записать единицы в порт В

POP Rd

Извлечение байта из стека

Операция

SP = SP+ 1, Rd =

STACK

Код операции

1001 000ddddd 111

1

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

Операнды

0 < d < 31

Описание

Загружает 1 байт из стека в регистр общего назначения Rd

Регистр SREG

I

Т

н

S

V

N

Z

С

-

-

-

-

-

-

-

-

Число тактов

2

Пример

call routine ; Вызов подпрограммы routine:

push rl4 ; Сохранить rl4 в стеке push rl5 ; Сохранить rl5 в стеке

pop rl5 ; Восстановить rl5 из стека pop rl4 ; Восстановить rl4 из стека ret ; Возврат из подпрограммы


PUSH Rr

Сохранение байта в стеке

Операция

STACK =

= Rr,SP =

SP-1

Код операции

1001 001 г rrrr 1111

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

Операнды

0 < г < 31

Описание

Сохраняет содержимое регистра общего назначения Rr в стеке

Регистр SREG

I

T

H

S

V

N

Z

С

-

-

-

-

-

-

-

-

Число тактов

2

call

routine ; Вызов подпрограммы

Пример

routine push push

rl4 rl5

; Сохранить rl4 в ; Сохранить rl5 в

стеке стеке

pop pop ret

rl5 rl4

; Восстановить rl5 из стека ; Восстановить г14 из стека ; Возврат из подпрограммы

RCALLk

Относительный вызов подпрограммы

Операция

STACK =

PC + 1; PC = PC + k + 1; SP =

SP- 2 (3)

Код операции

1101 kkkk kkkk kkkk

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

Операнды

-2047 <k< 2047

Описание

Относительный вызов подпрограммы. Выполняет переход к подпрограмме, адрес которой получается сложением содержимого счетчика команд с константой к. Адрес следующей за RCALL команды (2 или 3 байта) сохраняется в стеке. На практике вместо числовых значений смещения указываются метки подпрограмм (см. пример)

Регистр SREG

I

T

H

S

V

N

Z

С

-

-

-

-

-

-

-

-

Число тактов

3(в моделях с PC < 16 битов)

4(в моделях с PC > 16 битов)

rcall routine ; Вызвать подпрограмму

Пример

routine push

rl4

; Сохранить

rl4

pop ret

rl4

; Восстановить rl4

; Возврат из подпрограммы



0 ... 70 71 72 73 74 75 76 ... 195