Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Part_2.doc
Скачиваний:
4
Добавлен:
04.09.2019
Размер:
2.6 Mб
Скачать

Команда clr - очистити регістр

Описання: Очистка регістра. Команда виконує виключаюче АБО вмісту регістра з самим собою. Це приводить до очистки всіх бітів регістра.

Операція:

(i)

Rd < Rd Rd

Синтаксис

Операнди:

Лічильник програм:

(i)

CLR Rd

0 < Rd < 31

PC < PC + 1

Булеві вирази регістра статусу (SREG)

I

T

H

S

V

N

Z

C

-

-

-

0

0

0

1

-

Приклад: .device AT90S1200

.include "1200def.inc"

ser r16 ;всі біти регістра R16 встановлюються в одиницю

out ddrb,r16 ;налаштування порту В на вивід

clr r18 ;очистка регістра R18

m1: inc r18 ; інкремент регістра R18

cpi r18,50 ;порівнюємо регістр R18 з числом 50

brne m1 ;якщо R1850, перехід на мітку m1

out portb,r17 ; вивід значення регістра R17 в порт B

Команда ser - Встановити всі біти регістра

Описання: Значення $FF заноситься безпосередньо в регістр призначення Rd.

Операція

(i)

Rd < $FF

Синтаксис

Операнди:

Лічильник програм:

(i)

SER Rd

16 < Rd < 31

PC < PC + 1

Булеві вирази регістра статусу (SREG)

I

T

H

S

V

N

Z

C

-

-

-

-

-

-

-

-

Приклад:

.device AT90S1200

.include "1200def.inc"

ser r16 ;всі біти регістра R16 встановлюються в одиницю

out ddrb,r16 ;налаштування порту В на вивід

ser r18 ;встановити всі біти регістра R18

m1: dec r18 ; декремент регістра R18

cpi r18,200 ;порівнюємо регістр R18 з числом 200

brne m1 ;якщо R18200, перехід на мітку m1

out portb,r17 ; вивід значення регістра R17 в порт B

2.2.2. Команди розгалуження Команда rjmp – Відносний перехід

Описання: Команда виконує відносний перехід за адресою в межах +2 Кслів (4 Кбайт) поточного стану лічильника команд. В асемблері замість відносних операндів використовуються мітки. Для AVR мікроконтролерів з пам’яттю програм не перевищуючої 4 Кслів (8 Кбайт) дана команда може адресувати всю пам’ять програм.

Операція:

(i)

PC < PC + k + 1

Синтаксис

Операнди:

Лічильник програм:

Стек

(i)

RJMP k

-2K < k < 2K

PC < PC + k + 1

Стек не змінюється

Булеві вирази регістра статусу (SREG)

I

T

H

S

V

N

Z

C

1

-

-

-

-

-

-

-

Приклад:

.device AT90S1200

.include "1200def.inc"

ser r16 ;всі біти регістра R16 встановлюються в одиницю

out ddrb,r16 ;налаштування порту В на вивід

loop: clr r18 ;очистка регістра R18

m1: inc r18 ; інкремент регістра R18

cpi r18,50 ;порівнюємо регістр R18 з числом 50

brne m1 ;якщо R1850, перехід на мітку m1

out portb,r18 ; вивід значення регістра R18 в порт B

rjmp loop ;перехід на мітку loop

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