While the intel manuals are the best source, you can find an interesting project with some more relevant notes on x86 as it relates to win32 here:
http://www.asmcommunity.net/board/index.php?action=book
For example, you'll find mention of why test eax,eax shows up while cmp eax,1 is not used, and that most win32 api return 0 in eax when an error occurs.
Well, as others said Intel manuals are best and AFAIR you can order them for free (at least you could in the past).
Anyway grab this: http://www.arl.wustl.edu/~lockwood/class/cs306/books/artofasm/toc.html maybe you'll find it useful (ansewr for your question is in the Appendix D).