Страница: 1 | 2 |
Вопрос: Как программно организовать задержку в 0,25ms
Добавлено: 06.01.06 10:17
Автор вопроса: Andr
Ответы
Всего ответов: 18
Номер ответа: 16
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #16
Добавлено: 07.01.06 13:28
Хех, пауза там сделана с элегантностью первых советских телевизоров:
; Silly method, but it works
mov eax, DELAY
.while eax
dec eax
.endw
ENDM
Номер ответа: 17
Автор ответа:
Andr
Вопросов: 3
Ответов: 7
Профиль | | #17
Добавлено: 10.01.06 02:01
SetPriorityClass c REALTIME_PRIORITY_CLASS и SetThreadPriority c THREAD_PRIORITY_TIME_CRITICAL -- было дело. RDTSC - подробней!? если могешь!?
Номер ответа: 18
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #18
Добавлено: 10.01.06 12:22
Интеловский мануал
Description
Loads the current value of the processor’s time-stamp counter into the EDX:EAX registers. The
time-stamp counter is contained in a 64-bit MSR. The high-order 32 bits of the MSR are loaded
into the EDX register, and the low-order 32 bits are loaded into the EAX register. The processor
increments the time-stamp counter MSR every clock cycle and resets it to 0 whenever the
processor is reset.
When in protected or virtual 8086 mode, the time stamp disable (TSD) flag in register CR4
restricts the use of the RDTSC instruction as follows. When the TSD flag is clear, the RDTSC
instruction can be executed at any privilege level; when the flag is set, the instruction can only
be executed at privilege level 0. (When in real-address mode, the RDTSC instruction is always
enabled.)
The time-stamp counter can also be read with the RDMSR instruction, when executing at privilege
level 0.
The RDTSC instruction is not a serializing instruction. Thus, it does not necessarily wait until
all previous instructions have been executed before reading the counter. Similarly, subsequent
instructions may begin execution before the read operation is performed.