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


 

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

78829. Чи відповідає смак якості? Натуральні соки, їх властивості 1.04 MB
  Мета: протестувати вибрані соки певних виробників, порівняти їх смак, вміст речовин, ціну та дизайн упаковки; визначити найкращий продукт та складання рекомендацій до нього. Тестували: сік «Господарочка», м.Одеса; сік «Садочок», Миколаївська обл..; сік «Яблуко», м. Одеса; сік «Вінні-Фрут», Вінницька обл.
78831. Театр. Theatre 48.5 KB
  Every nation and every country has its own customs and traditions. In Great Britain traditions play a more important part in the life of the people than in other countries. Englishmen are proud of their traditions and carefully keep them up.
78832. Добридень тобі, Україно моя! 141 KB
  Мета: Проаналізувати особливості життєвого та творчого шляху Павла Тичина; дослідити роль П. Тичини як громадського діяча. Розвивати пам’ять, декламаторські здібності, виховувати любов до українського поетичного слова, формувати національну свідомість, творчу особистість.
78833. Вже у фермера в дворі наступає Новий рік 48.5 KB
  Срібні дзвіночки дзвеніли під вікнами і все що бажали у цей святковий день маленькі колядники неодмінно збувалося. Входять до классу колядники Панігосподарко Чи дозволите колядувати Колядувати дім звеселяти А як же Кажуть що в тій хаті і добра не буде яку колядники...
78834. Шевченкове ім’я нам сіяє, як зоря 289 KB
  Активізувати та збагачувати знання дітей про життя та творчість Тараса Григоровича Шевченка; вчити учнів сприймати поезію Кобзаря серцем і душею, викликати інтерес до поезії; виховувати любов до України; спонукати учнів до вияву власних творчих здібностей та їх розвитку...
78835. Урочиста лінійка до дня народження Т.Г.Шевченка 46 KB
  Звучить пісня Реве та стогне Дніпр широкий Учитель Навесні коли тануть сніги А на рясті просяє веселка Повні сили й живої снаги Ми вшановуєм пам΄ять Шевченка. Трагічна та яскрава доля Тараса Шевченка як і доля його...
78836. Хто він, Т.Г. Шевченко? 940 KB
  Бесіда з учнями: учні висловлюють свої думки з приводу поставленого запитання Слово вчителя: Отже ми поки що тільки припускаємо що у Шевченка могли виникати думки про те як просвітити український люд світлом науки. Шевченка. Однак хто ще з такою силою пристрасті як Шевченко звеличив...
78837. Кобзарем його ми звемо… 124.5 KB
  Благословен той день і час Коли прослалась килимами Земля яку сходив Тарас Малими босими ногами Земля яку скропив Тарас Дрібними росами сльозами 9 березня 1814 р. В хаті Григорія Шевченка блиснув у вікні єдиний на все село вогник і народилася нова кріпацька душа для пана а для України...