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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2010, 12:22   #1
Mixim
Форумчанин
 
Регистрация: 29.10.2009
Сообщений: 259
Вопрос Системный таймер

Вообщем начну с предисловия. В современных компьютерах содержится три аппаратных таймера, один из которых используется ОС для обновления текущего времени, а два других можно программировать. Мне необходимо на таймер установить задержку в 1 милисекунду. Для этого использую пятнадцатое прерывание(INT 15h) с функцией 86h. Пишу следующий код:
Код:
XOR Cx, Cx
MOV Dx, 1000
MOV Ah, 86h
INT 15h
на выходе получаем: CF=0, если задержка выполнена; CF=1, если таймер был занят.
Смотрел через отладчик, как проходит это прерывание и оказалось, что системный таймер всегда занят(после пятнадцатого прерывания во флаг CF всегда помещается 1).
Нашел информацию, что каким-то образом можно программно обращаться ко второму таймеру, который фактически системой почти не используется, т.е. этот таймер очень редко бывает занят, но ни в одной книге не написано, как обратится ко второму таймеру. Подскажите пожалуйста, какой регистр(ы) необходимо изменить, чтобы можно было обращаться ко второму таймеру и как с ним можно работать(как делать через него задержки)
Из всех классических книг, посвященных программированию, ненавижу всего одну - русский перевод книги Роберта Седжвика-"Фундаментальные алгоритмы C++". Предпочитаю читать её в оригинале.
Mixim вне форума Ответить с цитированием
Старый 30.01.2010, 12:52   #2
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Лучше всего обращаться к таймеру через порты. Вот некоторые ссылки:I, II, III
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Таймер IVANSour Общие вопросы Delphi 2 18.01.2009 14:41
Таймер Михаил Юрьевич Общие вопросы Delphi 1 16.07.2008 08:46
Системный таймер и частота процессора falabella Помощь студентам 12 26.04.2008 00:45