'获取  CpuID 
'下面的表是输入值与返回值的关系:
'输入值 返回值
'-----------------------------------------------------------------
'0x0   EAX  CPU基本参数的输入值
'      EBX "Genu"
'      ECX "Intel"
'      EDX "inel"
'------------------------------------------------------------------
'0x1   EAX  CPU的级别,型号及步进
'      EBX 信息很多, 下面介绍
'第 0 -  7位: CPU字串索引 (Brand Index)
'第 8 - 15位: CLFLUSH线大小(CLFLUSH line size) (返回值*8 = cache line size)
'第16 - 23位: 保留
'第24 - 31位: 处理器APIC物理标号 (Processor local APIC physical ID)'
'      ECX 保留
'      EDX  特征信息(Feature Information)
'位  标号    解释
'0  FPU  Floating Point Unit On-Chip. CPU是否内置浮点计算单元
'1  VME  Virtual 8086 Mode Enhancements. 是否支持虚拟8086模式
'2  DE  Debugging Extensions. 是否支持调试功能.
'3  PSE  Page Size Extension. 是否支持大于4MB的分页.
'4  TSC  Time Stamp Counter. 是否支持RDTSC指令.(注:RDTSC指令可以计算出CPU的频率)
'5  MSR  Module Specific Registers RDMSR and WRMSR Instructions. 是否支持RDMSR与WRMSR (*注1)
'6  PAE  Physical Address Extension. 是否支持大于32bit的物理地址.
'7  MCE  Machine Check Exception. (*注2)
'8  CX8  CMPXCHG8B Instruction. 是否支持8bytes(64bit)数的比较与交换指令.
'9  APIC  APIC On-Chip.是否支持APIC(Advanced Programmable Interrupt Controller)
'10  保留
'11  SEP  SYSENTER and SYSEXIT Instructions.是否支持SYSENTER与SYSEXIT指令.(*注3)
'12  MTRR  Memory Type Range Registers. 是否支持MTTR(*注4)
'13  PGE  PTE Global Bit. 是否支持全局页面目录入口标志位 (global bit in page directory entries)
'14  MCA  Machine Check Architecture. 是否支持MCA,MCA是Pentium4,Xeon,P6级处理器的一个错误报告机制
'15  CMOV  Conditional Move Instructions. CMOV指令是否可用.(请问谁可以解释一下CMOV是什么命令?)
'16  PAT  Page Attribute Table. 是否支持PAT,PAT允许操作系统指定4K大小的线性内存空间
'17  PSE-36  32-bit Page Size Extension. 是否支持4GB的扩展内存
'18  PSN  Processor Serial Number. 是否支持处理器序列号.(P3有效)
'19  CLFSH  CLFLUSH Instruction.是否支持CLFLUSH.(*注5)
'20  保留
'21  DS  Debug Store. 是否支持把调试信息写入缓存,
'22  ACPI  ACPI Processor Performance Modulation Registers. 处理器使用特别的寄存器以允许软件控制处理器的运行周期.
'23   MMX  Inter MMX Technology.是否支持MMX
'24  FXSR  FXSAVE and FXRSTOR Instructions. FXSAVE与FXRSTOR指令是否可用(*注6)
'25  SSE  SSE.是否支持SSE.
'26  SSE2  是否支持SSE2.
'27  SS  Self Snoop. 处理器是否支持总线监视,以防止储存器冲突.
'28  保留
'29  TM  Thermal Monitor.CPU是否支持温度控制.
'30 & 31  保留
'------------------------------------------------------------------
'0x2   EAX到EDX返回的都是缓存和TLB的信息
'------------------------------------------------------------------
'0x3   EAX  保留
'      EBX 保留
'      ECX  CPU序列号(0 - 31bit) (只是在Pentium 3中才有效)
'      EDX  CPU序列号(32 - 63bit) (只是在Pentium 3 中才有效)
Sub CpuID(ByVal a as uLong, b() as uLong)
   Dim as Long a1,a2,a3,a4
   asm
      mov eax, [a]
      CpuID
      mov [a1], eax
      mov [a2], ebx
      mov [a3], ecx
      mov [a4], edx
   End asm
   b(0) = a1
   b(1) = a2
   b(2) = a3
   b(3) = a4
End Sub