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


 

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

18018. Что такое политическая философия: размышления и соображения 595 KB
  Александр Моисеевич Пятигорский Что такое политическая философия: размышления и соображения Аннотация К чему приводит общее снижение уровня политической рефлексии Например к появлению новых бессмысленных слов: урегулирование политического кризиса ведь к...
18019. Деньги и Кредит 2.59 MB
  Деньги и Кредит СОДЕРЖАНИЕ: РАЗДЕЛ. ДЕНЬГИ Глава. НЕОБХОДИМОСТЬ ДЕНЕГ ИХ ВОЗНИКНОВЕНИЕ И СУЩНОСТЬ. Предпосылки и значение появления денег. Сущность денег. ФУНКЦИИ ВИДЫ ДЕН
18020. Деньги, кредит, банки 2.17 MB
  Кравцовa Г.И. Деньги кредит банки Содержание ПредисловиеРаздел I. ДЕНЬГИГлава 1. Необходимость и сущность денегКонцепции происхождения денег. Сущность денегВиды денегТеории денегГлава 2. Функции денегДеньги как мера стоимостиДеньги как средство обращенияДеньги к...
18021. Директ-маркетинг. Учебное пособие 2.3 MB
  И. В. Есинова С. В. Бачило Мишина Л.А. Директмаркетинг Глава 1. Директмаркетинг как инструмент маркетинга Директмаркетинг представляет собой вид рыночной деятельности в которой проявляется особый интерес к индивидуальным запросам потребителя и его лично
18022. ЭКОНОМИЧЕСКИЙ РИСК И МЕТОДЫ ЕГО ИЗМЕРЕНИЯ 376.5 KB
  Конспект лекций по дисциплине Экономический риск и методы его измерения 1 Оценка риска деятельности предприятия 1.1 Суть и виды рисков. 1.2 Методы анализа рисков. 1.3 Способы снижения риска самостоятельная проработка 1.4 Учет рисков при финансировании проект
18023. Экономическая диагностика предприятия с помощью финансовых коэффициентов 351 KB
  Экономическая диагностика предприятия с помощью финансовых коэффициентов Система финансовых коэффициентов В настоящем разделе речь пойдет об использовании системы коэффициентов для анализа финансового положения компании на основании ее финансовой отчетнос...
18024. ЭФФЕКТИВНЫЕ МЕТОДЫ ПРОДАЖ 1.19 MB
  БРАЙАН ТРЕЙСИ ЭФФЕКТИВНЫЕ МЕТОДЫ ПРОДАЖ Введение Я считаю что все самые лучшие продавцы во многом схожи. Иногда на семинарах для продавцов я провожу опыт суть которого состоит в том что я описываю лучших работников их фирмы. Более или менее подробно представляю их х...
18025. Эффективный управляющий 768.5 KB
  Питер Ф. Друкер. Эффективный управляющий Многие утверждают что ни одна личность не оказала такого всеобъемлющего влияния на развитие бизнеса в 20 века какое оказал Питер Ф. Друкер. Фактически он создал менеджмент как дисциплину в 50е гг. превратив эту непопулярную и н...
18026. Эконометрические методы 1.78 MB
  Эконометрические методы Введение Данное пособие появилось как результат факультатива и спецкурса прочитанных автором для студентов экономического факультета Новосибирского университета в 1996 г. Пособие состоит из двух самостоятельных разделов. Раздел I основан ...