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

0 ... 64 65 66 67 68 69 70 ... 195

EIJMP

Расширенный косвенный переход

Операция

PC[15..0] = Z,PC[21..16] = EIND

Код операции

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

Операнды

Нет операндов

Описание

Косвенный безусловный переход. Выполняет переход по адресу, младшие биты которого находятся в регистре Z, а старшие — в регистре ввода/вывода EIND. Эта команда поддерживается только микроконтроллерами ATmega2560x/2561x!

Регистр SREG

I Т Н S V N Z С

Число тактов

2

Пример

ldi г1б, $05 ; Инициализируем EIND и указатель Z out EIND,rl6 ldi гЗО, $00 ldi r31, $10

eijmp ; Перейдем по адресу $051000

ELPM

Расширенная загрузка данных из памяти программ

Операция

R0 = {RAMPZ:Z}

Код операции

1001 0101 1101 1000

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

Операнды

Нет операндов

Описание

Загружает один байт из адресного пространства памяти программ в регистр общего назначения R0. Адрес ячейки памяти, к которой производится обращение, содержится в регистре ввода/вывода RAMPZ и индексном регистре Z. Эта команда поддерживается только микроконтроллерами ATmega 128х, ATmegal280x/1281x и ATmega2560x/2561x!

Регистр SREG

I

T

H

S

V

N

Z

С

-

-

-

-

-

-

-

-

Число тактов

3

Пример

clr out clr

ldi elpm

rl6

RAMPZ,rl6 r31

r30,$F0

Очистить регистр RAMPZ

Очистить старший байт индексного регистра Z

Загрузить адрес в регистр Z г0 = {$000F0}


ELPM Rd, Z

Расширенная загрузка данных из памяти программ

Операция

Rd = {RAMPZ:Z}

Код операции

1001 000d dddd 0110

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

Операнды

0<d < 31

Описание

Загружает один байт из адресного пространства памяти программ в регистр общего назначения Rd. Адрес ячейки памяти, к которой производится обращение, содержится в регистре ввода/вывода RAMPZ и индексном регистре Z. Эта команда поддерживается только микроконтроллерами ATmega 128х, ATmegal280x/1281x и ATmega2560x/2561x!

Регистр SREG

I

T

H

s

V

N

Z

С

-

-

-

-

-

-

-

-

Число тактов

3

Пример

clr rl6

out RAMPZ, rl6

clr r31

ldi r30,$F0 elpm rl6,Z

Очистить регистр RAMPZ

Очистить старший байт индексного регистра Z

Загрузить адрес в регистр Z г1б = {$000F0}

ELPM Rd, Z+

Расширенная загрузка данных из памяти программ с постинкрементом

Операция

Rd = {RAMPZ:Z},RAMPZ:Z

= RAMPZ:Z + 1

Код операции

1001 000d dddd 0111

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

Операнды

0 < d < 31

Описание

Загружает один байт из адресного пространства памяти программ в регистр общего назначения Rd. Адрес ячейки памяти, к которой производится обращение, содержится в регистре ввода/вывода RAMPZ и индексном регистре Z. После пересылки байта значение указателя увеличивается на 1. Эта команда поддерживается только микроконтроллерами ATmega 128х, Annegal280x/1281x и Annega2560x/2561x!

Регистр SREG

I

T

н

S

V

N

Z

С

-

-

-

-

-

-

-

-

Число тактов

3

Пример

clr г1б ; Очистить регистр RAMPZ out RAMPZ,rl6

clr r31 ; Очистить старший байт индексного

; регистра Z ldi r30,$F0 ; Загрузить адрес в регистр Z elpm rl6,Z+ ; г1б = {$000F0}, Z = $00F1


EOR Rd, Rr

«Исключающее ИЛИ» двух РОН

Операция

Rd = Rd(

©Rr

Код операции

0010 Olrd dddd rrrr

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

Операнды

0<d<31,0<r< 31

Описание

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

Регистр SREG

I

Т

Н

S

V

N

Z

С

-

-

-

о

0

о

о

-

Число тактов

1

Пример

eor r2,r2 eor r0,r22

; Очистка регистра г2

; Побитовое «Исключающее ИЛИ»

между г0 и г22

FMUL Rd, Rr

Умножение дробных беззнаковых чисел

Операция

Rl:R0 = (RdxRr)«l

Код операции

00000011 Odddlrrr

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

Операнды

16<d<23,16 < г< 23

Описание

Осуществляет умножение беззнаковых дробных чисел, находящихся в регистрах Rd и Rr. Формат чисел — 1.7 (старший бит — целая часть, 7 младших битов — дробная). Результат умножения (формат результата — 2.14) сдвигается влево на один бит для приведения к формату 1.15 и заносится в регистровую пару R1:R0

Регистр SREG

I

Т

Н

S

V

N

Z

С

-

-

-

-

-

-

о

о

Число тактов

2

Пример

fmul movw

r23,r22

r23:r22,rl:r0

; Умножить г23 и г22

; Скопировать результат обратно

; в г23:г22



0 ... 64 65 66 67 68 69 70 ... 195