Skip to content
Markdown source for Michael Abrash's Zen of Assembly Language (1990)
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
epub Start inlining the figure captions Feb 23, 2014
html Chapter 4 figure text inlined Feb 23, 2014
images Chapter 6 inline figure text Feb 23, 2014
src Chapter 6 inline figure text Feb 23, 2014
Makefile Remove numbering from filenames Feb 22, 2014 Add readme Feb 22, 2014

Zen of Assembly Language: Volume I, Knowledge

This is the source for an ebook version of Michael Abrash's Zen of Assembly Language: Volume I, Knowledge, originally published in 1990 and.

Reproduced with blessing of Michael Abrash, converted and maintained by James Gregory. Original conversion produced by Ron Welch.

The Github releases list has an Epub and Mobi version available for download, and you can find a mirror of the HTML version at

How does this differ from the previously released versions?

The book is now out of print, and hard to come by. The original publisher was bought out, and the particular line that this book belonged to was cancelled.

A version of this book was included on the CD of the Graphics Programming Black Book, and that was converted by Ron Welch to a PDF.

This version has been thoroughly cleaned of artifacts and condensed into something which can easily be converted into an ebook-friendly format. You can read this version online at Github, or download any of the Epub or Mobi releases. You can clone the repository and generate your own version with pandoc if necessary.


Changes are welcome, especially conversion-related ones. If you spot any problems while reading, please submit an issue and I'll correct it. Pull Requests are always welcome.

Some larger changes could be made to improve the content. I'd love to see some of the images converted to a vector representation so we can provide higher-resolution versions. Formulas and equations could be typeset with MathJax.

Generating your own ebook

You need to have the following software installed and on your PATH before you begin:

  • pandoc for Markdown to HTML and Epub conversion.
  • kindlegen for Epub to Mobi conversion.

To generate an e-reader friendly version of the book, you can use make with one of the following options:

  • html - build a HTML5 single-page version of the book
  • epub - build an Epub3 ebook
  • mobi - build a Kindle-friendly Mobi
  • all - do all of the above

Once complete, there'll be an out directory with a black-book.epub, a and a html directory with a black-book.html file.

Note: Generating a mobi requires an epub to already exist. Also, mobi generation can be slow because of compression. If you want a quick mobi conversion you can just run kindlegen out/black-book.epub.

You can’t perform that action at this time.