void yar5(char *str, int row, int col, Int attr);
str - строка для вывода
row - номер ряда
col - номер колонки
attr - атрибуты для вывода
Вариант 6.
Написать функцию для считывания с экрана вертикального столбца, начиная с заданной точки. Прототип функции:
void var6(char *str, int row. int col, int len);
str - -строка, куда нужно поместить считанные данные
row - номер ряда
col - номер колонки
len - количество считываемых символов
5. Контрольные вопросы
1. Команды работы с прерываниями и их особенности
2. Классификация прерываний
3. Особенности обработки аппаратных прерываний
4. Использование прерываний для обращения к BIOS
Лабораторная работа N 4
ПРОГРАММНЫЕ ПРЕРЫВАНИЯ.
ИВТВРФЕЙС С ОПЕРАЦИОННОЙ СИСТЕМОЙ
1.Цель работы
Ознакомиться с основными функциями прерывания INT 21 - интерфейса с DOS.
2. Краткие теоретические сведения
Для обращения к операционной системе DOS используются ряд программных прерываний в диапазоне 20h-3Fh. Наиболее часто используются подфункции прерывания INТ 21Н. Они позволяют достаточно просто организовать работу с различными внешними устройствами - клавиатурой, видеомонитором, принтером, асинхронным последовательным портом ввода - вывода и др.
Вызов всех функций выполняется аналогично обращениям к BIOS: в регистр АН помещается номер функции, необходимые параметры - в другие регистры. После выполнения функции результат возвращается также в регистрах. Значения всех регистров, кроме используемых для передачи параметров, сохраняются.
Основные функции прерывания INT 21H, используемые в лабораторной работе:
1. Ввод символа с ожиданием и эхо-печатью
Вход: АН = 1Н
Выход: AL = код символа
2. Ввод символа с ожиданием без эхо-печати
Вход: АН = 7Н
Выход: AL = код символа
3. Чтение строки с клавиатуры в буфер до CR
Вход: АН = 0АН
DS:DX - адрес буфера. Первый байт буфера - его длина
Выход: DS:DX - адрес буфера. Действительная длина строки во втором байте буфера, строка начинается с третьего байта.
4. Вывод символа
Вход: АН = 2Н
DL - код символа
5. Вывод строки символов
Вход: АН = 9Н
DS:DX - адрес строки. Признак конца строки - символ "$"
6. Чтение системной даты
Вход: АН = 2АН
Выход: СХ - Год (1980 - 2099)
DH - месяц (1-12)
DL - число (1-31).
7. Установка системной даты
Вход: АН = 2ВH
СХ – год (1980 - 2099)
DH - месяц (1-12)
DL - число (1-31)
Выход: AL = 0 - все в порядке, FFH - ошибка в задании даты
8. Чтение системного времени
Вход: АН = 2СН
Выход: CH - часы (0-23)
CL - минуты (0-59)
DH - секунды (0-59) DL - сотые доли секунды (0-99)
9. Установка системного времени
Вход: АН = 2DH
СН - часы (0-23)
CL - минуты (0-59)
DH - секунды (0-59) DL - сотые доли секунды (0-99)
Выход: AL = 0 - все в порядке
AL = 0FFH - ошибка в задании времени
10. Чтение имени текущего каталога
Вход: АН = 47Н
DL = номер диска (1 -"А", 2 - "В" и т.д.)
DS:SI - адрес буфера (не менее 64 байт)
Выход: DS:SI - адресимени каталога (заканчивается 0)
11. Чтение имени текущего каталога
Вход: АН = 47Н
DL = номер диска (1 -"А", 2 - "В" и т.д.)
DS:SI - адрес буфера (не менее 64 байт)
Выход: DS:SI - адресимени каталога (заканчивается 0)
12. Информация о свободном пространстве на диске
Вход: АН = 36Н
DL = номер диска (1 -"А", 2 - "В" И Т.Д.)
Выход: AX - число секторов в кластере
ВХ - число свободных кластеров
СХ - число байтов в секторе
DX - общее число кластеров
3. Методические указания
В лабораторной работе требуется написать ассемблерную процедуру, вызываемую из СИ-программы и выполняющую действия, связанные с обращением к DOS.
Обратите внимание на необходимость сохранения - восстановления регистра DS, если он используется для передачи параметров.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.