CALCUL DE LA FRÉQUENCE DU CPU [MASM32]

Signaler
Messages postés
69
Date d'inscription
samedi 28 octobre 2000
Statut
Membre
Dernière intervention
15 octobre 2004
-
Messages postés
56
Date d'inscription
mardi 27 août 2002
Statut
Membre
Dernière intervention
4 février 2008
-
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

Messages postés
56
Date d'inscription
mardi 27 août 2002
Statut
Membre
Dernière intervention
4 février 2008
1
ha vi j'avais pas tenu compte des autres process, merci pour tes infos :)
Messages postés
374
Date d'inscription
vendredi 20 octobre 2000
Statut
Modérateur
Dernière intervention
15 janvier 2021

.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
Messages postés
374
Date d'inscription
vendredi 20 octobre 2000
Statut
Modérateur
Dernière intervention
15 janvier 2021

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.
Messages postés
56
Date d'inscription
mardi 27 août 2002
Statut
Membre
Dernière intervention
4 février 2008
1
j'ai cherché vite fait , tu parles de celui la ?
http://www.asmfr.com/article.aspx?Val=1
Afficher les 6 commentaires