Vhkl

  • 01 дек. 2011 г.
  • 319 Слова
Фондороко Марина ИС-31
Лабораторная работа № 4. Программирование внешних устройств
Вариант №10
Таблица 1. Формулировка задания.
10 | Выводить на дисплей каждый введенный склавиатуры символ, причем заглавную русскую букву выводить “в двух экземплярах” | Клавиатура,дисплей,таймер | Очистка буфера клавиатуры после ввода 48 символов, очистка экрана каждые 15 с |

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

rd #010;
out 01;
rd #011; подключение клавиатуры и дисплея
out 11;
rd #103
out 01
rd #111
mul #10
add #1
wr r2rd #500
out 21
rd r2
out 22

s:in 02
sub #10; ; запрос с клавиатуры
jnz s;

in 00;
wr r0
sub #192 проверка
js wr1
sub #32
js wr3

wr1:
rd r0 : возвращение
out 10

in13
sub #35
jz m
in 20
sub #001
jz m
jmp s

m:
rd #101
out 11
out 01
out 20

rd #500
out 21
rd r2
out 22
rd #103;
out 01;
rd #011;
out 11;
jmp s

wr3:
rd r0out 10 вывод на дисплей
out 10
jmp s

1. Текст программы с обработчиком прерывания.

rd #015 ;засылаем адрес ячейки обработчика прерывания
wr 100 ;в ячейку обработкипрерывания от клавиатуры
rd #010;
out 01;
rd #011; подключение клавиатуры и дисплея
out 11;
rd #011
out 1 ; включить клавиатуру и разрешить прерывание от неё;
out 11 ; включить дисплей в режимеавтоинкремента адреса;
rd #103 ; передаём в контроллер код команды
out 1 ; Установить S в «1» (режим посимвольного ввода);
ei ; установить FI в «1» (разрешить прерывания);

m1:nop
nop
jmp m1

s:in 02
sub #10; запрос с клавиатуры
jnz s;

in 00;
wr r0
sub #48 проверка: введено ли число
js wr1
sub #10
js wr3

wr1: возвращение
jmp s

m:
rd #101out 11
out 01

rd #103;
out 01;
rd #011;
out 11;
jmp s

wr3:
rd r0
out 10 ; вывод на дисплей
in 13
sub #20
jz m
jmp s
iret ; возврат из...
tracking img