4257
Краткие сведения о программировании процедур работы с устройствами ввода-вывода
Реферат
Информатика, кибернетика и программирование
Краткие сведения о программировании процедур работы с устройствами ввода-вывода Процедуры ввода-вывода в ПК выполняются, как правило, по прерываниям. Состав и использование основных видов прерываний и служебных функций DOS прерывания 21Н Программиро...
Русский
2012-11-15
37.5 KB
4 чел.
Краткие сведения о программировании процедур работы с устройствами ввода-вывода
Процедуры ввода-вывода в ПК выполняются, как правило, по прерываниям. Состав и использование основных видов прерываний и служебных функций DOS прерывания 21Н
Программирование работы с дисплеем
Задание режимов работы и обмен данными с дисплеем можно выполнять при прерываниях BIOS типа 10Н, а вывод данных на дисплей и при прерываниях DOS типа 21Н. Для уяснения отличий прерываний BIOS от прерываний DOS рассмотрим в качестве примера несколько функций видеопрерываний BIOS.
Видеооперации с прерыванием 10Н BIOS
Это прерывание обеспечивает выполнение 16 различных процедур работы с дисплеем (идентифицируются содержимым регистра АН). Приведем самые важные из них:
О AL записываемый символ;
О BL его атрибуты или цвет (в графическом режиме);
О ВН номер видеостраницы;
О СХ счетчик записываемых символов (число повторений символа).
О СХ длину строки;
О DX строку дисплея;
О ВН номер страницы буфера.
Программирование работы с файлами
Файл выделенная по какому-либо признаку поименованная совокупность информационных записей, хранящихся на диске. Каждой записи в пределах файла присваивается порядковый (тем самым уникальный) номер.
Запись идентифицируется своим адресом:
адрес_записи = имя_файла:номер_записи.
Файловая система поддерживает два типа доступа к записям файла:
последовательный метод доступа;
прямой метод доступа.
Механизм доступа к файлу и его записям при программировании также имеет два варианта:
доступ к файлу с использованием специальной таблицы управляющего блока файла (FCB);
доступ к файлу по идентификатору (ASCIIZ) и логическому номеру.
Использование FCB для обращения к файлу позволяет реализовать и произвольный, и последовательный методы организации доступа, но часто оказывается довольно сложным, поэтому на практике, если не требуется выполнять детализированные процедуры с отдельными дорожками и секторами диска, чаще применяется обращение к файлу по идентификатору.
Прерывания, используемые при работе с файлами на дисках
- Прерывания BIOS:
О 13Н обмен данными с жестким диском (при его отсутствии с гибким диском);
О 40Н обмен данными с гибким диском (если есть жесткий диск).
Эти прерывания обеспечивают выполнение многих функций, определяемых содержимым регистра АН и полезных при разработке вспомогательных программ и средств защиты от копирования, поскольку они позволяют выполнять операции с отдельными дорожками и секторами диска.
- Прерывание DOS 21H.
Имеется несколько десятков различных вариантов прерывания 21Н (определяемых содержимым регистра АН), реализующих так называемые универсальные функции управления файлами при наличии любых версий MS DOS (использующих при обращении к файлам FCB) и несколько десятков вариантов прерывания, предоставляющих так называемые расширенные функции управления файлами при наличии версии MS DOS 2.0 и выше (через строку ASCIIZ).
Далее обсуждаются лишь наиболее популярные варианты прерывания 21Н DOS, реализующие расширенные функции управления файлами.
При прерываниях этого типа файл полностью идентифицируется ASCIIZ-строкой, а после открытия файла логическим номером, присваиваемым файлу при его создании и открытии (после закрытия файла его логический номер освобождается).
Вот сводка некоторых служебных функций DOS прерывания 21Н:
- АН = 3Ch создание файла: формируются ASCIIZ-строка, идентифицирующая файл, и атрибут файла; вектор-адрес ASCIIZ-строки файла помещают в регистры DS:DX, в регистр СХ помещают атрибут файла; в регистре АХ возвращается логический номер файла.
- АН = 3Dh открытие файла: вектор-адрес ASCIIZ-строки помещают в регистры DS:DX, в регистр AL записывается признак возможной работы с файлом (AL = 0 файл открывается только для чтения, AL = 1 только для записи, AL = 2 и для чтения, и для записи); в регистре АХ возвращается логический номер файла.
- АН = 3Eh закрытие файла (высвобождение его логического номера): логический номер помещают в регистр ВХ.
- АН = 3Fh чтение из файла: в регистр ВХ помещают логический номер, в СХ число считываемых байтов, в DS:DX вектор-адрес буфера (поля ОЗУ), отведенного для записи считываемой информации; число фактически считанных байтов возвращается в регистре АХ.
- АН = 40h запись в файл: в регистр ВХ помещают логический номер, в СХ число записываемых байтов, в DS:DX вектор-адрес буфера (поля ОЗУ), хранящего записываемую информацию; в АХ возвращается число фактически записанных байтов.
- АН = 41h удаление файла: в регистры DS:DX заносится вектор-адрес ASCIIZ-строки файла.
- АН = 42h установка указателя текущей записи в файле: в регистр ВХ заносится логический номер, в регистр AL указание на базовую установку указателя текущей записи (AL в 0 начало файла, AL - 1 прежнее значение текущей записи, AL = 2 конец файла), в регистры CX:DX смещение указателя относительно базовой позиции (чаще всего 0); в регистрах DX:AX возвращается смещение текущей записи файла относительно начала файла.
- АН = 43h установка новых атрибутов файла: в регистры DS:DX заносится адрес ASCIIZ-строки файла, в СХ значения атрибутов, в AL находится «1» (если в AL «0», то происходит чтение атрибутов, которые возвращаются в СХ).
- АН = 56h переименование файла: в регистровой паре DS:DX указывается адрес ASCIIZ-строки со старым именем файла, в регистры ES:DI заносится адрес ASCIIZ-строки с новым именем файла.
Во всех перечисленных случаях при появлении ошибки в выполнении процедуры в регистре FL флаг CF устанавливается в «1»; код ошибки возвращается в регистре АХ.
А также другие работы, которые могут Вас заинтересовать | |||
60789. | Дмитро Луценко – поет-лірик, поет-пісняр | 84.5 KB | |
Особливо мене схвилювали поезії про війну. Я так ніжно кохав свою дорогу матусю Щоразу коли згадую її гірку долю у мене в душі щось перевертається. Того ж вечора були написані слова: Грає море зелене Тихий день догора Дорогими... | |||
60791. | Массивы. Ввод и вывод массивов | 484.5 KB | |
Объявление массива Массив как и любая переменная программы перед использованием должен быть объявлен в разделе объявления переменных. В общем виде инструкция объявления массива выглядит следующим образом... | |||
60794. | There is/there are. Plurals. Prepositions. Present Simple | 2.64 MB | |
Оборот there is/there are используют, когда хотят сказать, что что-то или кто-то (лица, предметы) существуют или находятся где-то в определенном месте или отрезке времени. There is используется перед неисчисляемыми сущ., и сущ. в единственном числе. | |||
60795. | МИНУТА ГИМНАСТИКИ УМА КАК ОДИН ИЗ ПРИЁМОВ АКТИВИЗАЦИИ ВНИМАНИЯ | 183 KB | |
Примеры заданий Решить анаграммы и исключить лишнее слово. Слово анаграмма греческого происхождения означает перестановку букв в слове приводящую к другому слову например решить анаграмму... | |||
60797. | Mental Ray GI: освещение интерьера | 9.23 MB | |
Настройте источник света. При работе с фотонами огромное значение имеет параметр Hotspot в свитке Spotlights Parameters источника света. Эти параметры надо как можно более точно настраивать по размерам окна через которое в комнату поступает свет | |||