CALCUL DE LA FRÉQUENCE DU CPU [MASM32]

cs_GuruMeditation Messages postés 69 Date d'inscription samedi 28 octobre 2000 Statut Membre Dernière intervention 15 octobre 2004 - 30 déc. 2002 à 14:23
cs_Cendra Messages postés 56 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 4 février 2008 - 2 janv. 2003 à 18:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/15258-calcul-de-la-frequence-du-cpu-masm32

cs_Cendra Messages postés 56 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 4 février 2008 1
2 janv. 2003 à 18:16
ha vi j'avais pas tenu compte des autres process, merci pour tes infos :)
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
2 janv. 2003 à 15:18
.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
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
2 janv. 2003 à 14:39
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.
cs_Cendra Messages postés 56 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 4 février 2008 1
30 déc. 2002 à 15:23
j'ai cherché vite fait , tu parles de celui la ?
http://www.asmfr.com/article.aspx?Val=1
cs_Cendra Messages postés 56 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 4 février 2008 1
30 déc. 2002 à 15:15
oups j'ai pas vu ;)
cs_GuruMeditation Messages postés 69 Date d'inscription samedi 28 octobre 2000 Statut Membre Dernière intervention 15 octobre 2004
30 déc. 2002 à 14:23
Il y a déjà une source similaire avec la rdtsc sur ce site, il me semble....
Rejoignez-nous