Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Прерывание 1Ah – работа с системным таймером.



На основе данного прерывания, как правило, эмулируется работа с нестандартными устройствами. С нестандартного устройства по возможности снимается временная характеристика поступления или приема различных цифровых сигналов. На основе временного графика строится эмулятор этого устройства, примерно совпадающий с этим устройством. Далее пишется драйвер на данное устройство. Программа драйвер сажается на вектор прерывания свободный в операционной системе. Пишется пользовательская программа и проверяется правильность работы эмулятора и драйвера. После подключения нестандартного устройства драйвер заменяется на другой драйвер, в котором вместо 1Ah используется обращение к портам устройства.

Функция 00h – прочитать время

На входе: AH 00h
  CX Младшая часть двойного слова
  DX Старшая часть
Возврат: AL Если 1, то «сигнал полночи» (т.е. новая дата)

Функция 01h – установить время

На входе: AH 01h
  CX Младшая часть двойного слова
  DX Старшая часть
Возврат:   Не используется

Функция 02h – прочитать неупакованное время

На входе: AH 02h
Возврат: CH Часы
  CL Минуты
  DH Секунды

Функция 03h – установить неупакованное время

На входе: AH 03h
  CH Часы
  CL Минуты
  DH Секунды
  DL 1 – 12-ти часовое время 2 – 24-х часовое время
Возврат:   Не используется

Функция 04h – прочитать реальную дату

На входе: AH 04h
Возврат: DL День
  DH Месяц
  CL Год
  CH Век

Функция 05h – установить распакованную (реальную) дату

Аналогично возврату из предыдущей функции

Функция 06h – установить сигнал тревоги через системный динамик

На входе: AH 06h
  CH Часы
  CL Минуты
  DH Секунды
Возврат:   Не используется

Функция 07h – сбросить сигнал тревоги

16. Прерывание 1Bh –     вызвать прерывание Ctrl+C

Прерывание 20h –      прерывание MS-DOS (закончить программу)

Прерывание 21h –      вызов функции MS-DOS. Прерывания аналогично IBM PC но дополнительно есть группы работы файлами, памятью, каталогами.

Прерывание 27h –       закончить программу и оставить ее резидентной

Не рекомендуется использовать прерывания до адреса 40h и начиная с 50h до 6Ah.

Пример:

Написать функцию которая бы передавала статус клавиатуры с использованием библиотеки DOS. Вывела бы «1» если нажата клавиша Shift, «2» - Ctrl, «3» - alt, «0» - в противном случае.

Uses dos;

Function klst:byte;

Var

R:registers;

St,i:byte;

Begin

Swapvectors;

r.ah:=2;

intr($16,r);

st:=r.al;

Swapvectors;

Klst:=0;

I:=1;

Repeat

If (st and i)=i

Then begin

If i=1

Then klst:=1

Else klst:=st div i;

End;

End;

Inc(i);

Until (i=16)or(klst<>i);

End;

 

5.8. Системные соглашения при использовании турбо Паскаль

 

При использовании ТП кроме библиотеки DOS обязательно использовать системные средства, входящие в ТП

По умолчанию. Они входят в библиотеку SYSTEM. В отличие от других библиотек, данная библиотека загружается в каждую программу, написанную на ТП., поэтому не должна появлятся в утверждении USES. Библиотека состоит из нескольких программ, которые заменяют системные драйвера в процессе выполнение программы на ТП. Пользователь не имеет возможности обратится непосредственно к процедурам и функциям данной библиотеки (все процедуры и функции данной библиотеки являются основными в язаке ТП) Кроме них в состав библиотеки входят константы и переменные.

 

Переменные библиотеки SYSTEM

Главные файлы

 

INPUT:TEXT   - файл ввода

OUTPUT:TEXT - файл вывода

 

 Адреса системных процедур, по которым сохранениы системные драйверы

 

SaveInt00:pointer - обработка деления на ноль.

SaveInt02:pointer - обработка ошибок четности

SaveInt13:pointer - прерывание с клавиатуры ( Ctrl+C)

SaveInt23:pointer - адрес окончания программы

SaveInt24:pointer - вектор программы, которая выполняется при обнаружении критических ошибок.

 

Начиная с адреса 34 по адрес 3F находятся специальные прерывания ТП.

 

 

ОВЕРЛЕЙ

 

Оверлейной структурой под управлением ОС MS-DOS называется специальный комплекс программ позволяющий экономить оперативную память при выполнении программы. Под управление ОС Windows оверлей называется динамическими библиотеками.

Для того чтобы сделать оверлейную программу в Turbo Pascal пользователь должен осуществить 2 этапа:

Построить структурную схему программы.

Определить в главной программе использование библиотеки overlay и задать опции управления в программах.

 


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 194; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.022 с.)
Главная | Случайная страница | Обратная связь