获取CPU序列号的Delphi程序
生活随笔
收集整理的這篇文章主要介紹了
获取CPU序列号的Delphi程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Unit CPUid; Interface Type TCpuType = (cpu8086, cpu286, cpu386, cpu486, cpuPentium); Function CpuType : TCpuType; Function CpuTypeString : String; Implementation Uses SysUtils; Function CpuType : TCpuType; ASSEMBLER; Asm // 8086 CPU 檢測
push ds pushf pop bx mov ax, 0fffh and ax, bx push ax popf pushf pop ax and ax, 0f000h cmp ax, 0f000h mov ax, cpu8086 je @@End_CpuType // 80286 CPU檢測 or bx, 0f000h push bx popf pushf pop ax and ax, 0f000h mov ax, cpu286 jz @@End_CpuType // 386 CPU 檢測db 66h pushf db 66h pop ax db 66h mov cx, ax db 66h xor ax, 0h dw 0004h db 66h push ax db 66h popf db 66h pushf db 66h pop ax db 66h xor ax, cx mov ax, cpu386 je @@End_CpuType // 486 CPU 檢測db 66h pushf db 66h pop ax db 66h mov cx, ax db 66h xor ax, 0h dw 0020h db 66h push ax db 66h popf db 66h pushf db 66h pop ax db 66h xor ax, cx mov ax, cpu486 je @@End_CpuType // Pentium CPU 檢測db 66h mov ax, 1 dw 0 db 66h db 0Fh db 0a2h db 66h and ax, 0F00H dw 0 db 66h shr ax, 8 sub ax, 1 @@End_CpuType: pop ds End; Function CpuTypeString : String; Var Kind : TCpuType; Begin Kind := CpuType; Case Kind Of cpu8086 : Result := '8086'; cpu286 : Result := '286'; cpu386 : Result := '386'; cpu486 : Result := '486'; cpuPentium : Result := 'Pentium'; Else Result := Format ('P%d', [Ord (kind)]); End; End; End.
?
總結
以上是生活随笔為你收集整理的获取CPU序列号的Delphi程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试——如何测试一支笔?
- 下一篇: PgRouting求解大数据量最短路径