Код (Text): .data frmt db '%015lu',0 .code test_rdtsc proc invoke VirtualAlloc, NULL, 1000h, MEM_COMMIT, PAGE_READWRITE mov edi, eax push eax mov esi, 32 @@: rdtsc invoke wsprintf, edi, offSet frmt, eax mov word ptr [edi + 15], 0a0dh add edi, 17 dec esi jnz @b pop edi invoke MessageBox, NULL, edi, NULL, MB_OK invoke VirtualFree, edi, 1000h, MEM_RELEASE ret test_rdtsc endp то что rdtsc возращает результат в edx:eax это да, но почему в eax все время четное чтсло непойму?
You are not only one: http://www.wasm.ru/forum/viewtopic.php?pid=332007 У меня так же, даже пробовал зацыклить: @@Next: rdtsc test eax,1 jz @@Next ; Unreachable point...
Код (Text): 000000083272127 000003976887427 000003393977819 000002557185734 000000169605678 000001580036171 000002259824958 000001365553201 000002909804220 000003642961613 000003744354049 000003752453749 000003
угу действительно проверил на другой системи там норм, а вот Пентиум 4 дает исключительно четные числа)) http://zaq1.co.cc/rtdsc.jpg
cornolio Intel, потому что У меня, например, всегда кратно 8. Сначала было дико, потом привык. Это вообще ничто по сравнению с тем, что на Core2 (да, думаю и на i7) rdtsc не всегда выдает правильный результат, и приходится корячиться через rdpmc.