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

Команда brlo – Перейти, якщо менше (без знаку)

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

Операція:

(i)

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

Синтаксис

Операнди:

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

(i)

BRLO 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

subi r18,35 ;віднімаємо від регістра R18 число 35

brlo m1 ;якщо R18<35 (без знаку), перехід на мітку m1

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

Команда brmi – Перейти, якщо мінус

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

Операція:

(i)

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

Синтаксис

Операнди:

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

(i)

BRMI 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

subi r18,35 ;віднімаємо від регістра R18 число 35

brmi m1 ;якщо результат від’ємний, перехід на мітку m1

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

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