- •Застосування регістру стану мікропроцесора для організації розгалуження процесів методичні вказівки та інструкція
- •Мета роботи
- •Регiстр прапорiв I команди переходу мп
- •1. Регiстр прапорiв
- •2. Команди переходу
- •3. Однобайтнi команди збiльшення або зменшення регiстру на 1.
- •4. Застосування команд переходу
- •Змiст роботи
- •Лiтература
- •Методичні вказівки та інструкція
3. Однобайтнi команди збiльшення або зменшення регiстру на 1.
INR R - вмiст регiстра R збiльшується на 1.
DCR R - вмiст регiстра R зменшиться на 1.
Завдання 1. Скласти програму додавання двох чисел. Ввести в МП, прогнати у кроковому режимi, змiнюючи вихiднi данi. Розрахувати вмiст регiстра прапорiв i порiвняти з даними регiстра прапорiв мiкро-ЕОМ .
Завдання 2. Скласти програму порiвняння двох чисел i порiвняти вмiст регiстра прапорiв з розрахованим.
Завдання 3. Скласти програму зменшення вмiсту регiстра А вiд довiльного числа до 0, використовуючи команди DCR i JZ [адр]. Прогнати у кроковому режимi .
4. Застосування команд переходу
Нижче наведена програма множення двох чисел з застосуванням простого додавання /без переносу/. Множники записуються у комiрки 8101 8102, а результат множення - у комiрку 8103. Додається число, записане у комiрку 8102, лiчильник кiлькостi додавань органiзований у регiстрi D. Прогнати програму в автоматичному режимi, перевiрити результат. Замiнити множники, прогнати програму у кроковому режимi, слiдкуючи за ходом додавання множникiв.
ПРОГРАМА МНОЖЕННЯ ДВОХ ЧИСЕЛ /БЕЗ ПЕРЕНОСУ/
Адреса |
Код |
Мітка |
Команда |
Коментар |
8000 |
3А |
|
LDA [8101] |
[8101] A |
8001 |
01 |
|
|
|
8002 |
81 |
|
|
|
8003 |
47 |
|
MOV B,A |
[8101] B |
8004 |
3А |
|
LDA 8102 |
[8102] A |
8005 |
02 |
|
|
|
8006 |
81 |
|
|
|
8007 |
4F |
|
MOV C,A |
[8102] C |
8008 |
16 |
|
MVI D,01 |
01 D |
8009 |
01 |
|
|
|
800А |
AF |
|
XRA A |
00 A |
800В |
81 |
A: |
АDD С |
[8102]x2 A |
800С |
5F |
|
MOV E,A |
A E |
800D |
78 |
|
MOV A,B |
[8102] A |
800Е |
92 |
|
SUB D |
A - D A |
800F |
CA |
|
JZ ,B |
якщо 0,то В |
8010 |
17 |
|
|
|
8011 |
80 |
|
|
|
8012 |
14 |
|
INR D |
D + 1 D |
8013 |
7В |
|
MOV A,Е |
E A |
8014 |
CЗ |
|
JMP A |
перехiд на А |
8015 |
0B |
|
|
|
8016 |
80 |
|
|
|
8017 |
7B |
В: |
MOV A,E |
E A |
8018 |
32 |
|
STA [8103] |
A [8103] |
8019 |
03 |
|
|
|
801A |
81 |
|
|
|
801B |
76 |
|
HLT |
стоп |
Завдання 4.
П 1. Увести програму у пам'ять машини, перевiрити правильнiсть уводу, ввести вихiднi данi таким чином, щоби їх добуток був менший за FF, прогнати її у кроковому режимi, у вiдповідних пунктах програми перевiрити вмiст регiстру стану, записати його в звiт, декодувати у двiйковий код, перевiрити вмiст прапорiв.
П 2. Змiнити вихiднi данi так, щоби їх добуток був бiльший за FF, повторити П1, результати записати у звiт.
