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

Команда ori - виконати логічне “або” з константою

Описання: Команда виконує логічне “АБО” між вмістом регістра Rd і константою і розміщує результат в регістрі призначення Rd.

Операція:

(i)

Rd < Rd v K

Синтаксис

Операнди:

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

(i)

ORI Rd, K

16 < Rd < 31, 0 < K <255

PC < PC + 1

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

I

T

H

S

V

N

Z

C

-

-

-

0

-

Приклад:

.device AT90S1200

.include "1200def.inc"

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

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

ldi r17,0b00001111 ; записуємо двійкове число 000011112 в регістр R17

ori r17,0b00110011 ;побітове логічне “АБО” над регістром R17 і числом 001100112, ;результат (001100112) записується в регістр R17

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

Команда eor - Виконати виключаюче “або”

Описання: Виконання логічного виключаючого “АБО” між вмістом регістра Rd і регістром Rr і розміщення результату в регістрі призначення Rd.

Операція:

(i)

Rd< RdRr

Синтаксис

Операнди:

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

(i)

EOR Rd, Rr

0 < Rd < 31, 0 < Rr < 31

PC < PC + 1

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

I

T

H

S

V

N

Z

C

-

-

-

0

-

Приклад:

.device AT90S1200

.include "1200def.inc"

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

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

ldi r17,0b00001111 ; записуємо двійкове число 000011112 в регістр R17

ldi r18,0b00001001 ; записуємо двійкове число 000010012 в регістр R18

еor r17,r18 ;побітове логічне “ВИКЛЮЧАЮЧЕ АБО” над регістрами R17 і ;R18, результат (000001102) записується в регістр R17

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

Команда com - Виконати доповнення до одиниці

Описання: Команда виконує доповнення до одиниці (реалізує зворотній код) вмісту регістра Rd.

Операція:

(i)

Rd < $FF * Rd

Синтаксис

Операнди:

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

(i)

COM Rd

0 < Rd < 31

PC < PC + 1

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

I

T

H

S

V

N

Z

C

-

-

-

0

1

Приклад:

.device AT90S1200

.include "1200def.inc"

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

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

ldi r17,0b11001100 ; записуємо двійкове число 110011002 в регістр R17

com r17 ;отримуємо зворотній код регістра R17 (001100112)

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

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