Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа Учебная ЭВМ6.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
26.12 Кб
Скачать
  1. Задание к работе

    1. Программа для обработки прерывания от клавиатуры.

      1. Подключите внешние устройства: клавиатуру и дисплей.

      2. Адрес обработчика прерывания от клавиатуры (значение метки ОбрПр) необходимо записать в ячейку 100, так как вектор клавиатуры по умолчанию равен 0. Если компилировать приведённую программу с нулевого адреса подряд, то адрес команды IN 0 (начало обработчика) равен 8. Поэтому число 8 следует перед запуском программы записать в ячейку 100.

      3. Напишите программу для обработки прерывания пустого цикла при вводе символа с клавиатуры и передаче этого символа на дисплей.

Таблица 1. Программа прерывания пустого цикла при вводе символа с клавиатуры и передаче этого символа на дисплей.

Метка

Команда

Описание

 

RD #11

; число 11 – в аккумулятор;

 

OUT 1

; включить клавиатуру и разрешить прерывание от неё;

 

OUT 11

; включить дисплей в режиме автоинкремента адреса;

 

RD #103

; передаём в контроллер код команды

 

OUT 1

; Установить S в «1» (режим посимвольного ввода);

 

EI

; установить FI в «1» (разрешить прерывания);

M1:  

NOP

; пустой

 

JMP M1

; цикл;

 

IN 0

; считывание введённого символа из буфера в аккумулятор;

 

OUT 10

; передача ASCII-кода на символьный дисплей

 

IRET

; возврат из прерывания.

    1. Вывод введённых символов с клавиатуры на дисплей по опросу устройства:

      1. Заполните таблицу:

Метка

Команда

Описание

RD #10

OUT 1

OUT 11

RD #103

OUT 1

M1:

IN 2

JZ M1

IN 0

OUT 10

JMP M1

      1. Выполните программу, что выполняет данная программа?

    1. Самостоятельно, напишите программу для реализации алгоритма, с применением прерывания и без применения прерывания:

Таблица 2. Задание на тему Подсистема прерываний

Вариант №

0

Напишите программу для ввода только вводимых цифр, вводимых с клавиатуры в память, начиная с ячейки памяти с номером 50

1

Напишите программу для ввода слов, вводимых с клавиатуры в память, начиная с ячейки памяти с номером 30

2

Выбирать из потока АSСII-кодов только цифры и выводить их на дисплей

3

Выбирать из потока АSСII-кодов только символов латинского алфавита и выводить их на дисплей

4

Напишите программу для вывода на экран вводимых символов >, <, =

5

Выбирать из потока АSСII-кодов только знаки +, -, *, / и выводить их на дисплей

6

Выбирать из потока АSСII-кодов только и выводить их на дисплей

7

Напишите программу для ввода только символов русского алфавита, вводимых с клавиатуры в память, начиная с ячейки памяти с номером 30

8

Выбирать из потока АSСII-кодов только символов русского алфавита и выводить их на дисплей

9

Напишите программу для ввода только символов латинского алфавита, вводимых с клавиатуры в память, начиная с ячейки памяти с номером 30