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


 

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

5613. Основные фонды предприятия 223 KB
  Основные фонды предприятия Состав и структура основных фондов Необходимым условием реализации основной цели предпринимательства - получения прибыли - является планирование воспроизводства капитала, которое охватывает стадии инвестирован...
5614. Оборотные средства предприятия. Их состав и структура 108.5 KB
  Экономика предприятия Оборотные средства предприятия Состав и структура оборотных средств предприятия Для осуществления непрерывного производственного процесса предприятиям необходим оборотный капитал (оборотные средства). Оборотные...
5615. Труд и заработная плата как часть национального дохода 257.5 KB
  Труд и заработная плата Заработная плата как часть национального дохода Как увеличить свой заработок? Как определить тот уровень заработной платы, при котором работник будет в процессе труда наиболее активен? Как сдержать рост заработной платы, ч...
5616. Инновационная деятельность предприятия (фирмы) 95 KB
  Инновационная деятельность предприятия (фирмы) Значение и предпосылки инновационной деятельности предприятия (фирмы) Одной из приоритетных целей развитых стран мира является обеспечение долговременного экономического роста. Имеется в виду произво...
5617. Инвестиции и капитальное строительство 135 KB
  Инвестиции и капитальное строительство Понятие, виды и структура инвестиций Поступательное развитие экономики непосредственно связано с воспроизводством основных фондов ввиду того, что удовлетворение возникающих общественных потребностей требует ...
5618. Качество промышленной продукции 140.5 KB
  Качество промышленной продукции 1. Качество промышленной продукции и ее показатели Рыночная экономика предполагает товарный обмен и стоимостную форму учета затрат труда. Соответственно продукт промышленной фирмы выступает в товарной форме, имеющей п...
5619. Аренда, лизинг, франчайзинг. Арендные механизмы в предпринимательстве 106.5 KB
  Аренда, лизинг, франчайзинг. Арендные механизмы в предпринимательстве Эффективное ведение производственной и другой предпринимательской деятельности, вне зависимости от формы ее организации, требует значительного стартового капитала, существенных ...
5620. Издержки, прибыль и рентабельность производства 378 KB
  Издержки, прибыль и рентабельность производства Издержки. Понятие и виды Для принятия предприятием (фирмой) оптимальных решений по объемам выпуска продукции необходимо учитывать информацию об уровне издержек. Издержки — это денежное выражени...
5621. Механизм и инструментарий управления предприятием (фирмой) 110.5 KB
  Механизм и инструментарий управления предприятием (фирмой) Функции и методы управления экономикой, их развитие и совершенствование Установление целей производственно-хозяйственной деятельности предполагает целенаправленное воздействие на участник...