
- •Проектування мікропроцесорних та мікроконтролерних пристроїв
- •Лабораторна робота №1 вивчення структури, алгоритму роботи і програмування мікропроцесора intel
- •1. Опис навчального мікропроцесорного комплекту умпк-80
- •1.1. Склад комплексу
- •1.2. Режими роботи й алгоритм монітора мікроЕом
- •2. Теоретичні відомості
- •3. Приклади виконання лабораторної роботи
- •3.1. Запис і виконання простих програм
- •3.2. Виконання арифметичних операцій
- •3.3. Запис числа в програмно-доступні регістри мп біс.
- •4.Завдання до лабораторної роботи
- •5 . Порядок виконання лабораторної роботи
- •Лабораторна робота №3 ознайомлення з структурою та функціональними можливостями оеом кр1816ве31
- •Лабораторна робота №4 програмування паралельного інтерфейсу кр580вв55. Схеми відображення інформації.
- •Системи відображення інформації
- •Варіанти індивідуальних завдань
- •Лабораторна робота №5
- •Лабораторна робота №6
- •Контрольні запитання
3.2. Виконання арифметичних операцій
Провести арифметичні операції додавання однобайтних чисел з одержанням двохбайтного результату в програмі 3. Доданки повинні бути розташовані в послідовних адресах пам'яті. Вхідними параметрами підпрограми ADDB є адреса першого доданка, записана в регістрах Н, L і число доданків, записане в регістрі В. Вихідним параметром програми MAIN є сума, старший байт якої записаний у регістрі З, а молодший в акумуляторі А. Алгоритм програми додавання полягає в тому, що після додатка кожного елемента масиву визначається переповнення акумулятора (розряд СУ-1), і, якщо це має місце, то вміст регістра С збільшується на 1. Таким чином, за рахунок підсумовування одиниць переносу виходить старший байт суми.
Програма 4
Адреса |
Код |
Мітка |
Мнемокод |
Коментар |
0800 |
21 00 0С |
MAIN: |
LXI H, 0C00h |
;записати в H, L адреса |
|
|
|
|
;першого доданка |
0803 |
06 05 |
|
MVI В, 05 |
;записати в регістр В |
|
|
|
|
;кількість доданків |
0805 |
CD 09 08 |
|
CALL ADDB |
;викликати підпрограму додавання |
0808 |
CF |
|
RST1 |
;перервати програму |
0809 |
AF |
ADDB: |
XRA A |
;очистити акумулятор |
080А |
4F |
|
MOV C,A |
;очистити лічильник переносів |
080У |
86 |
CNT: |
ADD M |
;додати до А число з |
|
|
|
|
;масиву доданків |
080С |
D2 10 08 |
|
JNC TRM |
;якщо немає переносів, те |
|
|
|
|
;перейти на TRM |
080F |
0С |
|
INR C |
;збільшити C на 1 |
0810 |
23 |
TRM: |
INX H |
;указати на наступний |
|
|
|
|
;адресу доданка |
0811 |
05 |
|
DCR B |
;зменшити лічильник доданків |
0812 |
C2 0B 08 |
|
JNZ CNT |
;якщо не всі що складаються, |
|
|
|
|
;те перейти на CNT |
0815 |
B9 |
|
RET |
|
3.3. Запис числа в програмно-доступні регістри мп біс.
1. Нажати на клавішу "ОтРг". На дисплей буде виведений зміст акумулятора (А) МП БІС. Багаторазово натискаючи на клавішу "ЗпУв", перевірити послідовність виводу вмісту внутрішніх регістрів МП БІС на дисплей.
2. Змінити число, записане в регістрі (при наявності на дисплеї інформації про його стан), за допомогою цифрових клавіш клавіатури. Нажати на клавішу "ЗпУв".
3. Нажати на клавішу "Ум" і переконатися при цьому в правильності запису числа в регістр.
4. Натисканням на клавішу "ПрСч" вивести на дисплей адреса пам'яті, на якому було перерване виконання програми. Нажати на клавішу "П" (пуск) і продовжити виконання програми.