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és374Date d'inscriptionvendredi 20 octobre 2000StatutModérateurDernière intervention15 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és56Date d'inscriptionmardi 27 août 2002StatutMembreDernière intervention 4 février 20081 30 déc. 2002 à 15:23
2 janv. 2003 à 18:16
2 janv. 2003 à 15:18
.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
2 janv. 2003 à 14:39
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.
30 déc. 2002 à 15:23
http://www.asmfr.com/article.aspx?Val=1
30 déc. 2002 à 15:15
30 déc. 2002 à 14:23