Курсовые работы, лабораторные и дипломы по информатике.

>> Справочник по функциям Turbo Pascal 7.0.

Наши спонсоры:

Процедура GetIntVec.

  • Объявление:

    Procedure GetIntVec(IntNo : Byte; Var Vector : Pointer);

  • Описание:

    Возвращает адрес, сохраненный в указанном векторе прерывания.

  • Замечания:

    Параметр IntNo определяет номер вектора прерывания (0..255), А его адрес возвращается в переменной Vector.

  • Пример:

    { Пример программы для процедуры GetIntVec}
    { Обращайтесь с системными прерываниями с максимальной осторожностью }
    { Неверное использование прерываний может повредить информацию и/или }
    { сам компьютер на аппаратном уровне ! }
    { Еще один пример использования обработчиков прерываний можно }
    { посмотреть в программе для процедуры Keep }
    Uses WinDos, Crt;
    Var Int1CSave : Pointer;
    Fl : Boolean;
    {F+}
    Procedure TimerHandler;
    Interrupt;
    Begin
    { ISR на события таймера }
    {*** Обратитесь к документации по DDK или
    DPMI для информации по созданию ISR *** }
    { ISR на события таймера вызываются 18 раз в секунду }
    { Данный пример включает внутренний динамик 9 раз в
    секунду с частотой 1000 }
    If Fl Then NoSound Else Sound(1000);
    Fl:=Not Fl;
    End;
    {F-} Begin
    { Получаем старый вектор прерывания 1C - (системный таймер) }
    { и сохраняем его в переменной Int1CSave }
    GetIntVec(1C, Int1CSave);
    { Переназначаем его на нашу процедуру обработки прерывания }
    SetIntVec(1C, @TimerHandler);
    WriteLn('Нажмите любую клавишу для снятия обработчика...');
    Repeat
    Until Keypressed;
    { Возвращаем обработчик прерывания в исходное состояние }
    SetIntVec(1C, Int1CSave);
    End.



Вернуться к оглавлению справочника