Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

326-2014 ДГЦУиМП

.pdf
Скачиваний:
15
Добавлен:
26.03.2016
Размер:
1.36 Mб
Скачать

ST Z, Rr

Косвенная запись в памятьданных

О п ер а ц и я

т - я г

 

 

 

 

 

 

 

 

К од о п ер ац и и

1000 001 г т т 0000

 

 

 

 

 

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

О п еранд ы

0 £ г £ 3 1

 

 

 

 

 

 

 

 

 

С о х р ан я ет со д ер ж и м о е реги ст р а о б щ его н азн ач ен и я Яг в п ам я ти д ан н ы х . А дрес

О п и сан и е

я ч е й к и п ам я т и , к ко то р о й п р о и зв о д и тся о б р ащ е н и е, со д ер ж и тся в и н д ек сн о м

 

р еги стр е 2

 

 

 

 

 

 

 

Р еги стр S R E G

I

Т

 

Н

Б

V

N

Ъ

С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

-

 

Ч и сл о так то в

 

 

 

 

2

 

 

 

 

 

с1г

г31

;

Очистить

старший

байт

индексного

регистра

П р и м ер

1(31

г30,$60

;

Загрузить

младший байт

адреса

 

 

 

s t

г , г !

;

Переслать

г ! по

адресу

$0060

 

 

STZ+, Rr

Косвенная запись в память данных с постинкрементом

Операция

Кодоперации

Операнды

Описание

РегистрSREG

Числотактов

Пример

IZ]= Rr,Z= Z+ 1

1001001г птт1001

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

0£г$31, дляг=30 или31 результатоперациииеопределен

СохраняетсодержимоерегистраобщегоназначенияRrвпамятиданных.Адрес ячейкипамяти, ккоторойпроизводитсяобращение, содержитсявиндексном регистреZ. ПослепересылкибайтасодержимоерегистраZувеличиваетсяна 1

I

T

H

 

S

V

N

Z

С

-

-

 

-

 

 

 

 

 

 

 

 

 

2

 

 

 

 

clr

г31

 

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

ldi

Г30,$б0

 

;

Загрузить младший байт адреса

 

st

Z+,rl

 

;

Переслать rl

по адресу $0060

 

 

in

r2,r30

 

;

В регистре г2 -

$61

 

 

29

LDRd,Z+

Косвенное чтение памяти данных с постинкрементом

Операция

Кодоперации

Операнды

Описание

Rd= [Z],Z= Z+l

1001000ddddd0001

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

0< dS31,дняd= 30 или31 результатоперациинеопределен

Загружаетодинбайтизадресногопространствапамятиданныхврегистробщего назначенияRd Адресячейкипамяти, ккоторойпроизводитсяобращение, со­ держитсявиндексном регистреZ Послепересылкибайтасодержимоерегистра Z увеличиваетсяна 1

Регистр51ШЗ

I

T

 

H

S

V

N

Z

С

 

 

 

 

 

 

 

 

 

Числотактов

 

 

 

 

2

 

 

 

 

 

c l r

г31

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

Пример

l d i

гЗО,$60

;

Загрузить младший байт адреса

 

 

ld

T l,Z*

;

П = [$0060]

-

$61

 

 

 

in

г2,г30

;

В регистре г2

 

 

STY.Rr

Косвенная запись в память данных

 

 

 

 

Операция

M = Rr

 

 

 

 

 

 

 

 

Кодоперации

1000 OOlrmr 1000

 

 

 

 

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

Операнды

OSri 31

 

 

 

 

 

 

 

Описание

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

ячейки памяти, ккоторойпроизводитсяобращение, содержится в индексном

 

регистреY

 

 

 

 

 

 

 

РегистрЗЯЕО

I

T

 

H

S

V

N

г

С

 

 

 

 

 

 

 

 

 

Числотактов

 

 

 

 

2

 

 

 

 

Пример

clr

г29

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

ldi

г28,$60

;

Загрузить младший байт адреса

 

 

 

st

Y,rl

;

Переслать rl

по адресу $0060

 

 

30

STY+.Rr

Косвенная запись в памятьданных с постинкрементом

Операция

Кодоперации

Операнды

Описание

IY]= Rr,Y=Y+l

1001 OOlrrrrr 1101

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

0<г<31,дляг = 28или29результатоперациинеопределен

СохраняетсодержимоерегистраобщегоназначенияRrвпамятиданных Адрес ячейкипамяти, ккоторойпроизводитсяобращение, содержитсявиндексном регистреY ПослепересылкибайтасодержимоерегистраVувеличиваетсяна 1

РегистрБКЕС

1

T

H

 

S

V

N

Z

С

-

-

-

-

-

-

-

 

-

 

 

Числотактов

 

 

 

 

2

 

 

 

 

 

clr г29

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

Пример

ldi г2В,$60

, Загрузить младший байт адреса

 

 

 

st

Y+,rl

, Переслать rl по адресу $0060

 

 

 

ш

г2,г28

, В регистре г2 -

$61

 

 

 

STX, Пг

Косвенная запись в памятьданных

Оп е р а ц и я

Ко л оп ер ац и и

Оп еранд ы

Оп и сан и е

Р еги стр в Д Е О

Чи сл о так то в

Пр и м ер

[X] = R r

1001 OOlrrrrr 1100

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

0 £ г <: 31

С о х р ан яет со д ер ж и м о е реги стр а о б щ его н азн а ч е н и я R r в п ам яти д ан н ы х . А дрес яч ей к и п ам я т и , к к о то р о й п р о и зв о д и тся о б р ащ е н и е, со д ер ж и тся в л н д е к с н о м р еги стре X

1

т

 

н

Vs

N

г

с

 

 

 

- '

-

-

-

■ -

 

 

 

 

2

 

 

 

c l r

г27

;

Очистить

старвий байт

индексного регистра

l d i

г2 6 ,$60

;

Загрузить

младший байт

адреса

 

s t

X ,r l

;

Загрузить

r l по

адресу

$0060

 

31

STX+, Rr

Косвенная запись впамятьданныхс постинкрементом

О п ераци я

|X ] = R r , X = X + l

 

 

 

 

 

 

К од операции

1001 O O lrm rH O l

 

 

 

 

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

О перанды

0 * r s 3 I t д л я г а 26 или 27 результат оп ерац ии не определен

 

 

С охраняет содерж им ое регистра общ его н азн ач ени я Я г в памяти данны х. Адрес

О писание

яч ей к и п ам яти, к которой производится обращ ени е, содерж ится в индексном

 

регистре X. П осле пересы лки байта содерж им ое регистра X увеличивается н а 1

 

I

T

H

S

V

N

Z

С

Р егистр вЯ Е С

 

 

 

 

 

 

 

 

 

-

-

-

-

-

-

-

 

Ч исло тактов

 

 

 

 

2

 

 

 

 

c l r г 2 7

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

П рим ер

l d i

г 2 б , $ б 0

;

З а г р у з и т ь

м ладш и й

б а й т

а д р е с а

 

s t

X + , r l

; З а г р у з и т ь r l п о а д р е с у $ 0 0 6 0

 

 

 

 

i n

r l , r 2 6

; В р е г и с т р е r l - $ 61

 

 

LD Rd, X

Косвенное чтение памяти данных

Операция

Кодоперации

Операнды

Описание

Регистр8ЯЕС

Числотактов

Пример

Rd= JX]

1001 OOOddddd 1100

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

0 <d <31

Загружаетодинбайтизадресногопространствапамятиданныхврегистробщего назначения Rd. Адресячейкипамяти, ккоторойпроизводитсяобращение,со­ держитсяв индексном регистреX

1

T

 

H

S

V

N

г

С

 

 

 

 

 

-

-

-

-

 

 

 

 

2

 

 

 

 

clr г27

;

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

ldi г26,$60

;

Загрузить младший байт адреса

 

 

ld

,rl,X

;

rl =

[$0060]

 

 

 

 

32

LD Rd, X+

Косвенное чтение памятиданныхс постинкрементом

О п ер а ц и я

Ко д оп ер ац и и

Оп еранды

Оп и сан и е

R d = | Х | , Х - Х + 1

 

1001 OOOddddd 1101

1 сл о в о (2 Смита)

0 < d £ 3 1 , j u » d = 26 и ли 27 результат о п ер ац и и н е оп ределен

Загруж ает о д и н б а й т и э ад р есн о го п р о стр ан ств а п ам яти д ан н ы х в р еги стр об щ его н азн ач ен и я R d. А дрес я ч е й к и п ам я ти , к ко то р о й п р о и зво д и тся об р ащ ен и е, с о ­ д ер ж и тся в и н д ек сн о м р еги стр е X . П осле п ер есы л ки б а й т а со д ер ж им о е р еги стр а X увеличи вается на 1

 

1

T

H

S

V

N

 

Z

С

Р еги стр SR E G

 

 

 

 

 

 

 

 

 

 

-

-

-

-

 

-

'

-

 

Ч и сл о тактов

 

 

 

 

2

 

 

 

 

 

c l r

г 2 7

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

 

l d i

r 2 6 , $ 6 0

;

З а г р у з и т ь

м л адш и й

б а й т

а д р е с а

 

П р и м ер

l d

r l . X v

; r l = [$0060]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i n

r l , r 2 6

; В р е г и с т р е r l - $ 6 1

 

 

 

LDRd.Y

Косвенное чтение памяти данных

О п ераци я

К о д оп ер ац ии

Оп еранд ы

Оп исан ие

Rd = [Y]

 

1000 000d dddd 1000

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

0 < d < 31

 

Загруж ает о д и н б а й т и з ад р есн о го простран ства п ам яти д ан н ы х в регистр о б щ е ­ го н азн ач ен и я R d . А дрес я ч е й к и п ам яти , к которой п р о и зво д и тся об р ащ ен и е, со д ер ж и тся в. и н д ек сн о м р еги стр е Y

 

I

T

H

 

S

V

N

Z

С

Р еги стр S R E G

 

 

 

 

 

 

 

 

 

 

-

-

-

-

-

 

-

-

-

Ч и сл о так то в

 

 

 

 

2

 

 

 

 

 

c l r r 2 9

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

П р и м ер

l d i г 2 8 , $ 6 0

; З а г р у з и т ь м л ад ш и й б а й т а д р е с а

 

 

 

l d

r l , ï

; r l

= [ $ 0 0 6 0 ]

 

 

 

 

33

LDRd,Y+

Косвенное чтение памяти данных с постинкрементом

 

 

Операция

Rd “ [Y],Y=Y+1

 

 

 

 

 

 

 

Кодоперации

1001 OOOddddd 1001

 

 

 

 

 

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

Операнды

0sd<31, для(1 =28или29результатоперации неопределен

 

 

 

Загружаетшинбайтизадресногопространства памятиданных врегистробщего

Описание

назначенияRd.Адрес ячейки памяти, ккоторой производится обращение,со­

держитсяв индексном регистреY.После пересылки байта.содержимоерегистра

 

 

Уувеличивается на1

 

 

 

 

 

 

Регистр 51ШЗ

1

т

 

н

s

 

Nv

г

с

_

_

_

_

_

_

_

 

_

 

 

Числотактов

 

 

 

 

2

 

 

 

 

 

clr г29

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

Пример

ldi г28,$60

; Загрузить младший байт адреса

 

 

ld

rl,Y+

; r l

= [$0060]

$61

 

 

 

 

in

r2,r28

; В регистре г2 -

 

 

 

34

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Ревич, Ю. В. Практическое программирование микроконтроллеров ATmel AVR на языке ассемблера [Текст] / Ю.В. Ревич. - 2-е изд. - СПб.: БХВ - Петербург, 2011. - 362 с.

2.Баранов, В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы [Текст] / В.Н. Баранов. - М.: Додэка - XXI, 2004. - 288 с.

3.Евстафиев, А. В. Микроконтроллеры AVR семейства Mega. Руководство пользователя [Текст] / А.В. Евстафьев. -

М.: Додэка - XX1, 2007. - 592 с.

СОДЕРЖАНИЕ

 

Лабораторная работа № 1. Изучение программного

 

пакета AVR STUDIO

1

Лабораторная работа № 2. Изучение команд работы с

 

регистрами микроконтроллера и памятью

11

Приложение

23

Библиографический список

35

35

ПРОГРАММИРОВАНИЕ АУК МИКРОКОНТРОЛЛЕРОВ ПРИ ВЫПОЛНЕНИИ ОПЕРАЦИЙ С РЕГИСТРАМИ

И ПАМЯТЬЮ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ по выполнению лабораторных работ по курсу «Цифровые

устройства и микропроцессоры» для студентов направления 210400.62 «Радиотехника» (профиль «Радиотехнические средства передачи, приема и обработки сигналов»)

испециальности 210601 «Радиоэлектронные системы

икомплексы» очной формы обучения

Составитель Алперин Евгений Данилович

В авторской редакции

Подписано в печать 22.12.2014.

Формат 60x84/16. Бумага для множительных аппаратов. Уел. печ. л. 2,4. Уч.-изд. л. 2,2. Тираж 34 экз.

«С» 131. Зак. №259.

ФГБОУ ВПО «Воронежский государственный технический университет»

394026 Воронеж, Московский просп., 14

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]