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

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

Тема: Обмін даними через пам'ять.

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

Обмін інформацією між мікропроцесорною системою та зовнішнім середовищем може здійснюватись не лише через інтерфейс вводу-виводу, а й через оперативну пам’ять. Таким чином, під час запису даних у деякі комірки пам’яті інформація одночасно може потрапляти і на пристрій вводу-виводу. У складних мікропроцесорних системах функцію передачі даних між системою і зовнішнім пристроєм, локальною мережею або іншою мікропроцесорною системою здійснює контролер прямого доступу до пам’яті, який працює паралельно з процесором.

У лабораторній роботі також є можливість здійснювати вивід через пам’ять, але без допомоги контролера ПДП. Пристроєм виводу є цифрові індикатори, звернутися до будь-якого з індикаторів можна через комірки за адресою #83F8-#83FF. Кожен індикатор має вісім окремих сегментів, які світяться залежно від даних, які записані у вказані комірки. Стан сегменту залежного від стану відповідного біта даних. У процесі роботи потрібно запустити програму, та визначити, за який сегмент відповідає кожен біт. Після цього потрібно вивести дві букви на два довільних індикатори, використовуючи команди "MV1 М "безпосереднє завантаження комірки пам’яті, адреса якої знаходиться у регістровій парі "НL.". Можливо також використати команду "STA'' прямий запис акумулятора у пам’ять за адресою яка вказана після команди.

У кожного студента повинен бути свій варіант букв. Можливі букви: G,H,J,L,P,Q,U,B,r,n,y,b.

ДЕМОНСТРАЦІЙНА ПРОГРАМА ПЕРЕБИРАННЯ СЕГМЕНТІВ:

Адреса

Програма

Коментар

8000

MVI С,#00

Завантажити в регістр С

8002

M3: MVI В,#07

Завантажити в В константу, що засвічує сегменти

8004

LXI H,#83F8

Завантажити в регістрову пару HL адресу комірки

8007

МІ: МОV А, С

Переслати в акумулятор вміст регістра C

8008

RLC

Зсув акумулятора вліво

8009

MOV С, А

Переслати в регістр C вміст акумулятора

800А

MOV М, А

Переслати байт з акумулятора в комірку пам’яті

800В

ІNX H

Збільшити на одиницю вміст регістрової пари HL

800С

LXI D,#OFFF

Завантажити в регістрову пару DE адресу комірки

800F

M2: DCX D

Зменшити на одиницю вміст регістрової пари DE

8010

MOV A, D

Переслати в акумулятор вміст регістрової пари DE

8011

ORA E

Диз'юнкція з регістром "E"

8012

JNZ M2

Якщо не нуль, то перейти на мітку M2

8015

DCR В

Вміст регістрової пари BC зменшити на одиницю

8016

JNZ M1

Якщо не нуль, то перейти на мітку M1

8019

JMP M3

Безумовний перехід

Програма, що виводить букву на індикатор

Адреса

Програма

Коментар

8100

M2: MVI A,#7D

Завантажити в акумулятор константу, що засвічує сегменти

8102

STA #83FA

Прямий запис акумулятора у пам’ять за адресою

8105

LXI D,#0FFF

Завантажити в регістрову пару DE адресу комірки

8108

МІ: DCX D

Зменшити на одиницю вміст регістрової пари DE

8109

MOV А,D

Переслати в акумулятор вміст регістрової пари DE

810A

ORA E

Диз'юнкція з регістром "E"

810B

JNZ M1

Якщо не нуль, то перейти на мітку M1

810E

JMP M2

Безумовний перехід


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