(1) Hummel, Robert L, Programmer's Technical Reference: The Processor and Coprocessor. Ziff-Davis Press, Emeryville, CA. 1992. Has an interesting chapter on bugs in the 80x86 chip family. A must for anyone using 80x86 assembly in their programs.
(2) Kernighan, Brian W., and Dennis M. Ritchie.The C Programming Language. Prentice Hall, Englewood Cliffs, NJ. Second Ed. 1988. The bible for C programmers. It is written by the original designers of C and it should be a part of every C programmer's library.
(3) Petzold, Charles. Programming Windows. Microsoft Press, Redmond, WA. Second Ed. 1990. A good introduction to Windows programming. If you program in Windows, you need this book.
(4) Pietrek, Matt. Windows Internals. The Implementation of the Windows Operating Environment. Addison-Wesley, Reading, MA. 1993. A great book on the internals of Windows, giving insight into how Windows works.
(5) Schulman, Andrew, David Maxey, and Matt Pietrek. Undocumented Windows. A Programmer's Guide to Reserved Microsoft Windows API Functions. Addison-Wesley, Reading, MA. 1992. A great book on the undocumented internals of Windows, but it is not for the beginner or fainthearted.
(6) Shaw, Richard Hale. "Based Pointers: Combining Far Pointer Addressability and the Small Size of Near Pointers," Microsoft Systems Journal, September 1990, p. 51. A useful article on the use of based pointers.
(7) Stroustrup, Bjarne, and Margaret A. Ellis. The Annotated C++ Reference Manual. Addison-Wesley, Reading, MA. 1990. Known as the ARM, this book is the ANSI base document for C++. A book for the serious C/C++ programmer, it is filled with insightful commentary sections.
(8) Stroustrup, Bjarne. The Design and Evolution of C++.
This book was previously published by Pearson Education, Inc.,
formerly known as Prentice Hall. ISBN: 0-13-183898-9