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

Команда cp - Порівняти

Описання: Команда порівнює вміст двох регістрів Rd і Rr. Вміст регістрів не змінюється. Після цієї команди можна викнувати будь-які умовні переходи.

Операція:

(i)

Rd = Rr

Синтаксис

Операнди:

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

(i)

Cp Rd, Rr

0 < Rd < 31, 0 < Rr < 31

PC < PC + 1

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

I

T

H

S

V

N

Z

C

-

-

Приклад:

.device AT90S1200

.include "1200def.inc"

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

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

in r17,portd ; ввід даних з порту D в регістр R17

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

cp r17,r18 ; порівняти регістри R17 і R18

breq m1 ;якщо R17=R18, перейти на мітку m1

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

Команда cpc – Порівняти з урахуванням переносу

Описання: Команда порівнює вміст двох регістрів Rd і Rr і враховує також попередній перенос. Вміст регістрів не змінюється. Після цієї команди можна виконувати будь-які умовні переходи.

Операция:

(i)

Rd = Rr = C

Синтаксис

Операнди:

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

(i)

CPC Rd, Rr

0 < Rd < 31, 0 < Rr < 31

PC < PC + 1

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

I

T

H

S

V

N

Z

C

-

-

Приклад:

.device AT90S1200

.include "1200def.inc"

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

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

in r17,portd ; ввід даних з порту D в регістр R17

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

cp r17,r18 ; порівняти регістри R17 і R18 з врахуванням біту переносу

breq m1 ;якщо R17=R18, перейти на мітку m1

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

Команда cpi – Порівняти з константою

Описання: Команда порівнює вміст регістра Rd з константою. Вміст регістра не змінюється. Після цієї команди можна виконувати будь-які умовні переходи.

Операція:

(i)

Rd = K

Синтаксис

Операнди:

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

(i)

CPI Rd, K

0 < Rd < 31,0 < K <255

PC < PC + 1

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

I

T

H

S

V

N

Z

C

-

-

Приклад:

.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,r18 ; вивід значення регістра R18 в порт B

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