Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Турчин Д.Е. АЭВМиС. Практикум 2012 (ИТ).doc
Скачиваний:
92
Добавлен:
10.05.2015
Размер:
1.31 Mб
Скачать

3.6.6. Пример выполнения работы

Пусть требуется составить программу, которая позволяет отображать на дисплее символы, набранные на клавиатуре, и производить очистку буфера клавиатуры и экрана дисплея при их заполнении. Кроме того, пусть при переполнении буфера клавиатуры или экрана дисплея тоногенератор издает разные звуковые сигналы.

Текст программы для анализа состояния ВУ в режиме программного контроля представлен в табл. 3.14.

Таблица 3.14

Текст программы с анализом флагов готовности ВУ

Адрес

Команда

Примечание

000

RD #10

Разрешение приема кодов в буфер символов клавиатуры

001

OUT 1

002

RD #11

Разрешение работы дисплея и автоматического увеличения адреса

003

OUT 11

004

M1: IN 0

Проверка регистра выходных данных клавиатуры (присутствуют ли в буфере символы?)

005

JNZ M2

006

IN 2

Проверка содержимого регистра состояния клавиатуры (полностью ли заполнен символами буфер клавиатуры?)

007

JNZ M3

008

JMP M1

009

M3: RD #250

Подача звукового сигнала с частотой 250 Гц и длительностью 0,5 сек

010

OUT 30

011

RD #500

012

OUT 31

013

RD #101

Очистка буфера клавиатуры

014

OUT 1

015

JMP M1

016

M2: OUT 10

Запись символа в регистр данных дисплея

017

IN 12

Проверка содержимого регистра состояния дисплея (полностью ли заполнен символами дисплей?)

018

JNZ M4

019

JMP M1

020

M4: RD #500

Подача звукового сигнала с частотой 500 Гц и длительностью 0,5 сек

021

OUT 30

022

RD #500

023

OUT 31

024

RD #101

Очистка экрана дисплея

025

OUT 11

026

RD #11

Разрешение работы дисплея и автоматического увеличения адреса

027

OUT 11

028

JMP M1

029

HLT

Стоп

Таблица 3.14

Текст программы …

Пусть требуется получить программу, которая последовательно выводит на дисплей заглавные английские буквы в алфавитном порядке от A до Z. При этом каждая новая буква выводится с интервалом 3 сек. Таким образом, для выполнения программы потребуется использовать дисплей и таймер.

Текст программы представлен в табл. 3.15.

Таблица 3.15

Текст программы с анализом флагов готовности ВУ

Адрес

Команда

Примечание

000

RD #11

Разрешение работы дисплея и автоматического увеличения адреса

001

OUT 11

002

RD #65

Задание начального ASCII-кода и его запись в регистр R0

003

WR R0

004

L2: RD R0

Запись символа в регистр данных дисплея

005

OUT 10

006

RDI 1001

Запуск таймера

007

OUT 22

008

L1: IN 21

Отсчет таймером трех секунд

009

SUB #300

010

JS L1

011

RDI 1000

Остановка таймера и его сброс

012

OUT 22

013

RD #0

014

OUT 21

015

RD R0

Задание ASCII-кода следующего символа

016

ADD #1

017

WR R0

018

SUB #91

Проверка верхней границы диапазона ASCII-кодов

019

JNZ L2

020

HLT

Стоп