Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Задержка


Автор: DarkDante7 5.11.2012, 23:28
Кто знает как реализовать задержку с помощью портов в секундах или миллисекундах? Или у кого есть программа только чтоб там не было прерываний так как я нахожусь в защищенном режиме.

Автор: LeonidPr 6.11.2012, 13:39
А что вам мешает настроить IDT и разрешить прерывания? Тогда можно будет заюзать таймер, который программируется через порты 0x40-0x43.
На всякий случай даю http://ru.osdev.wikia.com/wiki/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D1%83%D0%B5%D0%BC%D1%8B%D0%B9_%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80 на описание.
P.S. Залез на страничку по ссылке, которую сам и дал и прочитал что у нынешних таймеров можно программно считывать состояний. выходит, что тогда можно обойтись без прерываний. Запрограммируйте таймер на какой-то интервал и непрерывно считывайте его состояний. Как только сработал - ваша задержка (или её часть) закончена.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)