![]() |
|
|
![]()
|
|
| Ruterian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 9.1.2004 Где: Вязьма, Минск Репутация: нет Всего: нет |
Необходимо написать процедуру, которая вызывала бы задержку 5 мс, независимо от тактовой частоты CPU и операционной системы (как известно, в виртуальном режиме DOS-окна NT/XP int15h работает некорректно). У кого какие идеи? :-)
|
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 2 Всего: 34 |
на то он и виртуальный режим
не думаю что там можно этого добится -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| xach |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.10.2004 Где: СПб Репутация: нет Всего: нет |
А как насчёт VerticalRetrace???
Я правда не знаю сколько это весит времени, но уверен, что таким образом можно не плохо синхронизировать программу, т.к. на всех компах(с лучевыми монитором) код приведённый ниже даёт стабильную паузу...
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
в виртуальном режиме DOS-окна NT/XP любая временнАя задержка будет работать некорректно.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| xach |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 22.10.2004 Где: СПб Репутация: нет Всего: нет |
Как насчёт вычислений FPU
Они-то выполняются железно, в независимости от частоты... Или я не прав? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
xach
А связь-то какая? MicroTimer конечно есть - но вот в ДОС-окне... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Girder |
|
||||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: нет Всего: 155 |
Попробуй... мож поможет - 100 лет уже Dos проги в NT-ах не запускал
1)Замени(любым удобным для тебя способом) обработчик прерывания Int 08 на свой... к примеру такой
2)Выстави нужную частоту
3)Где надо тебе будет задержка... просто проверяй состояние FlagTime на изменение... можеш и сам его менять а потом проверять... PS:Под Nt не проверял... ИМХО: В любом случаи... точняк чтоб 5 мс... - не получится Это сообщение отредактировал(а) Girder - 22.10.2004, 14:42 -------------------- Как слышим, так и пишим. Истина где-то там... |
||||
|
|||||
| Гость_xach |
|
|||
|
Unregistered |
Akina
Я имел ввиду вычисления сопроцессора, а не какой-то его таймер... |
|||
|
||||
| Атос |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 11.9.2004 Где: Екатеринбург Репутация: нет Всего: нет |
используй оп-код RDTSC (на всех пентюхах есть)
в принципе по нему очень неплохо можно синхронизироваться... вопрос только в том, чтобы дали вообще процвремя задаче... если же дают (со скрипом |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 2 Всего: 34 |
Атос
вся фигня что тайминг на разных процах разный к примеру NOP на 286 будет 5 тактов а на пне про 2 такта таким макаром RDTSC чущ покажет -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Ruterian |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 9.1.2004 Где: Вязьма, Минск Репутация: нет Всего: нет |
||||
|
||||
![]()
|
| Правила форума "Asm для Windows/DOS" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для Windows/Dos | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |