Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2010, 22:58   #1
Kingdom_Reborn
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 130
Вопрос Прерывания таймера.

Такой вопрос. Есть обработчик прерываний системного таймера.
Код:
{$F+}
procedure Handler; Interrupt;
begin
    Inc(time);
    Inc(_time);
    if _time >= K then begin
        _time := 0;
        Proc;
    end;
    Inline($9C);
    OldHandler;
end;
{$F-}
есть процедура Proc2 вида
Код:
procedure Proc2;
begin
    while time <= MaxTime do begin
         ...
    end;
    time := 0;
end;
и основная программа вида
Код:
begin
    ...
    GetIntVec($8, @OldHandler);
    SetIntVec($8, Addr(Handler));
    while True do begin
        MaxTime := 1 + Random(1000);
        Proc2;
        ...
    end;
    ...
end;
Вопрос в следующем. На работу процедуры Proc2 отводится время MaxTime. Когда в процедуре Proc2 выполняется цикл, то каким образом вызывается процедура Proc из обработчика? Причём K много меньше MaxTime, к примеру, 1, т. е. Proc будет выполнятся с каждым прерыванием, а что при этом делается с процедурой Proc2, когда она тоже выполняется?
Kingdom_Reborn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отсрочка таймера Lifefine Общие вопросы Delphi 4 15.01.2010 03:39
Программирование таймера и динамика горе-программист Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 05.10.2009 10:53
Обработка прерывания таймера Temi4 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 01.06.2009 19:56
Интервал Таймера... Roof Общие вопросы Delphi 27 08.07.2008 20:19
использование таймера KancJler Помощь студентам 13 19.04.2008 01:13