Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[19]

НЕПОСРЕДСТВЕННАЯ АДРЕСАЦИЯ ДАННЫХ

ПРОСТРАНСТВО ДАННЫХ

-$0000

ОР Rr/Rd

МЛАДШИЕ 16 БИТ

31

20 I 9

6

$FFFF

Рис. Непосредственная адресация данных 16-разрядный адрес данных содержится в 16 младших разрядах 32-разрядной команды. Rd/Rr определяют регистр источник или регистр назначения.

КОСВЕННАЯ АДРЕСАЦИЯ ДАННЫХ СО СМЕЩЕНИЕМ

ПРОСТРАНСТВО ДАННЫХ

-$0000

150

РЕГИСТР Y ИЛИ Z

1=ор jz „п

5

10

6 5

$FFFF

Рис. /2 Косвенная адресация данных со смещением Адрес операнда вычисляется суммированием содержимого регистра Y или Z с 6 битами адреса, содержащимися в слове команды.

КОСВЕННАЯ АДРЕСАЦИЯ ДАННЫХ

РЕГИСТР Х , Y ИЛИ Z

ПРОСТРАНСТВО ДАННЫХ

-1 $0000

15

0

$FFFF

Рис. /3 Косвенная адресация данных Адрес операнда содержится в регистре X, Y или Z


КОСВЕННАЯ АДРЕСАЦИЯ ДАННЫХ С ПРЕДДЕКРЕМЕНТОМ

ПРОСТРАНСТВО ДАННЫХ

15 0

►IРЕГИСТР X, Y ИЛИ Z

$0000

Рис. 14 Косвенная адресация данных с преддекрементом Перед выполнением операции регистр X, Y или Z декрементируется. Декрементированное содержимое регистра X, Y или Z является адресом операнда.

КОСВЕННАЯ АДРЕСАЦИЯ ДАННЫХ С ПОСТИНКРЕМЕНТОМ

ПРОСТРАНСТВО ДАННЫХ

-1 $0000

15 0

JРЕГИСТР"y1/TOi"z

ЕП-К+

$FFFF

Рис 15 Косвенная адресация данных с постинкрементом После выполнения операции регистр X, Y или Z инкрементируется. Адресом операнда является содержимое X, Y или Z регистра предшествовавшее инкрементированию.

АДРЕСАЦИЯ КОНСТАНТЫ С ИСПОЛЬЗОВАНИЕМ КОМАНД LPM и ELPM

ПАМЯТЬ ПРОГРАММ

151 0

$0000

$FFFF

РЕГИСТР Z

$7FFF/$FFFF

Рис 16 Адресация константы кода памяти Адрес байта константы определяется содержимым регистра Z. Старшие 15 битов определяют слово адреса (от 0 до 32К). Состояние младшего бита определяет выбор младшего байта (LSB = 0) или старшего байта (LSB = 1). При использовании команды ELPM младший бит (RAM Page) регистра Z - RAMPZ используется для выбора страницы памяти (RAMPZ0 = 0:младшая страница, RAMPZ0 = 1:старшая страница). Команда ELPM не используется микроконтроллером ATmega603.


НЕПОСРЕДСТВЕННАЯ АДРЕСАЦИЯ ПАМЯТИ ПРОГРАММ, КОМАНДЫ JMP и CALL

ПАМЯТЬ ПРОГРАММ

31 21 20 16

OP 6 MSBs

МЛАДШИЕ 16 БИТ

15 0

$0000

$7FFF/$FFFF

Рис. /7 Непосредственная адресация памяти программ Выполнение программы продолжается с адреса, записанного непосредственно в адресе команды.

КОСВЕННАЯ АДРЕСАЦИЯ ПАМЯТИ ПРОГРАММ, КОМАНДЫ IJMP и ICALL

ПАМЯТЬ ПРОГРАММ

$0000

15

0

РЕГИСТР Z

$7FFF/$FFFF

Рис. /8 Косвенная адресация памяти программ Выполнение программы продолжается с адреса, содержащегося в регистре Z (т.е. счетчик команд загружается содержимым регистра Z).

ОТНОСИТЕЛЬНАЯ АДРЕСАЦИЯ ПАМЯТИ ПРОГРАММ, КОМАНДЫ RJMP и RCALL

ПАМЯТЬ ПРОГРАММ

$7FFF/$FFFF

Рис. /9 Относительная адресация памяти программ Выполнение программы продолжается с адреса PC + k + 1. Значение относительного адреса может быть от -2048 до 2047.

$0000



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51]