Télécharger le zip
Il y a déjà une source similaire avec la rdtsc sur ce site, il me semble....
oups j'ai pas vu ;)
j'ai cherché vite fait , tu parles de celui la ? http://www.asmfr.com/article.aspx?Val=1
Cendra, ton resultat est tres peux fiable, en effet sous windows, ton application peut etre retardée par une autre (ou un autre process), ce qui peux fortement fausser le rèsultat obtenu par ton appli... regarde http://www.asmfr.com/article.aspx?Val=1, il utilise les prioritès de threads pour etre le plus fiable possible... Bon Coding ManChesTer.
.586 .model flat, stdcall ;32 bit memory model option casemap:none include windows.inc include kernel32.inc includelib kernel32.lib .data titre db "Cpu Speed (c)2002 ManChesTer",0 valeur db "Cpu is running at %lu MHz.",0 buffer db 12 dup(0) compteur DWORD ? .code Main: Invoke SetPriorityClass,GetCurrentProcess,REALTIME_PRIORITY_CLASS Invoke SetThreadPriority,GetCurrentThread,THREAD_PRIORITY_TIME_CRITICAL Invoke Sleep,500 rdtsc ;premier relevé mov ebx,eax ;on garde la valeur dans le registre ebx invoke Sleep,500 rdtsc ;second relevé sub eax,ebx ;difference des 2 relevés xor edx,edx mov ecx,500000 div ecx ;division pour obtenir la fréquence en MHz ( 1MHz <=> 1µs ) invoke wsprintfA,OFFSET buffer,OFFSET valeur,eax invoke MessageBox,0,OFFSET buffer,OFFSET titre,0 END Main voila le code corrigè ! il ne fonctionne pas pour les cpu de + que 4096Mz Bon Coding.... ManChesTer
ha vi j'avais pas tenu compte des autres process, merci pour tes infos :)
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 690 913 membres 37 nouveaux aujourd'hui 15 693 membres club