Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11653
Последний выпуск: 19.06.2015

Функции BIOS -

Зто аппаратно генерируемое прерывание (IRQ 0) вызывается по каждому тику часов реального времени PC. Часы тикают каждые 55мс, или около 18.2 раз в секунду. Код ROM-BIOS для этого прерывания обновляет значение часов на 0:046 сек. этот код также выключает двигатели гибких дисков по истечении примерно двух секунд без операций ввода/вывода.

Если вы хотите использовать это прерывание для обработки событий, зависящих от времени, вы должны предусмотреть код, сообщающий системе, когда прерывание закончено. Магическая последовательность такова:

         mov     al,20H     ;послать сигнал конец-прерывания
         out     20H,al     ; контроллеру прерываний 8259

большинство программ используют для этого ROM-BIOS. например, вначале программа пользователя сохраняет вектор ROM-BIOS в переменной с именем cs:[saved_int8]. затем по каждому прерыванию INT 08H выполняется следующий код:

        pushf                              ;имитировать INT
        call  dword ptr cs:[saved_int8]    ;выполнить нормальную обработку
        cmp   cs:my_var,test_value         ;теперь сделать свои черные дела
    ... и т.д. ...
        iret    ;возврат в прерванную прикладную программу "переднего плана"

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
26K
29 августа 2007 года
Rotveiler
20 / / 29.08.2007
+1 / -1
Мне нравитсяМне не нравится
29 августа 2007, 16:23:48
потому что функции по обновлению также занимают процессорное время!
2.
28K
12 мая 2007 года
LogoROS
9 / / 12.05.2007
+1 / -1
Мне нравитсяМне не нравится
25 мая 2007, 21:01:45
А почему код ROM-BIOS для этого прерывания обновляет значение часов на 0:046 сек, а не на 0:055?????
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог