Giter Site home page Giter Site logo

abrash-zen-of-asm's Introduction

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 www.jagregory.com/abrash-zen-of-asm.

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.

Contributing

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 black-book.mobi 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.

abrash-zen-of-asm's People

Contributors

dreamsmasher avatar jagregory avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

abrash-zen-of-asm's Issues

Remove smart quotes from markdown

The markdown files contain inconsistent use of standard and smart quotes. The source should always use standard quotes, and leave pandoc to convert to smart when appropriate.

Rename images

All the images have hashes in their name. To make it easier to identify them, they should be renamed to match their figure numbers.

Inline figures

There's a large section at the end of the book full of the larger figures. Either these should be inlined into the main book body, as jumping back and forth is awkward in an ebook, or the links should be updated to work.

Convert HTML sources to Markdown

  • Initial pandoc conversion
  • Cleanup Title
  • Cleanup Acknowledgements
  • Cleanup Publisher
  • Cleanup Source
  • Cleanup Trademarks
  • Cleanup Intro
  • Cleanup Contents
  • Cleanup Listing Index
  • Cleanup Appendix
  • Cleanup Index
  • Cleanup Chapters

Syntax highlight inline code

Pandoc can do syntax highlighting of inline code as well as large blocks. Do this where applicable.

`mov ab,ah`{.nasm}

Inline figure captions

The captions of the figure images contain quite a bit of text. This text would be more legible if it was in the markup rather than the images themselves.

Use PNG images

I have the images in JPG and PNG. The PNGs are larger but better quality. Switch to them.

Remove `code` from headings

Several of the headings have inline code in them. This can look odd, depending on styling. Decide whether this is a CSS issue or if we shouldn't use inline code in headings.

Simplify Appendix A

Appendix A has a lot of repetition, and the tables don't lend themselves well to reading on a ebook reader.

Some ellipses aren't followed by a space

In the markdown source ellipses are used inconsistently, sometimes followed by a space and other times not. Change the source to always be followed by a space.

Missing minus signs in appendix. NEG

In the description of the NEG instruction in Appendix A,
multiply by 1 should be multiply by -1.

Did you strip minus signs somehow? They may also be missing elsewhere.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.