Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The Definitive Assembly Book Guide and List [closed]

Tags:

assembly

Following the two great questions about programming books: The Definitive C++ Book Guide and List and The Definitive C Book Guide and List I'd like to propose creating such list for Assembly Language.

This might be an old and not so popular language nowadays, but I believe that good knowledge of it can only help in software development using higher level languages.

Please provide quality books and an approximate skill level. Because each processor have some number of their own specific instructions please no reference manuals - if someone will need one then it is easy to find it.

like image 332
sebap123 Avatar asked Oct 01 '15 03:10

sebap123


2 Answers

For an excellent web reference for Assembly see The Art of Assembly Language Programming.1 While it is primarily written for 8086, all principles are 100% applicable to current assembly programming. The only differences are register sizes, calling conventions and syscall numbers for x86_64.

The entire book is available online at the above link. It is a thorough treatment of assembly and the underlying hardware it operates on.

footnotes:

  1. Link update to plantation-productions.com page providing access to all 3 Editions (1) windows 32-bit, (2) Linux 32-bit and (3) DOS 16-bit. You can navigate from that page to download the .pdf of your choice. Note: the DOS 16-bit book was the one referred to by the original link, and in my opinion provides the most direct and informative introduction beginning from chapter-2. The 32-bit books, contain the same information but are focused on using the HLA library that hides a bit of the actual assembly.
like image 154
David C. Rankin Avatar answered Nov 22 '22 22:11

David C. Rankin


Programming From the Ground Up by Jonathan Bartlett (PDF)

This book covers 32bit x86 arch and AT&T syntax

Besides teaching you assembly, it also teaches how computers work. Also, the approach of this book is first teaching the building blocks of computers and then slowly going up, showing how things connect together to create more complex stuff. Very interesting, very enlightening.

like image 27
Enzo Ferber Avatar answered Nov 22 '22 22:11

Enzo Ferber