Vitesse cpu en mghz (win32)

Description

Calcul precis en 125 milliemes de seconde.

Source / Exemple :


bnGetCpuSpeed PROC
   sub     esp, 28
   lea     eax, dword ptr[esp+8]
   push    eax
   call    QueryPerformanceFrequency
   mov     [esp+24], esi
   test    eax, eax
   je      short cpuExit
   mov     esi, QueryPerformanceCounter
   push    esp
   call    esi
   mov     edx, dword ptr[esp+8]
   mov     eax, dword ptr[esp+12]
   shrd    edx, eax, 3
   shr     eax, 3
   add     dword ptr[esp], edx
   adc     dword ptr[esp+4], eax
   rdtsc
   mov     dword ptr[esp+16], eax
   mov     dword ptr[esp+20], edx
milli125:
   lea     ecx, dword ptr[esp+8]
   push    ecx
   call    esi
   mov     edx, dword ptr[esp+12]
   mov     eax, dword ptr[esp+8]
   cmp     edx, dword ptr[esp+4]
   jb      short milli125
   ja      short outMilli
   cmp     eax, dword ptr[esp]
   jb      short milli125
outMilli:
   rdtsc
   mov     ecx, 2251799814 ; DIVISION 125000
   sub     eax, dword ptr[esp+16]
   mul     ecx
   mov     eax, edx
   mov     esi, [esp+24]
   shr     eax, 16
cpuExit:
   add     esp, 28
   ret     0
bnGetCpuSpeed ENDP

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.