- •Міністерство освіти і науки, Молоді та спорту україни Львівський коледж Державного університету інформаційно-комунікаційних технологій
- •Інструкція до лабораторної роботи №6
- •Лабораторна робота № 6
- •Короткі теоретичні відомості
- •Команди передачі управління
- •Постановка завдання
- •Варіанти індивідуальних завдань
- •Методичні вказівки
- •Контрольні запитання
- •Джерела інформації
Постановка завдання
Використовуючи середовище емулятора МП і8086, створити проект асемблерної програми відповідно до індивідуального завдання за нижченаведеним прикладом програми (для кожної заданої команди скористатися прикладом використання команди переходу з брошури «Система команд МП i8086»):
include 'emu8086.inc'
ORG 100h
MOV AL, 5
CMP AL, 5
JZ M1
PRINT 'AL<>5.'
JMP M2
M1:
PRINT 'AL=5.'
M2:
MOV AL, 10000000b ; AL = -128
OR AL, 0 ; встановлює прапорець SF=1
JS M3
PRINT не знак.'
JMP M4
M3:
PRINT 'знак.'
M4:
MOV AL, 2
ADD AL, 3
JNC M5
PRINT 'has carry.'
JMP M6
M5:
PRINT 'no carry.'
M6:
RET
END.
Використовуючи середовище емулятора дослідити алгоритм виконання команд переходів для різних значень операндів в командах, що передують командам переходів та впливають на стан відповідних прапорців.
Н
а
основі досліджень п.2.2 скласти алгоритм
виконання програми, в якому привести
значення прапорців, що аналізуються
відповідними командами переходів.
Приклад складання фрагменту алгоритму вищенаведеної програми:
Варіанти індивідуальних завдань
Варіанти індивідуальних завдань до даної лабораторної роботи наведені у табл.. 4.
Таблиця 4 – Варіанти індивідуальних завдань
№ варіанту |
Команди |
||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
1 |
JZ |
JS |
JNC |
JG |
JNL |
JA |
JNC |
2 |
JE |
JC |
JNS |
JL |
JNZ |
JBE |
JNAE |
3 |
JC |
JO |
JNE |
JGE |
JNLE |
JAE |
JNBE |
4 |
JB |
JP |
JNZ |
JE |
JNGE |
JA |
JNE |
5 |
JS |
JZ |
JNO |
JLE |
JNG |
JB |
JNA |
6 |
JO |
JB |
JNGE |
JG |
JNLE |
JA |
JNA |
7 |
JP |
JE |
JNS |
JL |
JNGE |
JBE |
JNC |
8 |
JS |
JB |
JAE |
JGE |
JNG |
JZ |
JNAE |
9 |
JC |
JS |
JNAE |
JE |
JNL |
JA |
JNBE |
10 |
JO |
JZ |
JNC |
JLE |
JNZ |
JB |
JNE |
11 |
JP |
JE |
JNZ |
JG |
JNL |
JAE |
JNA |
12 |
JZ |
JO |
JNE |
JL |
JNZ |
JBE |
JNC |
13 |
JB |
JP |
JNE |
JGE |
JNLE |
JZ |
JNAE |
14 |
JE |
JC |
JNO |
JL |
JNGE |
JA |
JNBE |
15 |
JC |
JB |
JNE |
JLE |
JNG |
JE |
JNC |
16 |
JO |
JE |
JNZ |
JG |
JNLE |
JAE |
JNA |
Примітка: для команд 4-ї та 5-ї колонок в командах, що передують їх застосуванню, треба використовувати знакові числа.
