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 CodingManChesTer.
.586 .model flat, stdcall ;32 bit memory modeloption casemap:noneinclude windows.incinclude kernel32.incincludelib kernel32.lib.datatitre db "Cpu Speed (c)2002 ManChesTer",0valeur db "Cpu is running at %lu MHz.",0buffer db 12 dup(0)compteur DWORD ?.codeMain: 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,0END Mainvoila le code corrigè ! il ne fonctionne pas pour les cpu de + que 4096MzBon 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 598 575 membres 577 nouveaux aujourd'hui 15 439 membres club