Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Google   


Softpanorama Bookshelf:
Best Assembler Books

 

News

Reviews

See also

Open

Introductory

Advanced

Reengineering

Algorithms

 Compiler Construction

 Classic Computer Science Books  

C books

 OS Concepts

Software Engineering

Software Testing

John Socha Tools Debugging Risc CPUs Hardware Humor Etc

Congratulations!  If you get to this page you definitely have changes to become a good programmer.

Any decent programmer should know assembler language. It is much more fundamental that all those fancy OO, patterns and other fashionable staff. Moreover the greatest programmer book in the world used assembler. I am talking here about the most influential computer science book ever written -- The Art of Computer Programming by the computer science legend Professor Donald Knuth. This is actually the book to have for any assembler programmer, although it does not cover Intel assembler. Highly recommended. Algorithms are the most important part of programming !  And if OO suckers think otherwise, let them bask in this sea of ignorance ;-)

The first textbook can be John Socha's famous Peter Norton's Assembly Language Book for the IBM PC.  In 1985-1990 those John Socha led the guys, who (along with Borland) wrote the best DOS programs in existence including Norton Commander, Norton Utilities and Norton Guide (it look like Peter Norton was just a photo model and talented manger of the company before it was bought (and destroyed) by Symantec ;-)

cover

by Randall Hyde

Please support this talented author

The other good textbook is The Art of Assembly Language  by Randall Hyde. This is a more recent book published in  September 2003.

In addition to a good textbook you need to have a good editor and debugger to work with the assembler. Some suggestions about the editor can be found here.  There is also a page devoted to debugging. Borland assembler and debugger are probably the best you can find, but Microsoft's are more popular and also good enough.  

The next in this line is Zen of Assembly Language Knowledge (Scott Foresman Assembly Language Programming Series)  and  Zen of Code Optimization both by Michael Abrash. Zen of Assembly Language is no longer in print, but you get a copy via Amazon. It well worth it, even though it focuses on the 8088.  The other his book, Zen of Code Optimization coined the famous programmer maxim  "Premature Optimization is the Root of All Evil''. This book is out of print, but it's included on the CD that comes with 'Michael Abrash's Graphics Programming Black Book'.

Note: Graphics Programming Black Book by Michael Abrash  became available free online in PDF format. See Graphics Programming Black Book

Here is the list of all Michael Abrash's books:

Michael Abrash's Graphics Programming Black Book, Special
by Michael Abrash. Paperback (July 1997). It's now available on the Internet. See Graphics Programming Black Book
Michael Abrash's Zen of graphics programming
by Michael Abrash.
Power Graphics Programming
by Michael Abrash.
Zen of Assembly Language : Knowledge (Scott Foresman Assembly Language Programming Series)
by Michael Abrash.
Zen of Code Optimization/Book and Disk
by Michael Abrash.
Zen of Graphics Programming : Master the Art of Creating Fast PC Games and Graphics Applications
by Michael Abrash.
Zen of Graphics Programming : The Ultimate Guide to Writing Fast PC Graphics
by Michael Abrash.

Dr. Nikolai Bezroukov


Search Amazon by keywords:

 You can use Honor System to make a contribution, supporting this site

Reviews

Kip R. Irvine Assembly Language for Intel-Based Computers (4th Edition)

Peter Norton and John Socha Peter Norton's Assembly Language Book for the IBM PC

Old News ;-)

Huraa !!! Graphics Programming Black Book by Michael Abrash  became available free online in PDF format. See Graphics Programming Black Book
 
**** The Art of Assembly Language
by Randall Hyde
 
**** Assembly Language Step-By-Step Programming With DOS and Linux by Jeff Duntemann (May, 2000)
 
PCI System Architecture, Fourth Edition (PC System Architecture Series) ~ Usually ships in 24 hours
Tom Shanley, et al / Paperback / Published 1999
Amazon price: $31.96

Pentium Pro and Pentium II System Architecture (PC System Architecture Series)
Tom Shanley, Inc. MindShare / Paperback / Published 199
Amazon price: $29.56
 
???? Introduction to Assembly Language Programming: From 8086 to Pentium Processors (Undergraduate Texts in Computer Science) ~ Usually ships in 24 hours
Sivarama P. Dandamudi, D. Gries,   F. B. Schneider / Hardcover / Published 1998
Amazon price: $69.95
 
**** [Jun 26, 1999] Assembly Language for Intel-Based Computers
Kip R. Irvine / Hardcover / Published 1999
Amazon Price: $70.00
WEB-site: Assembly Language for Intel-Based Computers
 
The enclosed CD-ROM contains a full working copy of the Microsoft Macro Assembler 6.11, all program examples from the book, a multi-window text editor for integrated assembling linking and debugging. The disk also contains a large link library that greatly simplifies I/O programming. All programs in the book may be assembled with either Microsoft MASM or Borland TASM.

**** Inner Loops : A Sourcebook for Fast 32-Bit Software Design
Rick Booth / Paperback / Published 1997
Amazon price: $31.96
Generally I agree with ECRB review (Inner Loops) that this is a great book... See also
ERCB DDJ Programmer's Bookshelf December 1997 --
Review by Robert Bernecky and Michael E. Fitzpatrick, December, 1997
 
***+ The Complete Guide to MMX Technology
David Bistry(Editor), et al / Paperback / Published 1997
Amazon price: $59.95

See Also


Open

**** Michael Abrash's Graphics Programming Black Book, Special -- Michael Abrash; Paperback. Full text is  available at Graphics Programming Black Book
 
A very good book about graphics  optimizations. Binary Space Partitioning (BSP) trees are explained. Generally this is a collection of the author's previous books on assembly language and graphics programming, as well as past columns for Dr. Dobb's magazine. This book is clearly targeted at game developers and serious assembly language programmers, not for the general reader.
 
But still it's better to buy a printed edition as the CD-ROM contains not only the entire text in PDF format(it's now available online), but also his another books: Zen of Assembly Language Knowledge (Scott Foresman Assembly Language Programming Series)  and  Zen of Code Optimization .

Zen of Assembly Language is especially good, even though it focuses on the 8088. 
 
The other book on CD, Zen of Code Optimization coined the famous programmer maxim  ``Premature Optimization is the Root of All Evil''.

 Developing Utilities in Assembly Language-Book and Disk (Popular Applications)  full e-text
Deborah L. Cooper
Amazon price: $14.35
Paperback - 184 pages Bk&Disk edition (November 1994)
Wordware Publishing; ISBN: 155622429X ; Dimensions (in inches): 0.74 x 8.98 x 6.00
Amazon.com Sales Rank: 110,307
Avg. Customer Review: 3 out of 5 stars
Number of Reviews: 1
Art Of Assembly Language  (available online)

Introductory Books

See also: Softpanorama assembly page

***** [Socha1992] Peter Norton's Assembly Language Book for the IBM PC
Brady, December 1, 1992, 3rd/bk&dsk edition, cover price $39.95

This is a great introductory book. Probably still unmatched.

It teaches assembly language in a simple a versatile way starting with the now forgotten debug program. That's really helps because debug can act as interpreter for simple assembly programs.  I would suggest replacing it with the free full-screen debugger AFD.EXE  but still this is the best way to learn assembler.  I recommend to run it from a DOS OFM you like (for example VC - Volkov commander) and use hview as a viewer.  See Softpanorama archive  for more details of this semi-forgotten world of DOS programming. It contains a lot of information and programs for fifteen year period from 1989 till 2004.

Highly recommended...

5 out of 5 stars Great book/ Great authors/ A must-read, April 14, 1999

  Reviewer: An Amazon.com Customer

I've read this book, and I really liked it. It is great. It teaches assembly language in a simple a versatile way. If you want lo learn Assembly language, this is a MUST-READ. --This text refers to an out of print or unavailable edition of this title.  

5 out of 5 stars A must book on assembly concepts and tutorials, December 18, 1997

  Reviewer: antunes@convex.com.br from Braganca Paulista - SP - BRASIL

Norton and Socha's authority makes this book a must to every "beginner" assembly programmer. This book presents basic items such as binary numbers, registers & basic arithmetic inside the 8086 family processors into part 1. The contents of the book becomes closely related with DSKPATCH - a real program written in assembly - so the reader has a UNIQUE opportunity to see how real programmers (and here Norton is a PC guru) use step-wise refinements techniques and modular projects in a real world. The 2nd edition is based in MASM 5/5.1, Borland TASM and OPTASM features. Maybe we must wait for MASM 6.1 update... then it'll become a rating 10...

4 out of 5 stars My first Assembly book, November 7, 1997

  Reviewer: An Amazon.com Customer

This book has the great advantage of presenting such a difficult subject just like a personal teacher would do. It's written in a clear way and explains some important concepts about the 8086 processor.My advice is: if you want to learn assembler here's a good book to start with (even if it seems a little dated!)

** [Aug 22, 2003] [Book] Assembly Language for Intel-Based Computers (4th Edition)

by Kip R. Irvine

A bad, overcomplicated and dull college textbook used in many colleges for the assembler class. Pretty boring and uninspired coverage typical of many college textbooks.  It might be suitable as a reference but never as a textbook: the author has no abilities at all in distinguishing between important and unimportant material as well as material suitable and unsuitable for the intro course.

For self-education I would recommend using old John Socha's book Assembly Language for the PC instead (it covers only real mode but this is OK for the introduction) or Assembly Language Step-By-Step Programming With DOS and Linux (or prev edition of the same book, which is cheaper but has almost the same content)

The only good thing about this book is that the CD ROM included with the book contains MASM 6.15. 

The most bad thing about the book is that the author fails to distinguish between really important and redundant information and overload the book with an extra material. His approach is to add some predefined routines to assembler to make it more like a high level language. But at the same time he converts the language into a variant of  C++: obscure mass of unnecessary details that overwhelm almost all novices. Without help of the debugger assembler is almost incomprehensible. IMHO for most students, especially for community college student for whom the book was originally written might passionately hate of assembler for the rest of their lives.

So it does not surprise me that out of  17 chapters the author did found space to cover the debugger. He is too preoccupied with obscuring things that with making them simple. Actually CodeView in included on the disk and can be used for debugging the programs in 8086 mode: again I would like to stress that using the debugger is the only right way to learn assembler. Thus this is not a shortcoming, this is a real blunder and that's why I give then book only two stars: in my opinion this makes book really harmful book as it discredits the idea of assembler as an important language for any computer science student.

If you want to compensate for this shortcoming it might be not easy as additional subroutines make finding the actual code not that easy. But you can use some tricks marking the start of the code with a special sequence of commands and then finding them. There are several debuggers for 32-bit mode as well. As author himself noted on the CD ROM:

For 32-bit Protected mode programming, two excellent debuggers you can use are:

Microsoft Visual C++ Debugger - This is an integral part of Microsoft Visual Studio. Look for a tutorial on our book's Web page that shows how to set up and use this debugger.

Microsoft WinDbg Debugger - This is a stand-alone debugging utility that can be used to debug both user-mode programs and kernel-mode programs (such as device drivers). At the current time, this debugger can be downloaded for free from Microsoft's Debugging Tools for Windows web page. If this link becomes inactive, check our book's Web site for an updated URL.

There is a website at http://www.nuvisionmiami.com/books/asm/  The first three chapters are available online:

****+ Assembly Language Step-By-Step Programming With DOS and Linux
by Jeff Duntemann
Amazon Price: $39.99
Paperback - 612 pages 2nd Bk&cdr edition (May 2000)
John Wiley & Sons; ISBN: 0471375233 ; Dimensions (in inches): 1.49 x 9.21 x 7.42
Amazon.com Sales Rank: 1,064
Avg. Customer Review: 4.5 out of 5 stars
Number of Reviews: 3

I would say that running DOS in a virtual machine environment is a great way to learn assembler and Linux provides this opportunity. This book designed to teach someone to program in assembly as their FIRST computer language. The author comes up with some very creative ways to teach assembly and the concepts behind programming in general. One of the most powerful teaching aids (in my opinion) are metaphors. If I can take a complex subject and relate it somehow to something familiar to my students they can internalize the concept easier. The author takes the same approach throughout this book.

The book takes the process of teaching assembly at a very slow pace and layers each new concept on top of the previous concepts. If you are pretty experienced and been doing this sort of thing for awhile then this may frustrate you reading about bytes, words, RAM and other common terms, however, remember this is designed to take a non-programmer from nothing to programming in assembly language. In fact, you do not even begin meeting machine instructions (on a formal basis) until chapter seven and do not meet your first real life assembly program until chapter 8. That is the beauty of the book. The author does not assume anything, he leads you step-by-step (as promised in the title) through everything.
 

5 out of 5 stars An EXCELLENT book for newcomers and as a reference, June 8, 1998
Reviewer: aaron wittenberg (see more about me) from portland, or

Out of the 5 assembly books I own (beginner to advanced), this is one of the better ones. Duntemann's book is EXCELLENT. I read over my copy of Mastering Turbo Assembler and still I wasn't getting it. I read over Using Assembly Language and had the same problem. Too many authors just mention things and leave it at that figuring you already know what they are talking about. This book is not like that. He starts out at the foundation of the computer, at the CPU.

He doesn't jump into programming, but rather, explains how computers work, about hex, decimal, how the processor works with code, and so on. It is actually interesting because that's exactly what assembly language is, right down to the metal. Then he takes it one command at a time and explains it very well.

His examples are clear and he explains how all of it works. I was having trouble with a couple commands and couldn't find help in several other books. After I read Jeff's book, all those commands made perfect sense. He doesn't teach EVERY assembly language function, but he gives you an EXCELLENT foundation, one that is mandatory to learn assembly.

In other books I've owned the authors put stories in there they try to make fit with the lessons, but they never make sense. At the beginning of some chapters, he does the same. His story makes sense, but once you read the following part on assembly, you can put the two together and understand just how things work.

A perfect example is how the stack operates. If you are a complete beginner to assembly, someone who hasn't used it in a while, or need a general reference, I couldn't recommend any book more than this. Jeff is truly an excellent teacher.

Keep in mind this book covers the 8086/8088 (and briefly the 286-486), so if you plan to move on, you MUST have base knowledge. You can't program the 486 (or such) without knowing the 8086/8088. So don't take that like "oh no, I'll only learn the old stale PC." You have to learn to walk before you can run. Overall, I would recommend this book! to ANYBODY wanting to learn assembly language. It lives up to its name.

 

5 out of 5 stars I recommend highly for any Assembly beginner, June 10, 2000
Reviewer: Robert Chatham (see more about me) from Memphis, TN

Like everyone else I've ever met who's looked into learning assembly, I had a little trouble comprehending how everything fit together. I'd heard wonderful things about Duntemann's last edition of Assembly Language: Step by Step, so I decided to purchase the updated linux version. Duntemann's 600+ page book slowly guides the beginner into an understanding of Assembly. Don't be confused by the book's size - this book will NOT make an expert - perhaps not even an intermediate programmer. Instead, this book teachers the basics of assembly and provides a decent background into the workings of computer memory, the cpu, and other concepts that EVERY programmer should know. This book can't be given a higher recommendation for anyone looking to start in assembly - Duntemann has a way of explaining (and re-explaining) through metaphors that enhance comprehension. Anyone who already has a background in this material will be amazed by the extreme explanations ("a whole CHAPTER on hex and binary! "), but it's really the perfect way to pound the knowledge in. By the end of the book, the reader will know so much more about assembly - and how/why it works. Just don't expect to be a highly skilled professional.

***** Mastering Turbo Assembler/Book and Disk
Tom Swan
Amazon price: $36.00
Paperback - 944 pages 2 edition (April 1995)
Sams Publishing; ISBN: 0672305267 ; Dimensions (in inches): 2.09 x 9.13 x 7.41
Amazon.com Sales Rank: 24,849
Avg. Customer Review: 4.5 out of 5 stars

This is one of the best introductory books on Intel assembler I ever read.  It nicely complements Assembly Language Step-By-Step Programming With DOS and Linux. It proves that it really pays  to use Borland tools when studying assembler.  Very nice coding style.
 
5 out of 5 stars Excellent book !, March 6, 2000
Reviewer: Clark from The Netherlands

"Mastering Turbo Assembler" is a great book! It teaches you to write stand-alone assembly programs in DOS AND Windows. The book is full of examples which are explained in detail. All the code is written in TASM's IDEAL mode, which is better than MASM mode. Tom Swan really stimulates you to write your own programs and that is the key to become a good programmer. So read the book and with the information it provides you must try to make your own programs in order to check if you really understand it.

But I must make clear that this book ONLY teaches you to WRITE programs in assembly. If you need basic information about the architecture of the 8086/8088 family (how memory and processor works etc.) this is not a good book to begin with. If you want to learn assembly from scratch (as I did) I recommend the book Jeff Duntemann wrote; "Assembly Language: Step by step". With this book and "Mastering Turbo Assembler" you have all the information you need to start programming in assembly.

5 out of 5 stars A very good way to learn assembler..., May 13, 1997
Reviewer: A reader

I really enjoyed reading this book. Tom Swan's writing style is clear and concise. If I could only have one book on assembler this would be it. The code is written using Ideal Mode but is easily adapted to Masm.

I highly recommend Swan's coding style! I rated this book with a 9 because the book does NOT cover extended (32-bit) registers, nor the numeric processor, which you will need for any serious programming.

Get this book and Morneau's "PC Assembly Launguage" for complete coverage.

5 out of 5 stars Excellent Teaching Book for Assembly Language, November 12, 1998
Reviewer: Don Coppedge (dcoppedg@phoenix.net) from Houston,Texas USA

Tom Swan has created another excellent tutorial book. I spent a year of lunch time reading on this one. Excellent progression of ideas. In the end I went from being a complete novice of assembly language to writing standalone assembler for Windows applications - and being comfortable with it! Excellent tutorial on the more advanced uses of the Borland Debugger CPU view.

4 out of 5 stars Lucid writing, but weak coverage of 1994 CPUs., June 5, 1998
Reviewer: A reader from Columbus, Ohio
Nice coverage of software topic. OOP, interfacing to C, etc. However, assembly language is inherently hardware specific. Swan's (C)'95 book doesn't do much with '386,'486, nor Pentium CPUs which were out circa '93. Selector registers, the tag register used to toggle 16/32-bit MODES & hence "flat thunking" slighted. If you use DOS, this book seems excellent. If you use WinDOS 95, MasterClass Asm.Lang. also '95 from Wrox may be better.

5 out of 5 stars The best referance and TASM coverage!, May 11, 1998
Reviewer: eastbone@geocities.com from Chicago

This book has the best instruction coverage, every 8086 insctruction is fully covered. It also covers the TASM assembler from Borland. Every directive is fully described. So if you are planning on doing your Assembly programming with TASM, this is the best Assembler there is. The book goes through pretty fast, I recommend you learn another language like C/C++ or Pascal. I would also recommend tobe familiar with Debug that comes with DOS. This book is not for complete beginners, sorry :( but it does a very good job if you are a little bit familiar with the Intel 8086 programming.

Assembly Language Programming (Prentice Hall Open Source Technology)

by Bob Neveln
Amazon price: $35.99
Paperback - 350 pages Bk&Cd Rom edition (July 20, 2000)
Prentice Hall Computer Books; ISBN: 0130879401 ; Dimensions (in inches): 0.79 x 9.23 x 7.02
Amazon.com Sales Rank: 11,312
Avg. Customer Rating: 4 out of 5 stars
Number of Reviews: 4
Short and expensive :-)
3 of 5 stars OK, but not really as good as it promised to be., November 4, 2000
Reviewer: ishikyo (see more about me) from Menlo Park, CA USA

GAS (the Gnu Compiler Assembler) with the AT&T format is what I use, so all the examples felt really short with their NASM syntax. Sorry I didn't bother switching to a different tool, already familiar with the one I use. I suspect that Linux is here in the title to attract wannabe gurus, because the in-depth treatment of the kernel is really light. I recommend Linux kernel internals and the Intel (free) Pentium manuals for a better coverage. If you are novice, then this book may be a way to motivate you to go further in your device driver writer journey. The book doesn't have too many typos/errors and makes up for a pleasant reading.

***+ [June 26, 1999] Assembly Language for Intel-Based Computers
Kip R. Irvine / Hardcover / Published 1999
Amazon Price: $70.00
 
WEB-site: Assembly Language for Intel-Based Computers
        Examples from the book can be downloaded from the site File Downloads
Expensive and Microsoft oriented, but still the enclosed CD-ROM contains a full working copy of the Microsoft Macro Assembler 6.11, all program examples from the book, a multi-window text editor for integrated assembling linking and debugging. The disk also contains a large link library that might simplify I/O programming but obsure debugging. All programs in the book may be assembled with either Microsoft MASM or Borland TASM.

Windows Assembly Language & Systems Programming : 16- And 32-Bit Low-Level Programming for the PC and Windows

Barry Kauler
Amazon Price: $39.96
Paperback - 419 pages
R&D Books; ISBN: 087930474X ; Dimensions (in inches): 1.17 x 9.01 x 7.09
Amazon.com Sales Rank: 15,802

Avg. Customer Review: ***+
Number of Reviews: 7

The author, Barry Kauler , April 13, 1997
Link to further information about the book
I write Windows applications in 100% assembly language -- amazing but true! To find out how easy it is, have a look at the book. You can find an example program at my web site, plus a whole lot more information about the book: http://www.arrowweb.com/goofee/ The book introduces the PC and CPU architectures, assembly language, DOS-Win interface, Windows 3.x and 95, ring 0, VxDs -- goes through everything, so is an excellent TEXTBOOK. Even if you end up programming in Visual C++, having all this low-level knowledge under the belt is a solid foundation.

trg-@usa.net from The Netherlands , October 13, 1998 ****
Essential reading, but not perfect
Being one of the very few books on this topic, this book is essential for anyone who's interested. Although there is a chapter about the basics of assembly language, I think the reader must have some basic assembly skills before starting with this book. I personally knew DOS assembly and wanted to learn Windows assembly. This book formed a GREAT introduction.

The only drawbacks I find are:

- the comparison Win16 <-> Win32 is made, I'd rather see the comparison Win9x <-> Winnt;

- the author doesn't always explain what he promised to explain. E.g. A chapter about Ring0 Code is about an example of *getting* ring0 from ring3;

- the source code is messy, and doesn't always compile.

But still, it's a great book.

dave@powerbasic.com from Carmel, CA , July 28, 1998 **
Highly disappointing
His first edition on 16-bit was very well written and covered nearly every subject on writing Windows programming in assembler. His second edition is just a rehash of the first edition with a few 32-bit tidbits tossed in among code that will not compile in either TASM or MASM.

Granted, it's the only book available on this subject, so you might was well buy it, but clearly the author didn't spend much time on this edition.

***+ Revolutionary Guide to Assembly Language
Vitalii Maliugin (Editor), et al / Paperback / Published 1993

***+ Assembly Language Master Class (Wrox Press Master Class)
Igor Chebotko, et al / Paperback / Published 1995
Windows Assembly Language & Systems Programming : 16- And 32-Bit Low-Level
Programming for the PC and Windows , this book was written by a programmer that makes all of
your windows 95 programs in assembly, and teach the readers how to do this.
 
Embedded Systems Programming in C and Assembly/Book and Disk
John Forrest Brown / Paperback / Published 1994
 
IBM PC Assembly Language and Programming
Peter Abel / Hardcover / Published 1997
Amazon price: $64.00

Developing Utilities in Assembly Language/Book and Disk (Popular Applications)
Deborah L. Cooper / Paperback / Published 1994
Amazon price: $12.76 ~ You Save: $3.19 (20%)

Microsoft Macro Assembler 6.1 Programming/Book and Disk (The Len Dorfman Practical Programming Series)
Len Dorfman, Marc J. Neuberger / Paperback / Published 1993

Macro Magic With Turbo Assembler/Book and Disk
Jim Mischel, Jeff Duntemann (Editor) / Paperback / Published 1992

PC Architecture from Assembly Language to C
David Hergert, et al / Hardcover / Published 1997

John Socha

[Socha1985] Assembly Language Safari on the IBM PC First Explorations
by John Socha

  • Paperback
  • Publisher: Aperture; (February 1985)
  • ASIN: 0893033219
  • Average Customer Review: 5.0 out of 5 stars Based on 2 reviews.

5 out of 5 stars I'm Lost Without My Copy, March 23, 2001

  Reviewer: Mike Allison (see more about me) from SLC, UTAH USA

I LENT my copy of Socha's book a few years back. I've been trying ever since to find a copy. If you can find one -- new or used -- BUY IT.

This is without a doubt a classic book on computers and programming but, moreso, it is a model for how to write introductory guides. If they had followed this model long ago, we'd all be better off.

Forget "The Idiot's Guide to ..." Socha respects his readers but he still walks them carefully through what is an intimidating process of assembly language programming -- while having a bit of fun.

I will find a copy somewhere tonight on the web and buy it. I need it on my shelf...

-Mike Allison

5 out of 5 stars Classic PC Programming, October 8, 1999

  Reviewer: An Amazon.com Customer

This is the best book for learning x86 assembly language programming I've ever seen. All of the people that have borrowed (and been forced to return) my dog-eared copy loved it. It contains a full description of how to use the x86 processor and the MASM of the time.

Only somewhat out-dated 15 years later.

The later Peter Norton versions aren't as interesting having a much more serious tone.

The great benefit of this book is the fairly step-by-step method results in a great hands-on understanding of the concepts.

Peter Norton's Assembly Language Book for the IBM PC (Utility Software) Books Peter Norton,John Socha

  • Paperback: 413 pages
  • Publisher: Brady (August 1987)
  • Language: English
  • ISBN: 013662149X
  • Shipping Weight: 2.05 pounds
  • Average Customer Review: based on 3 reviews. (Write a review.)
 
[Socha1992] Peter Norton's Assembly Language Book for the IBM PC
 
Brady,  December 1, 1992, 3rd/bk&dsk edition, cover price $39.95
  • Paperback: 480 pages
  • Publisher: Brady; 3rd/Bk&Dsk edition (December 1992)
  • Language: English
  • ISBN: 1566860164

5 out of 5 stars Great book/ Great authors/ A must-read, April 14, 1999

Reviewer: An Amazon.com Customer

I've read this book, and I really liked it. It is great. It teaches assembly language in a simple a versatile way. If you want lo learn Assembly language, this is a MUST-READ. --This text refers to an out of print or unavailable edition of this title.  

5 out of 5 stars A must book on assembly concepts and tutorials, December 18, 1997

  Reviewer: antunes@convex.com.br from Braganca Paulista - SP - BRASIL

Norton and Socha's authority makes this book a must to every "beginner" assembly programmer. This book presents basic items such as binary numbers, registers & basic arithmetic inside the 8086 family processors into part 1. The contents of the book becomes closely related with DSKPATCH - a real program written in assembly - so the reader has a UNIQUE opportunity to see how real programmers (and here Norton is a PC guru) use step-wise refinements techniques and modular projects in a real world. The 2nd edition is based in MASM 5/5.1, Borland TASM and OPTASM features. Maybe we must wait for MASM 6.1 update... then it'll become a rating 10...

4 out of 5 stars My first Assembly book, November 7, 1997

  Reviewer: An Amazon.com Customer

This book has the great advantage of presenting such a difficult subject just like a personal teacher would do. It's written in a clear way and explains some important concepts about the 8086 processor.

My advice is: if you want to learn assembler here's a good book to start with (even if it seems a little dated!)


Advanced

Advanced assembler book are almost always connected with the optimization, the attempt to drive PC faster that common folks.  Like in driving this is nor for weak programmers.

***** TAOCP -- Volume 1 of The Art of Computer Programming by Donald Knuth is a bible of assembler programming and algorithm-bases optimization: a better algorithm can often speed program ten times or more.  There is no and probably there will never be another book of such depth. The MIX computer will probably be eventually replaced by a RISC machine called MMIX. Meanwhile you can to try out the existing programs for the original MIX using emulators:
 
 
**** Inner Loops : A Sourcebook for Fast 32-Bit Software Design ~ Usually ships in 24 hours
Rick Booth / Paperback / Published 1997
Amazon price: $31.96 ~ You Save: $7.99 (20%)
Generally I agree with ECRB review (Inner Loops) that this is a great book... See also
ERCB DDJ Programmer's Bookshelf December 1997 --
Review by Robert Bernecky and Michael E. Fitzpatrick, December, 1997
 
***+ The Complete Guide to MMX Technology
David Bistry(Editor), et al / Paperback / Published 1997
Amazon price: $59.95

**** Michael Abrash's Graphics Programming Black Book -- Michael Abrash; Paperback. Full text is  available at Graphics Programming Black Book
 
Very good book about graphics  optimizations. Binary Space Partitioning (BSP) trees are explained. Generally this is a collection of the author's previous books on assembly language and graphics programming, as well as past columns for Dr. Dobb's magazine. The CD-ROM contains the entire text in Adobe Acrobat 3.0 format, allowing fast searches for specific facts. This book is clearly targeted at game developers  and serious assembly language programmers, not for the general reader
 
Macro Magic with Turbo Assembler
 
by Jim Mischel (Author)
  • Paperback: 368 pages ; Dimensions (in inches): 0.87 x 9.24 x 7.52
  • Publisher: John Wiley & Sons; Book and Disk edition (October 1992)
  • ISBN: 0471578150
  • Average Customer Review: 5.0 out of 5 stars Based on 2 reviews. 
  • 5 out of 5 stars New to Programming ? - This book is a great at explaining..., March 23, 2001
     
      Reviewer: certified-precision (see more about me) from Olympia, WA USA

    I am new to programming in general and will start to learn Assembler next quarter, our instructor has told us that if we learn assembler well, (meaning to document correctly and make our code 'elegant') we will be in the highly sought after group of people they call Professionals. This is of course a great goal. But you know about the alligator/ swamp thing. I am now at this part of the learning curve - so overwhelmed by the sheer volume of things -to remember, that it is too easy to just get job done and make it work. Well, Jeff has taken a most unique approach to this problem - he has written a book for absolute beginners - and he does so with out making me fell like I just arrived on the planet. He assumes that you are knowledgeable about your PC and nothing more (how to turn it on, etc) He seems truly interested in making this and his future books to come - a book that we would want to have on our reference shelves for years to come. My highest recommendation for an author would be - if I cared - if he would write another book on this or a related subject. In this case, I am going to write him a letter to ask him to do so. It is, as if I had just read my first book by Clive Cussler and can't wait for the next book to come out.

  • 5 out of 5 stars A really magic reading for code optimization!, December 12, 1998
     
      Reviewer: A reader from Vienna, Austria

    This book is a must read for every serious developer. I was greatly pleased with the book except that it was a little thin. It is an excellent introduction for assembly language programming and the very effective use of macros. I highly recommend this book for programmers who are interested to write fast and tight code in a high efficient manner. This book needs to be owned by developers doing assembly language programming on a higher level.

  •  
    The 80386, 80486, and Pentium Processors : Hardware, Software, and Interfacing ~
    Walter A. Triebel / Hardcover / Published 1997
    Amazon price: $87.00

    Windows Assembly Language & Systems Programming : 16- And 32-Bit Low-Level
     
     
    Programming for the PC and Windows
    Barry Kauler / Paperback / Published 1997
     
    The Anatomy of a High-Performance Microprocessor : A Systems Perspective ~ Usually ships in 2-3 days Bruce D. Shriver, Bennett Smith / Hardcover / Published 1998
    Amazon price: $49.00


    Amazon.com Books Optimizing C With Assembly Code

    5 out of 5 stars Optimizing Assembly with C as an infrastructure, January 15, 2001
     

      Reviewer: Philip Cummins from Perth, WA Australia

    This is one of the very few books that can help a person improve their skill in assembly as well as many of the common optimization and pitfalls for speed. Since it's rather old, it handles only up to the 486 but is very useful nonetheless.

    Don't buy this book expecting to be handheld, it expects (and demands) an intelligent programmer who knows what they are doing to get good mileage. If you're a beginner, you're better off with another book - this is really for the competent C programmer who knows a bit of assembly and knows what to expect from the 80x86 architecture.

    If you're an assembly programmer who wants to cycle count and tweak those algorithms for extra cycles of speed, this is your book.

     


    Risc CPUs

    Sparc Architecture, Assembly Language Programming, and C ~ Usually ships in 24 hours
    Richard P. Paul / Paperback / Published 1994
    Amazon price: $71.00
    Alpha Risc Architecture for Programmers ~ Usually ships in 24 hours
    James S. Evans, et al / Hardcover / Published 1998
    Amazon price: $60.00

    Reengineering

    Undocumented Windows NT®
    by Prasad Dabak, Sandeep Phadke, Milind Borate

    Amazon price: $24.49
    Paperback - 335 pages Bk&Cd Rom edition (October 1999)
    Hungry Minds, Inc; ISBN: 0764545698 ; Dimensions (in inches): 1.06 x 9.00 x 7.05
    Amazon.com Sales Rank: 69,741
    Average Customer Rating: 3.7 out of 5 stars
     

    Inside Microsoft Windows 2000 (Microsoft Programming Series)
    by David A. Solomon, Mark Russinovich
    Amazon price: $34.99
    Hardcover 3rd Bk&cdr edition (September 2000)
    Microsoft Press; ISBN: 0735610215 ; Dimensions (in inches): 1.85 x 9.55 x 7.61

    Amazon.com Sales Rank: 3,240
    Popular in: France (#17) , Compaq Computer Corporation (#11) .
     Average Customer Rating: 4.8 out of 5 stars Based on 6 reviews.
    5 of 5 stars The Dream Team (David & Mark), April 19, 2001

    Reviewer: Terje Sшrgjerd (see more about me) from Oslo,Norway
    I got this book 6 days ago, and I've read chapter 1 - 7 so far, the way these two gods explain and show how the internal win 2000 system works is just impressive. If you have read Inside Windows NT 2nd edition by Daveid A Solomon, you know what you are up for, David teamed up with a crazy russian Mark Russinovich which has practically made Windows NT (2000) Magazine worth reading. ;)

    The only thing I'd love to see in the future is a little more coverage of the terminal services part of it. (2 pages isn't enough), and maybe a little more deep hands on experiments. All handson experiements seems to be pretty much "overview and simple". But you can't have it all, this nearly 1000 page book is like a design document for NT/2000. >=]

    But no doubt, if you develop NT tools or sysadmin NT network this book is a *MUST*! If you don't have it, HURRY UP AND BUY IT NOW!

    Also, remember to visit http://www.sysinternals.com for the best utils for NT. (And maybe the most stable ones. ;))

    Terje


    5 of 5 stars Practical Magic in Win32, April 18, 2001
    Reviewer: George Datuashvili (see more about me) from Cupertino, CA United States

    This is the book to take with you if you are expelled to deserted island with 1 laptop, solar power generator, win32 sdk/ddk, and 1 book of choice. It will make you think, wonder, appreciate and grok the best OS that Microsoft can offer. As Matt Pietrek said once, the magic of being debugger guru is the better understanding of OS. If there is any book to help you become one, this is it.

    What is very important also is that along the line Mark (and David) explain and teach the reverse engineering techniques to explore the surrounding world of unknown black-box software. The books if full of ideas, hints and tips on multiple ways how to peek under the hood and extract that piece of information you are looking for.

    It made me to fully understand and re-think the implications of thread scheduling, memory management, paging and synchronization on the complex code I was working with and resulted in great performance improvements.

    You will also get to see the elegance of design decisions and compromises made by engineers working on such a complex OS, and this enlightening experience alone justifies reading of the book even if you are not interested in Win32 in any way.

    It is incredible amount of knowledge and hard work compressed in a single volume.
     

    MFC Internals Inside the Microsoft Foundation Class Architecture

    by George Shepherd, Scott Wingo, Dean D. McCrory, Scot Wingo

    Amazon price: $34.96
    Paperback - 709 pages Book&Disk edition (May 1996)
    Addison-Wesley Pub Co; ISBN: 0201407213 ; Dimensions (in inches): 1.78 x 9.26 x 7.51
     
    5 of 5 stars A really different view on MFC, March 15, 2000
    Reviewer: ALVIN SANUSI (see more about me) from Indonesia
    This book is not another MFC book and not for beginner. it tells you how it work instead of how to use it. To benefit from it, readers should have some grasp on Windows, C++ and using MFC itself!. It covers how the windows message goes a long the way up to your class, CObject, Dialog, Doc/View Architecture, Threads, COM & OLE. The appendix is very helpful for those who want to explore further into the code of MFC. I recommend this book for those who really want to know why the MFC work the way it is.

    Copyright © 1996-2008 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

    Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

    Last modified: February 28, 2008