- •Обработка прерываний
- •Обработка прерывания
- •Изменение вектора прерывания
- •Функция 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.
- •Генерация звука.
- •Частоты нот для второй октавы
- •Варианты заданий.
- •Вопросы по теме работы.
Порядок выполнения работы
Написать программу на языке ассемблера согласно варианту задания. Максимально использовать дружественный интерфейс с пользователем, обеспечить выдачу сообщений о всех возможных ошибках (см. процедуру er_disk в примере).
Варианты заданий.
1. Вывести атрибуты файла. В диалоговой форме произвести переустановку атрибутов.
2. Составить программу для удаления заданного каталога, содержащего файлы.
3. Создать 2 подкаталога, в каждый записать по 3 файла с сообщениями о дате их создания.
4. Вывести на экран информацию о всех дисках системы (по функции 36h).
5. Создать файл в текущем каталоге и записать в него имена всех файлов в этом каталоге.
6. Получить данные о свободном и занятом пространстве диска.
7. Организовать копирование диска1 в дисководе А: на диск2 в том же дисководе.
8. Составить программу для удаления из текущего каталога всех файлов, созданных за последний час.
9. Создать файл, содержащий имена всех файлов текущей директории с их атрибутами.
10. Организовать просмотр содержимого файла на экране порциями 10 строк по 16 символов, хранящихся в буфере такого же размера. Управлять просмотром с помощью клавиш PgUp и PgDn.
11. Создать новый подкаталог и переписать в него все файлы из текущего, созданные за последний час.
12. Задать некоторый набор символов. Сдвигом указателя в файле определить наличие и смещение заданной комбинации от начала файла.
13. Найти среди всех файлов корневого каталога наиболее старый по времени создания файл.
14. Создать временный файл. Переписать в него содержимое другого файла. Подсчитать длину записи, вывести на экран и уничтожить временный файл.
15. Создать несколько текстовых файлов с расширением .txt и один с расширением .doc. Дописать во все файлы *.txt содержимое файла .doc.
Вопросы по теме работы
1. Что такое хендл ?
2. Какие возможности работы с дисками и файлами имеются у программиста?
3. Чем отличаются друг от друга функции DOS «изменить диск» и «сменить текущий каталог» ?
4. Что такое указатель файла ?
5. Как обнулить содержимое файла ?
6. Какие атрибуты файла Вы знаете ?
7. Что такое буфер диска и как получить адрес текущего буфера ?
8. Как записать информацию в конец файла ?
9. Как найти информацию в файле ?
Лабораторная работа № 3
Работа последовательного интерфейса RS-232.
Основные сведения
Порт последовательной передачи данных RS-232C ( его называют еще стык ) используется в персональных компьютерах очень широко: подключение мыши, графопостроителей, сканеров; связь двух или более компьютеров; подключение модемов для передачи данных по телефонным линиям и т.д. Компьютер может быть оснащен одним или более портов последовательной передачи, отличительной чертой которых является передача данных побитно по одной шине связи. Для синхронизации передачи по линии передаются дополнительные управляющие и контрольные биты.
Скорость передачи данных по линии измеряется в бодах. Боды - это количество битов, передаваемых по линии в секунду, включая управляющие и контрольные биты. Аппаратно интерфейс последовательной передачи данных выполнен на микросхеме Intel 8250. Микросхема содержит сдвигающие регистры передатчика и приемника, позволяющие передавать и принимать байты информации последовательно.
Базовые адреса последовательных портов располагаются в области данных BIOS начиная с адреса 0000:0400h. Первый последовательный порт (СОМ1) имеет, обычно, базовый адрес 3F8h и занимает адреса до 3FFh. Второй последовательный порт (COM2) имеет, обычно, базовый адрес 2F8h и занимает адреса до 2FFh.
DOS содержит две функции прерывания Int 21h с номерами 3 и 4, предназначенные для посылки и принятия символа из последовательного порта СОМ1. Эти функции применяются крайне редко так как не содержат данных о состоянии порта, что не позволяет определять ошибочные ситуации при пересылке символов. Поддержка последовательного порта может осуществляться с помощью прерывания Int 14h BIOS. Это прерывание содержит следующие функции: