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

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

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

Операція:

(i)

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

Синтаксис

Операнди:

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

(i)

BRNE 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

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

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

Команда brcs – Перейти, якщо прапорець переносу встановлений

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

Операція:

(i)

If С= 1 then PC < PC + k +1, else PC < PC +1

Синтаксис

Операнди:

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

(i)

BRСS 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: dec r18 ; декремент регістра R18

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

brcs carry ;якщо прапорець переносу встановлений, перехід на мітку carry

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

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

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