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

Команда brbc – Перейти, якщо біт в регістрі статусу очищений

Описання: Умовний відносний перехід. Тестується один з бітів регістра статусу и, якщо біт очищений, виконується перехід відносно стану лічильника програм. Дана команда виконує перехід в будь-якому напрямку відносно стану лічильника програм (PC-64 < Rd < PC+63). Параметр k являється зсувом відносно стану лічильника програм і зображений в формі доповнення до двох.

Операція:

(i)

If SREG (s) = 0 then PC < PC + k +1, else PC < PC +1

Синтаксис

Операнди:

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

(i)

BRBC s, k

0 < s <7, -64 < k <+63

PC < PC + k + 1, PC < PC + 1, якщо умови не виконані

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

I

T

H

S

V

N

Z

C

-

-

-

-

-

-

-

-

Приклад: .device AT90S1200

.include "1200def.inc"

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

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

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

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

brbс 1,m1 ;якщо 6-ий біт (біт Т) встановлений в статус-регістрі,

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

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

Команда breq – Перейти, якщо рівно

Описання: Умовний відносний перехід. Тестується біт прапорця нульового значення (Z) регістра статусу и, якщо біт встановлений, виконується перехід відносно стану лічильника програм. Якщо команда виконується безпосередньо після виконання будь-якої з команд CP, CPI, SUB або SUBI перехід виконається якщо, и тільки якщо, двійкове число, зі знаком або без знаку, зображено в Rd, еквівалентно двійковому числу, зі знаком або без знаку, зображеному в Rr. Дана команда виконує перехід в любому напрямку відносно стану лічильника програм (PC-64 < Rd < PC+63). Параметр k являється зсувом відносно стану лічильника програм и представлений в формі доповнення до двох. (Команда еквівалентна BRBS 1,k).

Операція:

(i)

If Rd = Rr (Z = 1) then PC < PC + k +1, else PC < PC +1

Синтаксис

Операнди:

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

(i)

BREQ k

-64 < k <+63

PC < PC + k + 1, PC < PC + 1, якщо умови не виконані

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

I

T

H

S

V

N

Z

C

-

-

-

-

-

-

-

-

Приклад: .device AT90S1200

.include "1200def.inc"

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

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

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

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

breq end ;якщо R18=35, перехід на мітку end

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

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

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