得到CPU速度,单位MHz_Delphi

  • 内容
  • 评论
  • 相关

function GetcpuSpeed: Comp;
{ function to return the CPU clock speed only.}  
{ Usage: MessageDlg(Format('%.1f MHz', [GetCpuSpeed]),
mtConfirmation, [mbOk], 0); }  
var  
   t: DWORD;
   mhi, mlo, nhi, nlo: DWORD;  
   t0, t1, chi, clo, shr32: Comp;  
begin  
   shr32 := 65536;  

http://www.gaodaima.com/65605.html得到CPU速度,单位MHz_Delphi

   shr32 := shr32 * 65536;  
  
   t := GetTickCount;  
   while t = GetTickCount do begin end;  
   asm  
     DB 0FH  
     DB 031H  
     mov mhi,edx  
     mov mlo,eax  
   end;  
  
   while GetTickCount < (t + 1000) do begin end;
asm
DB 0FH
DB 031H
mov nhi,edx
mov nlo,eax
end;

chi := mhi;
if mhi < 0 then chi := chi + shr32;

clo := mlo;
if mlo < 0 then clo := clo + shr32;

t0 := chi * shr32 + clo;

chi := nhi;
if nhi < 0 then chi := chi + shr32;

clo := nlo;
if nlo < 0 then clo := clo + shr32;

t1 := chi * shr32 + clo;

Result := (t1 - t0) / 1E6;
end; 

欢迎大家阅读《得到CPU速度,单位MHz_Delphi》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

本文链接地址: 得到CPU速度,单位MHz_Delphi

微信支付二维码

微信 赏一包辣条吧~

支付宝支付二维码

支付宝 赏一听可乐吧~

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注