Softpanorama

May the source be with you, but remember the KISS principle ;-)
Contents Bulletin Scripting in shell and Perl Network troubleshooting History Humor

Best Assembler x86 Textbooks

News

Selected Computer Books

The Art of Computer Programming

John Socha

Reviews

Advanced

Reengineering

Classic Computer Books

Algorithms

  Compiler Construction

C books

 OS Concepts

Software Engineering

Software Testing

The History of Development of Norton Commander Tools Debugging Risc CPUs  Random Findings 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 ;-)

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

The Art of Assembly Language  by Randall Hyde

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

Michael Abrash's books:

Dr. Nikolai Bezroukov

My Reviews

See Also


Top Visited
Switchboard
Latest
Past week
Past month

NEWS CONTENTS

Old News ;-)

[Nov 1, 1994] Michael Abrash's Graphics Programming Black Book, Special by Michael Abrash

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

See also Softpanorama assembly page

[Dec 1, 2005] Peter Norton's Assembly Language Book for the IBM PC

December 1, 1992 | Brady

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] Assembly Language for Intel-Based Computers (4th Edition) by Kip R. Irvine

July 25, 2002 | Prentice Hall

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:

[May 16, 2003] Assembly Language Step-By-Step Programming With DOS and Linux by Jeff Duntemann

This is a very good book
May 2000 | John Wiley & Sons

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

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 by Tom Swan

This is classic MS DOS oriented book.

April 30 1995 | Sams Publishing

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

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.

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

April 13, 1997 | R&D Books

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 by Vitalii Maliugin

Has some historical value

Vitalii Maliugin (Editor), et al / Paperback / Published 1993

Assembly Language Master Class (Wrox Press Master Class) by Igor Chebotko

Very uneven. Not an introductory book for sure.

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

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

See also The History of Development of Norton Commander

[Feb 1, 1985] Assembly Language Safari on the IBM PC First Explorations by John Socha

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

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

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

An Amazon.com Customer
5 out of 5 stars Classic PC Programming, October 8, 1999

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

Ealier book with similar content -- [Socha1992] Peter Norton's Assembly Language Book for the IBM PC

Brady,  December 1, 1992, 3rd/bk&dsk edition, cover price $39.95


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

This 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.

You can to try out the existing programs for the original MIX using emulators:
 

Inner Loops : A Sourcebook for Fast 32-Bit Software Design by Rick Booth

Generally I agree with ECRB review (Inner Loops) that this is a great book...

Rick Booth / Paperback / Published 1997

Review by Robert Bernecky and Michael E. Fitzpatrick, December, 1997 can be found at ERCB DDJ Programmer's Bookshelf December 1997

The Complete Guide to MMX Technology

David Bistry(Editor), et al / Paperback / Published 1997

Michael Abrash's Graphics Programming Black Book by 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)

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.

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.

The 80386, 80486, and Pentium Processors : Hardware, Software, and Interfacing ~

Walter A. Triebel / Hardcover / Published 1997

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 by  Bruce D. Shriver, Bennett Smith / Hardcover / Published 1998
Amazon price: $49.00

PCI System Architecture, Fourth Edition (PC System Architecture Series) 

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
 


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

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

Inside Microsoft Windows 2000 (Microsoft Programming Series) by David A. Solomon, Mark Russinovich

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.



Etc

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes.   If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. 

ABUSE: IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days. Multiple types of probes increase this period.  

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least


Copyright © 1996-2016 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. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) 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: November, 09, 2015