2.Практична частина
2.1. Вивчення команд порівняння.
Для цього прослідкуємо за виконанням програми перебору чисел від 0 до 5(6,7,8,9,10) залежно від номеру варіанту із сигналізацією про виконання програми. Варіант вказується викладачем.
Введемо програму, подану в таблиці № 1. Для цього введемо команду вводу програми монітор із вказанням початкової адреси пам’яті (SA000 пробіл). Запуск на виконання здійснюється за допомогою команди монітора GA000 ВК.
Таблиця 1.
Адреси |
Коди |
Асемблер |
Пояснення |
А000 |
3E |
MVI A,0 |
Команда безпосереднього завантаження вмісту акумулятора |
А001 |
00 |
|
Дані |
А002 |
3C |
INR A |
Команда додатного приросту |
А003 |
FE |
CPI 10 |
Порівнює вміст акумулятора із числом 10 |
А004 |
0A |
|
Дані |
А005 |
CA |
JZ |
Команда умовного переходу (результат дорівнює нулю) |
А006 |
0B |
|
Якщо виконується умова, то виконується команда у вказаному рядку- адрес |
А007 |
A0 |
|
|
А008 |
C3 |
JMP |
Команда безумовного переходу |
А009 |
02 |
|
Адрес |
А00А |
A0 |
|
|
А00В |
3E |
MVI А, 01 |
Команда безпосереднього завантаження вмісту регістру А |
А00С |
01 |
|
Дані |
А00D |
D3 |
OUT |
Команда виводу у вказаний порт |
А00E |
44 (45, 46) |
|
Номер порту |
А00F |
1E |
MVI Е, 1F |
Команда безпосереднього завантаження вмісту регістру E |
А011 |
1F |
|
Дані |
А012 |
CD |
CALL |
Команда виклику підпрограми |
А013 |
0A |
|
Адрес |
А014 |
03 |
|
2.2. Вивчення команд вводу-виводу.
Для цього прослідкуємо за виконанням програми перезапису даних із порту вводу в порт виводу.
Введемо програму, подану в таблиці № 2. Для цього введемо команду вводу програми монітор із вказанням початкової адреси пам’яті (SA000 пробіл)
Таблиця 2.
Адреси |
Коди |
Асемблер |
Пояснення |
А000 |
3E |
MVI A, 01 |
Команда безпосереднього завантаження вмісту акумулятора |
А001 |
01 (02, 03) |
|
Дані |
А002 |
D3 |
OUT 44 |
Програмування інтерфейсу |
А003 |
44 |
|
Номер порту |
А004 |
DB |
IN 45 |
Читання даних із порту вводу. |
А005 |
45 |
|
Номер порту |
А006 |
D3 |
OUT 45 |
|
А007 |
46 |
|
Запис даних в порт виводу |
А008 |
1E |
MVI Е, 1F |
Команда безпосереднього завантаження вмісту регістру E |
А009 |
1F |
|
Дані |
А00А |
CD |
CALL |
Команда виклику підпрограми часової затримки |
А00B |
0A |
|
|
А00C |
03 |
|
|
2.3. Вивчення дії команди додавання.
Для цього прослідкуємо за виконанням програми, що демонструє дію команди сумування.
Введемо програму, подану в таблиці № 4. Для цього введемо команду вводу програми монітор із вказанням початкової адреси пам’яті (SA000 пробіл)
Таблиця 4.
Адреси |
Коди |
Асемблер |
Пояснення |
А000 |
3E |
MVI A, 01 |
Команда безпосереднього завантаження вмісту акумулятора |
А001 |
01 |
|
Дані |
А002 |
87 |
ADD A |
Команда сумування |
А003 |
D3 |
OUT |
Команда виводу у вказаний порт |
А004 |
44 |
|
Номер порту |
А005 |
3E |
MVI А, 01 |
Команда безпосереднього завантаження вмісту регістру А |
А006 |
01 |
|
Дані |
А007 |
D3 |
OUT |
Команда виводу у вказаний порт |
А008 |
45 |
|
Номер порту |
А009 |
1E |
MVI Е, 1F |
Команда безпосереднього завантаження вмісту регістру E |
А00A |
1F |
|
Дані |
А00B |
CD |
CALL |
Команда виклику підпрограми |
А00C |
0A |
|
Адрес |
А00D |
03 |
|
|
2.4. Вивчення арифметичних команд.
120(10) 10110000(2) В0(16)
+ + +
460(10) 10101100(2) АС(16)
580(10) 01011100(2) 5С(16)
LDDA – Завантаження акумулятора пряме
ХХ А0 Адреса 1 – го доданку
ХХ 13 байта
ADD A Додавання з акумулятором пряме
ХХ Адреса 2 –го доданку
ХХ
STA A Запис акумулятора в пам’ять пряма
Адреси ВО - перший доданок
зберігання АС - другий доданок
доданків 5С - сума
Вміст областей пам’яті
Для переносу треба використати команду ACDA – додавання з переносом пряме.
ЛІТЕРАТУРА.
-
Горбунов И.Л., Панфилов Д.И., Преснухин А.Л. Микропроцессоры.Основы построения микро ЭВМ.,М.-Высшая школа 1984.
-
Учебно – лабораторный комплекс (на базе КРВМ – 2). Рекомендации по применению.,1990.