Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум КТіООР.doc
Скачиваний:
5
Добавлен:
09.11.2019
Размер:
4.21 Mб
Скачать

Jnp/jpo-переход за відсутності парності

Якщо (PF) = 0, то (IP)  (IP) + Disp8.

Команди здійснюють передачу управління за адресою, що задається цільовим операндом, за умови, що прапор PF рівний 0. Інакше виконується наступна команда. Адреса цільового операнду визначається додаванням байту зміщеннясуву з адресою наступної команди. Оскільки зміщення є 8-бітовим цілим числом із знаком, команди JNP/JPO можуть передавати управління командам з адресами в діапазоні +127 байт  -128 байт від кінця команди переходу.

Приклад. Нехай в регістрі ВР міститься шіснадцяткове число 7Е07Н (0111 1110 0000 0111 в двійковому уявленні) і виконується наступна послідовність команд:

CMP BP,00

JNP NEXT_WORD

CLG

RET

NEXT_WORD: CALL ROTATE_BIT

При виконанні команди CMP BP,00 прапор PF скидається в 0. Після виконання наступної команди управління передається команді CALL ROТАТЕ_BIT, що знаходиться за адресою NEXT_WORD. Ця обставина вказує на те, що число одиничних бітів в молодшому байті регістра ВР непарне (в даному прикладі три такі біти).

Jp/jpe-перехід по парності

Якщо (PF)=1, то (IP)  (IP) + Disp8.

Команди здійснюють передачу управління за адресою, що задається цільовим операндом, за умови, що прапор паритету PF рівний 1. Інакше виконується наступна команда. Адреса цільового операнда визначається додаванням байта зміщення з адресою наступної команди. Оскільки зміщення є 8-бітовим цілим числом із знаком, команди можуть передавати управління за адресами у діапазоні +127 байт  – 128 байт від кінця команди.

Приклад. Нехай вміст регістру АХ дорівнює 0007ЕН (0000 0000 0111 1110 в двійковій формі) і виконується наступна послідовність команд:

CMP AX,00

JP NEXT_BIT

CLC

RET

NEXT-BIT: CALL ROTATE_BIT

У даному прикладі перша команда встановлює в 1 прапор PF. Після виконання другої команди управління передається команді CALL ROTATE з адресою |ROTATE_BIT. Ця обставина вказує на те, що число відмінних від нуля бітів в молодшому байті регістру АХ парне (в даному прикладі воно рівне 6).

JS-перехід по знаку

Якщо (SF)=1, то (IP)  (IP) + Disp8.

Команда здійснює передачу управління за адресою, що задається цільовим операндом, при умові що прапор SF рівний 1. Інакше виконується наступна команда. Адреса цільового операнда вираховується додаванням байту зміщення з адресою наступної команди. Оскільки зміщення є 8-бітове ціле число із знаком, команда JS може передавати управління за адресами в диапазоні + l27 байт  – 128 байт від кінця команди.

Приклад. Нехай однобайтовий елемент пам'яті з адресою FIRST_BYTE містить 0 і виконується наступна послідовність команд:

DEC BYTE PTR FIRST_BYTE

JS COMPLETE

STD

RET

COMPLETE: ADD AX,4000H

Перша команда змінює вміст комірки FIRST_BYTE на FFH і встановлює прапор SF в 1. Після виконання команди JS COMPLETE управління передається команді ADD AX,4000H з адресою COMPLETE. Останнє означає, що вміст комірки пам'яті є від’ємним двійковим числом (старший біт байту в FIRST_BYTE дорівнює 1).

2.7.2. Варіанти завдань

Написати асемблер-програму множення беззнакових операндів X та Y довжиною 28 та 12 розрядів відповідно, використавши один з 4-х алгоритмів поданих нижче.

1) зсуву множника та аналізу другого множника молодшими бітами вперед;

2) зсуву множника та аналізу другого множника старшими бітами вперед;

3) суми часткових добутків та аналізу другого множника молодшими бітами вперед;

4) суми часткових добутків та аналізу другого множника старшими бітами вперед.

X

Y

Алгоритм

1

1ADF234

AD2

1

2

256FAC32

34F

2

3

356791A

110

3

4

AA234FC

239

4

5

123F4536

FFF

1

6

AF34675

201

2

7

3111234

AD2

3

8

44FFAC32

34F

4

9

356791A

110

1

10

11234FC

459

2

11

423F4536

2FF

3

12

1F34675

121

4

13

333F4536

22F

1

14

1F34675

341

3

15

356091A

120

2

16

3113234

A32

4

Лабораторна робота №8

Тема роботи: Взаємодія з операційною системою.

Мета роботи: Навчитися складати програми взаємодії з операційною истемою.