Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_з_АК_пр1.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
4.15 Mб
Скачать

Команди передачі управління по значеннях флагів zf, sf, pf

Команда

Умова переходу

Зміст

JZ мітка

ZF = 1

результат операції нульовий

JNZ мітка

ZF = 0

результат операції ненульовий

JS мітка

SF = 1

результат операції від’ємний (найстарший біт = 1)

JNS мітка

SF = 0

результат операції додатній (найстарший біт = 0)

JP мітка

PF = 1

результат операції парний, тобто містить парну кількість одиниць

JNP мітка

PF = 0

результат операції непарний, тобто містить непарну кількість одиниць

Приклад використання команд умовного переходу:

test al,al

jnz m1

inc al

m1 :

В даному випадку по команді jnz відбудеться перехід на мітку m1, якщо в регістрі al було ненульове значення, і інкремент регістру al, якщо у ньому було нульове значення.

Для вводу та виводу символа використати переривання DOS 10h i 16h.

Для вводу символа:

mov ah,0

int 16h

В результаті виконання в регістр AL буде зчитаний з клавіатури код символу ASCII

Для виводу символа:

mov ah,0eh

int 10h

Символ, що знаходиться в AL, буде виведений в поточну позицію курсора.

7.2 Порядок виконання роботи

1. Скласти асемблер-програму згідно з завданням.

2. Використовуючи програми tasm.exe та tlink.exe, отримати виконуваний модуль (.com або.exe).

3. Виконати програму у відладчику в покроковому режимі. Після виконання кожної команди фіксувати стан регістрів і флагів мікропроцесора (флаги - тільки для логічних команд).

4. Виконати програму з командного рядка DOS.

Стани регістрів в процесі виконання програми:

Команда

Стани регістрів, що використовуються

Стани флагів

ax

dx

ip

c

z

s

o

p

a

i

d

Примітка. Стан регістрів і комірок пам’яті зафіксувати до виконання коду завершення програми (int 21h).

5. Зробити висновки за результатами роботи.

7.3 Завдання

Варіант №

Завдання

1

1) Ввести символ з клавіатури.

2) Якщо біт 4 коду символу дорівнює 1, інвертувати код символу.

3) Якщо код нульовий, встановити в "1" біти 6 і 7.

4) Якщо код від’ємний, встановити в "0" біти 3 і 5.

5) Якщо код парний, інвертувати біти 0 і 2.

6) Вивести отриманий символ на дисплей.

2

1) Ввести символ з клавіатури.

2) Якщо біт 3 коду символу дорівнює 1, інвертувати код символу.

3) Якщо код нульовий, встановити в "1" біти 5 і 7.

4) Якщо код від’ємний, встановити в "0" біти 0 і 6.

5) Якщо код парний, інвертувати біти 1 і 2.

6) Вивести отриманий символ на дисплей.

3

1) Ввести символ з клавіатури.

2) Якщо біт 6 коду символу дорівнює 1, інвертувати код символу.

3) Якщо код нульовий, встановити в "0" біти 6 і 7.

4) Якщо код від’ємний, встановити в "1" біти 3 і 5.

5) Якщо код парний, інвертувати біти 1 і 4.

6) Вивести отриманий символ на дисплей.

4

1) Ввести символ з клавіатури.

2) Якщо біт 5 коду символу дорівнює 0, інвертувати код символу.

3) Якщо код нульовий, встановити в "1" біти 4 і 7.

4) Якщо код від’ємний, встановити в "0" біти 3 і 6.

5) Якщо код парний, інвертувати біти 0 і 5.

6) Вивести отриманий символ на дисплей.

5

1) Ввести символ з клавіатури.

2) Якщо біт 4 коду символу дорівнює 0, інвертувати код символу.

3) Якщо код нульовий, встановити в "0" біти 2 і 7.

4) Якщо код від’ємний, встановити в "1" біти 3 і 4.

5) Якщо код парний, інвертувати біти 1 і 5.

6) Вивести отриманий символ на дисплей.

6

1) Ввести символ з клавіатури.

2) Якщо біт 7 коду символу дорівнює 0, інвертувати код символу.

3) Якщо код нульовий, встановити в "1" біти 0 і 1.

4) Якщо код від’ємний, встановити в "0" біти 2 і 5.

5) Якщо код парний, інвертувати біти 3 і 4.

6) Вивести отриманий символ на дисплей.

7

1) Ввести символ з клавіатури.

2) Якщо біт 0 коду символу дорівнює 1, інвертувати код символу.

3) Якщо код нульовий, встановити в "1" біти 2 і 6.

4) Якщо код від’ємний, встановити в "0" біти 3 і 4.

5) Якщо код парний, інвертувати біти 1 і 7.

6) Вивести отриманий символ на дисплей.

8

1) Ввести символ з клавіатури.

2) Якщо біт 1 коду символу дорівнює 0, інвертувати код символу.

3) Якщо код нульовий, встановити в "1" біти 1 і 7.

4) Якщо код від’ємний, встановити в "0" біти 4 і 6.

5) Якщо код парний, інвертувати біти 3 і 5.

6) Вивести отриманий символ на дисплей.

9

1) Ввести символ з клавіатури.

2) Якщо біт 2 коду символу дорівнює 1, інвертувати код символу.

3) Якщо код нульовий, встановити в "0" біти 3 і 6.

4) Якщо код від’ємний, встановити в "1" біти 2 і 5.

5) Якщо код парний, інвертувати біти 0 і 4.

6) Вивести отриманий символ на дисплей.

10

1) Ввести символ з клавіатури.

2) Якщо біт 3 коду символу дорівнює 0, інвертувати код символу.

3) Якщо код нульовий, встановити в "1" біти 2 і 3.

4) Якщо код від’ємний, встановити в "0" біти 3 і 6.

5) Якщо код парний, інвертувати біти 0 і 1.

6) Вивести отриманий символ на дисплей.

11

1) Ввести символ з клавіатури.

2) Якщо біт 4 коду символу дорівнює 1, інвертувати код символу.

3) Якщо код нульовий, встановити в "0" біти 2 і 5.

4) Якщо код від’ємний, встановити в "1" біти 3 і 7.

5) Якщо код парний, інвертувати біти 1 і 4.

6) Вивести отриманий символ на дисплей.

12

1) Ввести символ з клавіатури.

2) Якщо біт 5 коду символу дорівнює 0, інвертувати код символу.

3) Якщо код нульовий, встановити в "1" біти 0 і 7.

4) Якщо код від’ємний, встановити в "0" біти 1 і 5.

5) Якщо код парний, інвертувати біти 3 і 4.

6) Вивести отриманий символ на дисплей.

13

1) Ввести символ з клавіатури.

2) Якщо біт 6 коду символу дорівнює 1, інвертувати код символу.

3) Якщо код нульовий, встановити в "0" біти 5 і 7.

4) Якщо код від’ємний, встановити в "1" біти 3 і 4.

5) Якщо код парний, інвертувати біти 0 і 6.

6) Вивести отриманий символ на дисплей.

14

1) Ввести символ з клавіатури.

2) Якщо біт 4 коду символу дорівнює 0, інвертувати код символу.

3) Якщо код нульовий, встановити в "1" біти 0 і 2.

4) Якщо код від’ємний, встановити в "0" біти 1 і 3.

5) Якщо код парний, інвертувати біти 5 і 7.

6) Вивести отриманий символ на дисплей.

15

1) Ввести символ з клавіатури.

2) Якщо біт 4 коду символу дорівнює 1, інвертувати код символу.

3) Якщо код нульовий, встановити в "0" біти 2 і 7.

4) Якщо код від’ємний, встановити в "1" біти 4 і 6.

5) Якщо код парний, інвертувати біти 1 і 5.

6) Вивести отриманий символ на дисплей.