• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Khan's Notebook GCC/GNU/Linux Delphi/Window Java/Anywhere

            路漫漫,長修遠,我們不能沒有錢
            隨筆 - 173, 文章 - 0, 評論 - 257, 引用 - 0
            數據加載中……

            [導入]在偶機器上找到一個讀cpu串號的代碼,delphi的,記錄一下(申明是人家的代碼)

            unit CPU;

            interface

            uses
              SysUtils;

            type
              TCPUID = array[1..4] of Longint;
              TVendor = array[0..11] of char;

            function GetCPUID: TCPUID; assembler; register;
            function GetCPUVendor: TVendor; assembler; register;
            function GetCPUInfo: string;

            implementation


            function GetCPUID: TCPUID; assembler; register;
            asm
             PUSH    EBX         {Save affected register}
             PUSH    EDI
             MOV     EDI,EAX      {@Resukt}
             MOV     EAX,1
             DW      $A20F        {CPUID Command}
             STOSD                {CPUID[1]}
             MOV     EAX,EBX
             STOSD                {CPUID[2]}
             MOV     EAX,ECX
             STOSD                {CPUID[3]}
             MOV     EAX,EDX
             STOSD                {CPUID[4]}
             POP     EDI          {Restore registers}
             POP     EBX
            end;

            function GetCPUVendor: TVendor; assembler; register;
            asm
             PUSH    EBX          {Save affected register}
             PUSH    EDI
             MOV     EDI,EAX      {@Result (TVendor)}
             MOV     EAX,0
             DW      $A20F        {CPUID Command}
             MOV     EAX,EBX
             XCHG    EBX,ECX      {save ECX result}
             MOV     ECX,4
            @1:
             STOSB
             SHR     EAX,8
             LOOP    @1
             MOV     EAX,EDX
             MOV     ECX,4
            @2:
             STOSB
             SHR     EAX,8
             LOOP    @2
             MOV     EAX,EBX
             MOV     ECX,4
            @3:
             STOSB
             SHR     EAX,8
             LOOP    @3
             POP     EDI          {Restore registers}
             POP     EBX
            end;

            function GetCPUInfo: string;
            var
              CPUID: TCPUID;
              I: Integer;
              S: TVendor;
            begin
              for I := Low(CPUID) to High(CPUID) do
                CPUID[I] := -1;

              CPUID := GetCPUID;

              S := GetCPUVendor;

              Result := S + IntToHex(CPUID[1], 8) + IntToHex(CPUID[2], 8)
                + IntToHex(CPUID[3], 8)
                + IntToHex(CPUID[4], 8);
            end;


            end.


            以前中專d時候看ibm 8086/8088匯編有自己寫過這些代碼d,但是現在過了這么多年,退化到看不懂這些了

            posted on 2006-01-12 09:56 Khan 閱讀(1005) 評論(0)  編輯 收藏 引用 所屬分類: Delphi

            2021国内久久精品| 无码伊人66久久大杳蕉网站谷歌 | 亚洲伊人久久综合影院| 久久综合亚洲色HEZYO国产| 亚洲国产一成久久精品国产成人综合| 亚洲国产成人久久笫一页| 欧美亚洲色综久久精品国产| 香蕉久久一区二区不卡无毒影院| 久久青青草原精品国产软件| 一本一本久久a久久综合精品蜜桃| 久久免费的精品国产V∧| 久久久黄片| 久久精品国产免费| 久久妇女高潮几次MBA| 很黄很污的网站久久mimi色| 久久久亚洲裙底偷窥综合| 国产福利电影一区二区三区,免费久久久久久久精 | 精品久久久久久无码中文字幕 | 人妻无码精品久久亚瑟影视| 青青国产成人久久91网| 老男人久久青草av高清| 国产精品VIDEOSSEX久久发布| 亚洲AV成人无码久久精品老人| 久久国产香蕉视频| 国产成人精品久久一区二区三区av| 久久久久97国产精华液好用吗| 欧美亚洲日本久久精品| 国产亚洲美女精品久久久| 国产日产久久高清欧美一区| 色婷婷综合久久久久中文| 久久中文字幕人妻熟av女| 午夜精品久久久久久| 狠狠人妻久久久久久综合| 免费观看成人久久网免费观看| 久久99国产精品99久久| 国产成人精品久久一区二区三区| 久久综合九色综合网站| 久久精品国产亚洲av水果派| 国产精品免费看久久久| 色综合久久88色综合天天| 国产成人精品久久亚洲|