4257

Краткие сведения о программировании процедур работы с устройствами ввода-вывода

Реферат

Информатика, кибернетика и программирование

Краткие сведения о программировании процедур работы с устройствами ввода-вывода Процедуры ввода-вывода в ПК выполняются, как правило, по прерываниям. Состав и использование основных видов прерываний и служебных функций DOS прерывания 21Н Программиро...

Русский

2012-11-15

37.5 KB

4 чел.

Краткие сведения о программировании процедур работы с устройствами ввода-вывода

Процедуры ввода-вывода в ПК выполняются, как правило, по прерываниям. Состав и использование основных видов прерываний и служебных функций DOS прерывания 21Н

Программирование работы с дисплеем

Задание режимов работы и обмен данными с дисплеем можно выполнять при прерываниях BIOS типа 10Н, а вывод данных на дисплей — и при прерываниях DOS типа 21Н. Для уяснения отличий прерываний BIOS от прерываний DOS рассмотрим в качестве примера несколько функций видеопрерываний BIOS.

Видеооперации с прерыванием 10Н BIOS

Это прерывание обеспечивает выполнение 16 различных процедур работы с дисплеем (идентифицируются содержимым регистра АН). Приведем самые важные из них:

  1.  Перемещение курсора в заданную позицию: АН = 2. Координаты курсора (строка, столбец) предварительно засылаются, соответственно, в регистры DH, DL В регистре ВН указывается номер страницы буфера: по умолчанию и в графическом режиме ВН = 0.
  2.  Очистка экрана дисплея: АН = 6 и AL = 0 или АН = 7 и AL = 0.
  3.  Чтение символа, находящегося в текущей позиции курсора, и его атрибута (только для текстовых режимов): АН = 8. В регистре ВН указывается номер страницы буфера. Считанный символ возвращается в AL, а его атрибуты — в АН (атрибуты символа — это его характеристики: цвет, цвет фона, яркость, инвертирование, мигание и т. д.).
  4.  Установка видеорежима изображения (текстовый, графический, цветность, формат, разрешающая способность и т. п.): АН = 0. Видеорежим определяется содержимым регистра AL
  5.  Запись новых атрибутов символа и вывод символа в текущую позицию курсора: АН = 9. Прочие регистры должны содержать:

О AL — записываемый символ;

О BL — его атрибуты или цвет (в графическом режиме);

О ВН — номер видеостраницы;

О СХ — счетчик записываемых символов (число повторений символа).

  1.  Вывод символа в текущую позицию курсора: АН = 9 и BL = 0. Содержимое AL, ВН и СХ аналогично п. 5.
  2.  Чтение текущего видеостатуса: АН = OFh. Возвращает: в AL — текущий режим; в АН — число столбцов на экране; в ВН — активную страницу буфера.
  3.  Вывод строки символов: АН = 13h и AL = 0. Прочие регистры должны содержать: О ES:BP — указатель строки (ее начальный адрес в памяти);

О СХ — длину строки;

О 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»; код ошибки возвращается в регистре АХ.


 

А также другие работы, которые могут Вас заинтересовать

75373. ЭФФЕКТ САНЬЯКА 371 KB
  Эффект Саньяка является следствием релятивистского закона сложения скоростей: линейной скорости вращения интерферометра и фазовых скоростей встречных волн. В случае использования встречных электромагнитных волн с длиной волны  различие времен распространения Т приводит к появлению разности фаз : . 2 Если все элементы интерферометра расположены на вращающейся платформе разность фаз встречных волн не зависит от показателя преломления и дисперсии среды в которой они распространяются....
75374. .КОЛЬЦЕВЫЕ ЛАЗЕРНЫЕ ГИРОСКОПЫ 3.27 MB
  Чтобы измерять малые угловые скорости, используют частотную подставку. С помощью виброподвеса 10 возбуждаются угловые колебания кольцевого лазера относительно корпуса ЛГ.
75375. ЛАЗЕРНЫЕ ДОПЛЕРОВСКИЕ ИЗМЕРИТЕЛИ СКОРОСТИ 58.5 KB
  В соответствии с 2 относительная методическая погрешность измерения путевой скорости по разности частот. Принципиальная схема лазерного доплеровского измерителя скорости ЛДИС с опорным лучом Расщепитель пучка Лазерный пучок Рассеянное излучение частота Требования к лазеру: Минимальное поглощение и рассеяние излучения лазера в атмосфере включая...
75376. ЛАЗЕРНЫЕ ДАЛЬНОМЕРЫ 94.5 KB
  Импульсный метод – измерение времени распространения короткого импульса лазерного излучения до объекта и обратно. Фазовый метод – измерение разности фаз у колебаний мощности модулированного лазерного излучения на выходе из источника и возвратившегося после отражения
75377. ПРИНЦИПЫ ОПТИЧЕСКОЙ БЛИЖНЕПОЛЬНОЙ МИКРОСКОПИИ 185 KB
  Соотношение неопределенностей Неопределенность координаты фотона не может быть меньше чем длина волны. Если декремент затухания сделать большим то после подстановки в 1 получается следующий результат: неопределенность координаты намного меньше длины волны.
75378. ПРИНЦИПЫ ЗАПИСИ ИНФОРМАЦИИ НА КОМПАКТ-ДИСКЕ И ЕЕ СЧИТЫВАНИЯ 281 KB
  Этапы производства оптических дисков фотолитография процесс изготовления штампа диска. Считывание информации с поверхности диска Принцип считывания информации: регистрация изменения мощности отражённого света. Различие между дисками только для чтения и дисками однократной многократной записи заключается в способе формирования питов.
75379. Преимущества оптического волокна как среды для передачи информации 225.5 KB
  Полезная ширина полосы одиночно излученного светового импульса определяется импульсной передаточной функцией рассматриваемого оптического волокна ОВ. Учитывая что оптическая ширина полосы волокна определяется импульсной передаточной функцией этого волокна можно показать что измеренная на уровне 3 дБ по мощности оптическая ширина полосы Во оценивается с помощью показателя полная ширина полосы на уровне половины от максимума...
75380. Затухание оптического излучения в волокне 167.5 KB
  Существовало две глобальных проблемы при разработке оптических систем передачи данных: 1) источник света и 2) носитель сигнала. Первая разрешилась с изобретением лазеров в 1960 году, вторая - с появлением высококачественных оптических кабелей в 1970 году
75381. ХРОМАТИЧЕСКАЯ ДИСПЕРСИЯ В ОДНОМОДОВОМ ВОЛОКНЕ И УШИРЕНИЕ ПЕРЕДАВАЕМОГО ИМПУЛЬСА 113 KB
  В полосе прозрачности 850 нм более длинные волны распространяются с большей скоростью чем короткие например излучение на длине волны 865 нм распространяется в кварцевом стекле с большей скоростью чем излучение на длине волны 835 нм. Совсем наоборот происходит в полосе прозрачности 1550 нм: более короткие длины волн распространяются с большими скоростями чем более длинные излучение с длиной волны 1535 нм распространяется быстрее чем с длиной волны 1560 нм. Спектр оптического сигнала имеет конечную ширину ...