The other day I came across a site by the name http://securityxploded.com/enumheaps.php. On this site the author was able to understand and analyze the Windows assembly code generated. Which book can I follow to grab the knowledge of understanding Windows assembly code?
There are lots of books available to learn x86 assembly. A good, but perhaps a tad outdated one is called Art of Assembly Language and is available free online.
Of course as others have pointed out, assembly language is specific to the processor rather than the operating system, but you clearly intend to learn x86 assembly.
Windows is going to be running on an Intel processor, so it's going to be x86 assembly language. As someone who has written for several processors at assembly level I'd have to suggest that you'd need a really good reason to need to do so in today's world.
If you are merely interested then I'd just surf the web for x86 assembly language information and pick up what you can. If you have a definite need to learn x86 assembly for work or a project then I'd probably start with the Intel Programmers References
A great introduction to x86 assembly language that is still relevant is the two part series by Matt Pietrek in the old Microsoft Systems Journal magazine:
Iczelion's tutorials are a good place to start, even if a bit old now:
http://win32assembly.online.fr/
You may also want to have a look at the following:
http://en.wikibooks.org/wiki/X86_Assembly
Also, as pointed out by Lazarus, Intel's documentation is very useful.
If you want to get a feel for it, it may be easier to start by playing with ASM blocks in a higher level language, - one used to be able to do that in e.g. MS C++. Also the built-in assembler (BASM) of Codegear's Delphi if pretty powerful (Delphi 2009 supports up to SSE4.2 instruction sets). This frees you from having to write complete programs in assembly (that is, e.g. MASM, - ML.exe [or ML64.exe] - nowadays available with Microsoft's driver development kit)