- •Обработка прерываний
- •Обработка прерывания
- •Изменение вектора прерывания
- •Функция 35h
- •Дополнительные сведения о структуре doSиBios Прямое обращение к видеопамяти
- •Буфер клавиатуры
- •Пример выполнения работы
- •Варианты заданий
- •Вопросы по теме
- •Лабораторная работа № 2.
- •Функция 0ен
- •Функция 3dн Открывает хендл (открывает файл) на диске
- •Функция 3ен
- •Функция 3fh
- •Функция 40н
- •Функция 41н
- •Функция 42н
- •Функция 43h
- •Функция 47н
- •Функция 4ен
- •Функция 4fh
- •Функция 56н
- •Функция 57н
- •Функция 5ан
- •Прерывание 25н
- •Прерывание 26н
- •Пример выполнения работы Создать новую директорию new_dir на диске а:, сделать ее текущей, записать туда файл newfile.Txt и в него записать сообщение - "Это вновь созданный файл".
- •Порядок выполнения работы
- •Вопросы по теме работы
- •Лабораторная работа № 3
- •Основные сведения
- •Функция Назначение
- •Функция 00н
- •Функция 01h
- •Функция 02h
- •Функция 03h
- •Пример выполнение работы
- •Контрольные вопросы
- •Лабораторная работа № 4 Таймер и генерация звука.
- •Форматы управляющих команд таймера.
- •Использование каналов в ibm pc.
- •Генерация звука.
- •Частоты нот для второй октавы
- •Варианты заданий.
- •Вопросы по теме работы.
Частоты нот для второй октавы
До - 262 Гц Фа-диез - 370 Гц
До-диез - 277 Гц Соль - 392 Гц
Ре - 294 Гц Соль-диез - 415 Гц
Ре-диез - 311 Гц Ля - 440 Гц
Ми - 330 Гц Ля-диез - 466 Гц
Фа - 349 Гц Си - 494 Гц
Повышение или понижение частоты на октаву происходит, соответственно, умножением или делением частот второй октавы на 2.
Варианты заданий.
1. В произвольной позиции экрана, выводятся цифры 0,1,...,F с интервалом 4 секунды между выводом очередной цифры. При нажатии клавиши происходит ускорение этого процесса в 2 раз путем перепрограммирования канала 0 таймера. При следующем нажатии происходит еще одно ускорение в 2 раза и т.д. После завершения работы программа должна восстанавливать значение счетчика канала 0.
2. Написать программу, которая читает символьную строку специального вида и проигрывает ее как мелодию. Строка состоит из следующих элементов:
буквы, обозначающие ноты, ">" (повышение) или "<" (понижение) октавы, "1" и следующей за ним цифрой (от 0 до 9)-задает длительность ноты, "p"-пауза, аналогично длительности.
3. Написать программу, генерирующую определенную частоту звучания, зависящую от нажатия клавиш на клавиатуре. Клавиатура должна содержать не менее двух октав звуков.
4. Написать программу, перепрограммирующую частоту регенерации памяти на 2-3 единицы в сторону увеличения и уменьшения, и вычислить скорость работы процессора при каждом изменении.
5. Написать программу, генерирующую звук путем программирования канала 2 таймера. Этот звук модулируется (смешивается с) сигналом, генерируемым переключением бита 1 порта 61h (обычно имеющим более низкую частоту). Уменьшение или увеличение частоты генераторов в 2 раза производится нажатием соответствующих клавиш.
6. Написать программу, генерирующую звук переключением бита 1 порта 61h так, чтобы звучало трезвучие до-ми-соль.
7. Написать программу, определяющую скорость выполнения трех операций: сложение и вычитание двух слов, находящихся в регистрах, и умножения двух слов. Скорость определить путем фиксации и чтения счетчика канала 0. Результаты вывести на экран.
8. Написать игровую программу, которая перед началом игры произвольно устанавливает невидимую на экране метку и видимый символ "*", который перемещается по экрану с помощью стрелок. При движении символа генерируются звуковые колебания, частота которых зависит от расстояния до невидимой метки. Если метка не найдена за 4 секунды, метка перемещается в другую точку.
Вопросы по теме работы.
1. Нарисуйте схему взаимодействия регистров канала 1 таймера.
2. Как работает режим 2 таймера.
3. Как работает режим 3 таймера.
4. Какую информацию можно получить из слова состояния канала.
5. Какую величину необходимо записать в счетчик канала 2, чтобы получить частоту звука равную 1000 герц.
6. Как записать значение в счетчик канала 2 таймера.
7. Как запретить работу динамика.