Смекни!
smekni.com

Асемблер Контрольна - варіант 1 (стр. 2 из 2)

; масиву

JNCMS5 ; Повернення на початок циклу, якщо Аi< Amax

MOVA, M ; Запис в акумулятор поточного максимального

; значення масиву

JCMS5 ; Повернення на початок циклу, якщо Аi>Amax

MS6: MVIB, 02 ;Ділення вмісту акумулятора на 4

ORAA ;

MS7: RAR ;

DCRB ;

JNZMS7 ;

MOVE, A ; Запис результату в Е Amax/4

LXIB, 0000 ; Очищення В і С

MVIL, 08 ; Завантаження лічильника біт (регістр L)

ORAA ;Логічне додавання вмісту акумулятора для

; обнулення TC

MS8: MOVA, E ; Завантаження множника в акумулятор з Е

RAR ; Зсув аналізуємого біта множника

MOVE, A ; Повернення зсунутого множника в Е

JNCMS9 ; Перехід на мітку MS9, якщо біт множника = 0

MOVA,B ; пересилання старшого байта суми часткових добутків

; в акумулятор

ADDD ; Додавання множеного до суми часткових добутків

JMPMS10 ; Перехід до зсуву суми часткових добутків

MS9: MOVA, B ; Пересилання старшого байта суми часткових добутків

; в акумулятор

MS10:RAR ; Зсув суми часткових добутків

MOVB, A ; Пересилання старшого байта суми часткових добутків

; в регістр В

MOVA, C ;Пересилання молодшого байта суми часткових

; добутків в акумулятор

RAR ; Зсув суми часткових добутків

MOVC, A ; Пересилання молодшого байта суми часткових

; добутків в регістр С

DCRL ; Зменшення лічильника на 1

JNZMS8 ; Організація циклу

MOVA, С ; Пересилання молодшого байта результату в

;акумулятор

STAAddr(Rez1)16; Пересилання молодшого байта результату

; в комірку Addr(Rez1) 16

MOVA, В ; Пересилання старшого байта результату

; в акумулятор

STAAddr(Rez2) 16; Пересилання старшого байта результату

; в комірку Addr(Rez2) 16

RST 1 ; Припинити виконання програми

Блок-схема до даної програми зображена на рис.4 в додатку 2.

Задача № 5. Розробіть драйвер для виведення інформації на зовнішній пристрій у мікропроцесорній системі на базі мікропроцесорної серії К580.

Наведіть структурну схему організації виведення інформації, алгоритм виведення, програму драйвера на мові Асемблера.

Виконати завдання за допомогою паралельного інтерфейсу К580ВВ55, який програмується, з розрядністю даних рівній 11.

Алгоритм програми:

1. Видати сигнал пуску;

2. Чекання сигналу готовності;

3. Зчитування інформації з портів А та В.

8000Н-8024Н – машинні коди програми.

PUSHB ; Збереження стану пар регістрів

PUSH D ;

PUSH H ;

PUSH PSW ;

MVIA, 81H ; Настройка периферійного пристрою

OUT RU ;

LXIH, 8100H ; Запис в пару HL адреси регістра А

MOVA, M ; Пересилання даних в акумулятор

OUTPORTA ; Пересилання даних на регістр порта А

INXH ; Визначення адреси регістра В

MOVA,M ; Пересилання даних в акумулятор

OUTPORTB ; Пересилання даних на регістр порта В

MVI A, 00000001 ; Запуск стробуючого сигналу

OUT PORT C ;

MVI A, 00000000 ;

OUT PORT C ;

M1: INPORTC ; Перевірка готовності

RAL ;

JNC M1 ;

POPPSW ; Відновлення стану пар регістрів

POP H ;

POP D ;

POP B ;

RST 1 ; Припинення виконання програми

Блок-схема до даної програми зображена на рис.5 в додатку 3.

Структура програми зображена на рис.6 в додатку 3.