Books are an indispensable source of information and here I provide a
list of some of the book stores which are accessible on-line. The first section lists some useful
general stores and the second those which specialises in computer books. A final section
lists many of the more useful books on the assembly language.
Over the years many textbooks have been published on assembly programming, it is perhaps
appropriate to say that there is no one recommended book. Many of the books are useful,
but they all cover the various topics in greater or less extent and the choice is obviously
dictated by the level of expertise of the reader. I now have a reasonably comprehensive
collection of programming books and now find it difficult to buy a new book on assembly
which has very much in the way of new material -
not that there are many new books published in this field anyway. However here
is a list of books with comments on the merits of some of them. They are not
given in any order of merit.
- Assembler Language Inside & Outside, Harley Hahn, McGraw-Hill, 1992, ISBN 0-07-881842-7
This is given away with each copy of Microsoft's MASM assembler. A useful introduction.
- Using Assembly Language, Allen Wyatt, Que, 1992, ISBN 0-88022-884-9
A good introduction to the language.
- Advanced Assembly Language, Allen Wyatt, Que, 1992, ISBN 1-56529-037-2
A follow up from the previous book with more advanced topics. Good.
- Advanced MS DOS Programming, Ray Duncan, Microsoft Press, 1986, ISBN 0-914845-77-2
An early book, but still worth referring to.
- Inner Loops - A Sourcebook for Fast 32 bit Software Development, Rick Booth, Addison Wesley, 1996, ISBN 0-201-47960-5
Provides useful information on optimising Win32 applications using assembly.
- The MS-DOS Encyclopedia, Ray Duncan, Microsoft, 1988, ISBN 1-55615-174-8
An expensive book, which does not impart much in the way of useful information. There is however a useful chapter
on the writing of TSR's.
- Microsoft Mouse Programmer's Reference, Microsoft, 1991, ISBN 1-55615-336-8
The standard work on mouse programming.
- Programmer's Guide to the EGA and VGA Cards, Richard Ferraro, Addison-Wesley, 1990, ISBN 0-201-57025-4
The standard work on the programming of the various graphics cards.
- Programmer's Guide to PC & PS/2 Video Systems, Richard Wilton, Microsoft, 1987, ISBN 1-55615-103-9
A useful book with useful coverage of graphics programming.
- The Undocumented PC, Frank Van Gilluwe, Addison Wesley, 1993, ISBN 0-201-62277-7
A very good book with coverage of undocumented features and good coverage of SVGA programming.
- The Personal Computer from the Inside Out, Murray Sargent & Richard Shoemaker, Addison Wesley,
1995, ISBN 0-201-62646-2 Extensive coverage of low level programming of PC hardware; it also covers interfacing
to relays, motor controllers etc.
- Numerical Programming the 387,486 & Pentium, Sanchez & Canton, McGraw Hill, ISBN 0-07-911832-1
An excellent book on programming the math coprocessor.
- Computer Animation Programming Methods and Techniques, Sanchez & Canton, McGraw Hill, 1995,
Useful coverage of animation programming using assembly.
- The Programmer's Technical Reference, Dave Williams, Sigma, 1990, ISBN 1-850858-199-1
An essential book if you want to know the syntax for interrupt programming.
- PC Interrupts, Ralph Brown and Jim Kyle, Addison-Wesley, 1994, ISBN 0-201-62485-0
A very comprehensive book on interrupts.
- The Complete Guide to MMX Technology, Intel, McGraw Hill, 1997, ISBN 0-07-006192-0
Covers the new MMX instruction set, with programming examples.
- The Zen of Code Optimization, Michael Abrash, Coriolis Group Books, 1994, ISBN 1-883-57703-9
A useful book if you want to squeeze the last ounce of speed out of your program.
- The Zen of Graphics Programming, Michael Abrash, Coriolis Group Books, 1994,
Techniques for graphics programming using assembly. Also includes animation and 2D and 3D game creation.
- Graphics Programming Black Book. Special Edition, Michael Abrash, Coriolis Group Books, ISBN 1-57610-174-6
A large book with some duplication of material from the above two Zen books.
- Revolutionary Guide to Bitmapped Graphics, Wrox, ISBN 1-874416-31-1
In "C" and assembly. Covers image processing, format translation, animation, fractals, 3D images etc.
- Writing Windows Virtual Device Drivers, David Thielen & Bryan Woodruff, Addison-Wesley,
1994, ISBN 0-201-62706-X
How to write VXD drivers using assembly, plus a little "C"
- Mixed-Language Programming Guide, Microsoft Press, 1987, Document Number 410840031-500-R00-0887,
PartNo 016-014-049, An old publication which has useful information on the
interfacing of high level languages to assembly.
- Windows Assembly Language and Systems Programming, 2nd Edition, Barry Kauler, R and D Books, ISBN 0-87930-474-X
A book covering Windows programming for assembly programmers, but not one I recommend.
In this section I catalogue some non-assembly books which I have referred to or own. The books by Petzold and Richter,
being particularly useful for Win32 programming.
- Building a Better Mouse Trap, McGraw-Hill, Jeffrey Donovan, ISBN 0-07-881930-X
Whilst this is written in "C" it is still worth referring to for techniques on interrupt handling etc
and the use of sprites.
- Programming Windows, Charles Petzold, Microsoft Press, ISBN 1-57231-995-X
The definitive book for Windows programming. This is written in "C", but is still worth having for the depth
of coverage which it contains.
- Advanced Windows, Jerrrey Richter, Microsoft Press, ISBN 1-57231-548-2
An execelent book on advanced Win32 programming, using "C". It carries on where
Pertzold leaves off !
- Windows 95 Programming in "C" and "C++", Herbert Schildt, McGraw Hill, ISBN 0-07-882174-6
Has useful examples of Win32 programming which can with a little effort be translated into assembly.
- Windows 98 Programming, Murray and Pappas, Prentice Hall, ISBN 0-13-012202-5
Written in C++ but has good coverage of many aspects of Win32 programming.
- The Complete Reference - Borland C++ , Herbert Schildt, McGraw Hill, ISBN 0-07-882230-0
A useful reference book on "C++".
- Super VGA Graphics. Programming Secrets, Steve Rimmer, McGraw Hill, ISBN 0-8306-4427-X
Mainly for "C" programmers, but does have some useful assembly content.
- Computer Graphics Handbook: Geometry and Mathematics, ISBN 0-8311-1002-3
Supposed to be a recommended book, but not seen.
- Windows 2000 Graphics API Black Book, Damon Chandler & Michael Fotsch, ISBN 1-57610-876-7
This is an excelent book which covers the graphics API'a which are not mentioned in
Having described the above books, which I hope you will find useful, I should mention that I too aspired to be an author and have in fact written a
book on graphics programming using assembly, which covers all the essentials of graphics programming and
also introduces a lot interesting topics not previously covered in other books. However
when I approached the various publishers and literary agents, I was informed that such
books do not sell well, now that the emphasis had switched to Windows programming and the current fashion
for visual programming. I maintain however that there are still many assembly lovers who
want to program "down to the metal" and I have therefore formatted my book into
the HTML standard so that it can be viewed using browsers such as Netscape, Internet Explorer or
Opera. Using compression it was possible to put the entire book onto a floppy disk, together
with all source, the executable programs and the image files, thereby creating an "electronic
book" (you do however need need to expanded it to the hard disk). This electronic
book is actually now available free to anyone who wishes a copy. More information on my book
"Graphics Programming using Assembly"
is provided in a synopsis .