<?xml version="1.0" encoding="iso-8859-9" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwizguide.com/rss_namespace/">
 <channel>
  <title>Datakent Forum : CPU bilgilerinin alınması</title>
  <link>http://forum.datakent.com/</link>
  <description>XML içerik linki; Datakent Forum : Borland Delphi : CPU bilgilerinin alınması</description>
  <pubDate>Mon, 27 Apr 2026 22:26:41 +0000</pubDate>
  <lastBuildDate>Fri, 31 Oct 2008 12:21:06 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.54</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>forum.datakent.com/RSS_post_feed.asp?TID=1553</WebWizForums:feedURL>
  <image>
   <title>Datakent Forum</title>
   <url>http://forum.datakent.com/forum_images/datakent.com_forums.png</url>
   <link>http://forum.datakent.com/</link>
  </image>
  <item>
   <title>CPU bilgilerinin alınması : //delphi ile cpu bilgilerinin...</title>
   <link>http://forum.datakent.com/forum_posts.asp?TID=1553&amp;PID=3337#3337</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="http://forum.datakent.com/member_profile.asp?PF=1" rel="nofollow">murat turan</a><br /><strong>Konu:</strong> 1553<br /><strong>Gönderim Zamanı:</strong> 31.Ekim.2008 Saat 12:21<br /><br />//delphi ile cpu bilgilerinin alınması <DIV>&nbsp;</DIV><DIV>const<BR>ID_BIT = $200000; // EFLAGS ID bit<BR>type<BR>TCPUID = array&#091;1..4&#093; of Longint;<BR>TVendor = array &#091;0..11&#093; of char;</DIV><DIV>&nbsp;</DIV><DIV>function IsCPUID_Available : Boolean;<BR>asm<BR>MOV Result,False {Set initial result to false}<BR>PUSHFD {direct access to flags no possible, only via stack}<BR>POP EAX {flags to EAX}<BR>MOV EDX,EAX {save current flags}<BR>XOR EAX,ID_BIT {not ID bit}<BR>PUSH EAX {onto stack}<BR>POPFD {from stack to flags, with not ID bit}<BR>PUSHFD {back to stack}<BR>POP EAX {get back to EAX}<BR>XOR EAX,EDX {check if ID bit affected}<BR>JZ @exit {no, CPUID not availavle}<BR>MOV Result,True {Result=True}<BR>@exit:<BR>end;</DIV><DIV>&nbsp;</DIV><DIV>function GetCPUID(Index : Integer) : TCPUID;<BR>asm<BR>PUSH EBX {Save affected register}<BR>PUSH EDI<BR>MOV EDI,Result {Move result to EDI}<BR>MOV EAX,Index<BR>DW $A20F {CPUID Command we can use CPUID}</DIV><DIV>STOSD {CPUID&#091;1&#093;}<BR>MOV EAX,EBX<BR>STOSD {CPUID&#091;2&#093;}<BR>MOV EAX,ECX<BR>STOSD {CPUID&#091;3&#093;}<BR>MOV EAX,EDX<BR>STOSD {CPUID&#091;4&#093;}<BR>POP EDI {Restore registers}<BR>POP EBX<BR>end;</DIV><DIV>&nbsp;</DIV><DIV>function GetCPUVendor : TVendor;<BR>asm<BR>PUSH EBX {Save affected register}<BR>PUSH EDI<BR>MOV EDI,Result <a href="mailto:%7b@Result" target="_blank">{@Result</A> (TVendor)}<BR>MOV EAX,0<BR>DW $A20F {CPUID Command}</DIV><DIV>MOV EAX,EBX<BR>XCHG EBX,ECX {save ECX result}<BR>MOV ECX,4<BR>@1:<BR>STOSB<BR>SHR EAX,8<BR>LOOP @1<BR>MOV EAX,EDX<BR>MOV ECX,4<BR>@2:<BR>STOSB<BR>SHR EAX,8<BR>LOOP @2<BR>MOV EAX,EBX<BR>MOV ECX,4<BR>@3:<BR>STOSB<BR>SHR EAX,8<BR>LOOP @3<BR>POP EDI {Restore registers}<BR>POP EBX<BR>end;</DIV><DIV>&nbsp;</DIV><DIV>procedure TForm1.Button1Click(Sender: TObject);<BR>var<BR>S : TCPUID;<BR>I : Cardinal;<BR>begin<BR>Memo1.Clear;<BR>if IsCPUID_Available then begin<BR>for I:=0 to 3 do begin<BR>S:=GetCPUID(I);<BR>Memo1.Lines.Add(Format('%x-%x-%x-%x',&#091;S&#091;1&#093;,S&#091;2&#093;,S&#091;3&#093;,S&#091;4&#093;&#093;));<BR>end;<BR>for I:=$80000000 to $80000003 do begin<BR>S:=GetCPUID(I);<BR>Memo1.Lines.Add(Format('%x-%x-%x-%x',&#091;S&#091;1&#093;,S&#091;2&#093;,S&#091;3&#093;,S&#091;4&#093;&#093;));<BR>end;<BR>Memo1.Lines.Add(GetCPUVendor)<BR>end<BR>else<BR>Memo1.Lines.Add('CPUID Not available')<BR>end;</DIV><span style="font-size:10px"><br /><br />Düzenleyen murat_turan - 31.Ekim.2008 Saat 12:21</span>]]>
   </description>
   <pubDate>Fri, 31 Oct 2008 12:21:06 +0000</pubDate>
   <guid isPermaLink="true">http://forum.datakent.com/forum_posts.asp?TID=1553&amp;PID=3337#3337</guid>
  </item> 
 </channel>
</rss>