How to get CPU Serial Number

How to get CPU Serial Number

I'm looking for a pointer toarticle/document that explains how I can read the CPU serial number. I'm interested in Assembler code.

Can somebody help me ?

Thanks in advance


6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Searching the internet I found this document:

it's very interesting.

Now I have a second question: what level of MASM is needed to use CPUID ?

Thanks again for your support.


Greetings from Intel Software Network Support.

Yes, Application Note 485, Intel Processor Identification and the CPUID Instruction, is also available directly from the Intel web site:

We also recommend the CPUID section of the IA-32 Intel Architecture Software Developers Manuals, vol. 2, Instruction Set Reference:

To learn how to use the CPUID instruction to read the Processor Serial Number whenthere is a serial number present, see AP-909, Intel Processor Serial Number:

Looking here*, it appears that versions of MASM* dating back to 1995 have been capable of dealing with the CPUID instruction. However, keep in mind that only the Pentium III Xeon, Mobile Pentium III and Pentium III processors support the processor serial number feature introduced by the Pentium III processor. No other Intel processor supports the processor serial number feature:

It looks like the Microsoft Macro Assembler (MASM) version 6.14 patchwas the one being made available for compatibility with the Intel Pentium III processor at the time.

For additional Processor Serial Number (PSN) information from,please see:

You might also be interested in this Gamasutra* articlewritten about coding forthe Pentium III processor when it first came out.


Lexi S.
Intel Software Network Support
Contact us

Message Edited by on 11-15-2005 08:57 PM

First of all thanks a lot for your support. I got all these valuable documents for my analysis.

Now I have the last question about the assembler.

Why, when I look for assembly, I see that a lot of people use MASM dated 1993, 1994 1995 ??? all very old version of assembler. May be because not much people use assembler or because many of them prefer to use a mix of C/C++ and "inline" assembler or other ?

Then, the final question is: what is, today, the "state of art" assembler compiler for Intel CPU from Intel or other sw vendor ?

thanks again,


In this page I got a software , After I install the software it automatically show the all detail of cpu.

Like Cpu model number and CPU serial number FpO number Like that

Hello Mario.

There are many stand-alone assemblers around. I prefer to use 'MASM', currently called 'ML' , the one issued by Microsoft, because it allows me to debug ASM-routines within C programs as well as inline-asm parts. (I code using  Visual C).

ML.EXE closely follows the conventions and mnemonics as in Intel's documentations. 

This compiler is distributed as an integral part of the VC package, usually called 'ML.EXE' or 'ML64.exe' for 64-bit version. You have one version to compile 64-bit instructions on a 32-bit system, and one for 64-bit code compiled on a 64-bit systems (I failed to find a difference). Search your own VC directory. In my VC, the 64-bit version on 64-bit system is in path 

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\x86_amd64\ml64.exe"

The Intel C compiler allows using 64-bit inline assembler.  My VC  C-compiler does not. So, I recommend using Intel compiler.  ML64.EXE works with both.

Have fun!


Leave a Comment

Please sign in to add a comment. Not a member? Join today