Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metoduchka_per.doc
Скачиваний:
4
Добавлен:
18.11.2018
Размер:
518.14 Кб
Скачать

Лабораторна робота №3

Тема: Робота з підпрограмами на прикладі програм знаходження добутку двох 8-бітних чисел

Мета: Використовуючи програму для знаходження добутку двох 8-бітних чисел виконати наступні два завдання.

У мікропроцесорі “КР580ИК80А” не існує операції множення чисел. Отже, коли треба знайти добуток двох чисел, треба використовувати підпрограми множення. Вам необхідно скласти таку підпрограму, встановлювати її, та виконати для двох прикладів, окремих для кожного студента. Вся необхідна інформація для складання програми знаходиться у роботах N1 та N2.

Завдання1

Для даного алгоритму множення представити його кожний пункт однією командою на Асемблері.

  1. Завантажити #9 у лічильнику тактів множення;

  2. Обнулити регістри результату;

  3. Зменшити лічильник тактів;

  4. Повернутися з підпрограми, якщо результат дорівнює нулю;

  5. Зсув регістрів результату HLвліво, використовуючи команду подвійного додавання (HL:=HL+HL);

  6. Зсув першого множника вліво через прапорець переносу;

  7. Перехід до пункту 3, якщо немає переносу;

  8. До результату додати другий множник, використовуючи команду подвійного додавання;

  9. Перейти до пункту 3.

Розподіл регістрів:

A- перший множник;

C- лічильник тактів;

D- нульове значення;

E- другий множник;

HL - результат множення.

Завдання 2

Скласти по пунктах основну програму, яка звертається до підпрограми множення і розмістити її за адресою #8100:

  1. Завантажитти пеший множник командою MVI;

  2. Завантажити другий множник та регістр D командою “LXI”;

  3. Викликати підпрограму множення;

  4. Результат, отриманий у регістрах H (старша частина) і L (молодша частина), записати за вільною адресою, використовуючи команду SHLD;

  5. Зупинити процесор.

  6. Результат перевести у десяткову форму та перевірити.

Лабораторна робота №4

Тема: Робота з прапорцями на прикладі програми ділення чисел.

Мета: Використовуючи за приклад програму для ділення чисел, та прапорці, виконати наступне завдання.

Завдання

1. В роботі необхідно скласти програму (алгоритм ділення приведено нижче), яка виконує ділення числа, завантаженого у регістр "L" на 8-бітне число, яке введене з клавіатури. Вся необхідна інформація для складання програми знаходиться в роботах №4,№5,№6. Кожний пункт представити командами Асемблера.

Алгоритм ділення:

  1. Прочитати з клавіатури дільник;

  2. Занести його в регістр "Е";

  3. Завантажити в регістр "L" ділене;

  4. Завантажити в акумулятор код програмування інтерфейса для виводу на світлодіоди;

  5. Вивести його на програмуючий порт;

  6. Онулити регістр "В";

  7. Онулити регістр "D";

  8. Онулити регістр "НГ;

  9. Завантажити у "С" кількість тактів ділення: #8;

  1. Зсунути "HL" вліво;

  2. Переслати "H" в акумулятор;

  3. Відняти від "А" дільник;

  4. Якщо результат від'ємний - встановиться прапорець переносу, перейти до пункту 15;

  1. Інакше переслати результат віднімання у "Н";

  2. Інвертувати біт переносу (CMC);

  3. Переслати в акумулятор вміст регістра "D";

  4. Зсунути акумулятор через перенос вліво;

  5. Скопіювати акумулятор в регістр "D";

  6. Зменшити лічильник тактів;

  7. Перехід, якщо не нуль, до пункту 10;

  8. Вивести результат ділення на порти світлодіодів;

  9. Організувати затримку результату на світлодіодах - зменшити 16-бітний регістр "ВС";

  10. Переслати вміст "В" в акумулятор;

  11. Диз'юнкція з регістром "С";

  12. Якщо не нуль, то перейти на цикл затримки - пункт 22;

  13. Перейти до прункту 1;

2.Після запуску програми отримати та перевірити результат, натискаючи на клавіші 1, 2Э З, 4, 5, 6, 7, 8, 9, А .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]