Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+ЛР_Операционные системы.doc
Скачиваний:
8
Добавлен:
09.11.2019
Размер:
585.73 Кб
Скачать

Лабораторная работа № 6 Обработка прерываний

Цель и задачи исследования

Целью работы является изучение структуры контекста процесса. Задачами работы является приобретение навыков трансляции и отладки программ под управлением отладчика DEBUG.

Теоретические сведения

Изучить функции прерываний 21h DOS и 10h BIOS [6, 7].

Оборудование

IBM совместимые ЭВМ, операционная система Linux, программа DOSBox, оболочка Volcov Commander, программы Masm, Link, Debug, программа на языке Ассемблера с использованием функций прерывания типа 21h и 10h операционной системы DOS.

Порядок выполнения работы

1. Повторить команды сравнения, перехода и прерывания.

2. Написать программу в соответствии с заданием 1:

Вариант

Задание 1

1

При вводе символа «1» на экран выводится символ «а»; при вводе «0» программа заканчивает свою работу; на остальные символы программа не реагирует

2

При вводе символа «2» на экран выводится символ «=»; при вводе символа «3» на экран выводится символ «?»; при вводе «0» программа заканчивает свою работу; на остальные символы программа не реагирует

3

Вывести на экран запрос и ввести строку – ответ на этот запрос

4

В зависимости от введенного символа («1» или «2») выдавать одно из двух сообщений

5

Нарисовать прямоугольник одинарной линией с сообщением внутри него

6

Нарисовать прямоугольник двойной линией с сообщением внутри него

7

Вывести сообщение в разные места экрана в зависимости от нажатой клавиши

3. Написать программу в соответствии с заданием 2:

Ввести строку, обозначающую арифметический пример (например, 2+2=), проанализировать ее, выполнить введенную операцию, результат вывести на экран. ВНИМАНИЕ! Должны действовать следующие ограничения:

- сумма должна быть меньше 10;

- в случае разности первое число должно быть больше второго.

4. Написать программу ввода информации с клавиатуры (кроме 1 варианта), используя функции 21h прерывания DOS, преобразования информации в соответствии с вариантом и выводом результата на экран.

вариант

функция

доп. задание

вид преобразования

1

3Fh

устройство ввода – файл

строчные латинские в прописные

2

3Fh

устройство ввода - клавиатура

строчные русские в прописные

3

01h

без реакции на CTRL/C

прописные латинские в строчные

4

01h

реакция на CTRL/C

русские в латинские по клавиатуре

5

06h

строчные латинские в прописные

6

06h

анализ Alt/X

прописные русские в строчные

7

06h

ввод Alt/цифра

без преобразования

8

07h

латинские в русские по клавиатуре

9

07h

анализ Alt/Z

строчные латинские в прописные

10

08h

без реакции на CTRL/C

строчные русские в прописные

11

08h

реакция на CTRL/C

русские в латинские по клавиатуре

12

0Ah

латинские в русские по клавиатуре

5. Составить программу, позволяющую вывести на экран в текстовом режиме средствами DOS (функции 10h прерывания) несколько строк текста с предварительной очисткой экрана.

функция

вывод изображения

вывод следующей строки

1

40h

выделение яркостью

с позиции курсора

2

09h

выделение мерцанием

с позиции курсора

3

02h

инверсное изображение

с позиции курсора

4

06h

инверсное изображение

с позиции курсора

5

09h

выделение яркостью

после перемещения курсора на n строк вверх

6

40h

выделение мерцанием

после перемещения курсора на n строк вверх

7

02h

выделение мерцанием

после перемещения курсора на n строк вверх

8

06h

выделение яркостью

после перемещения курсора на n строк вверх

9

02h

выделение яркостью

после перемещения курсора на n строк вниз

10

09h

инверсное изображение

после перемещения курсора. на n строк вниз

11

06h

выделение мерцанием

после перемещения курсора на n строк вниз

12

40h

инверсное изображение

после перемещения курсора на n строк вниз

6. Оформить отчет