MMIXware: A RISC Computer for the Third Millennium
by Donald E. Knuth
Publisher: Springer 2004
Number of pages: 550
MMIX is a RISC computer designed by Donald Knuth to illustrate machine-level aspects of programming. This book constitutes a collection of programs written in CWEB that make MMIX a virtual reality. Among other utilities, an assembler converting MMIX symbolic files to MMIX objects and two simulators executing the programs in given object files are provided. The latest version of all programs can be downloaded from MMIX's home page. The book provides a complete documentation of the MMIX computer and its assembly language.
Home page url
Download or read it online for free here:
(multiple PDF files)
by Dennis Yurichev - yurichev.com
Here are some of my notes about reverse engineering in English language for those beginners who would like to learn to understand x86 (which accounts for almost all executable software in the world) and ARM code created by C/C++ compilers.
This book is about the disassembly of x86 machine code into human-readable assembly, and the decompilation of x86 assembly code into human-readable C or C++ source code. Some topics covered will be common to all computer architectures.
by Michael Abrash - Coriolis Group Books
A book for game developers and serious assembly language programmers. It explores the technology behind the popular Doom and Quake 3-D games, and explains optimized solutions to 3-D graphics problems from texture mapping, hidden surface removal, etc.
by Richard Mansfield - Compute! Publications
Introduction to 6502 machine language. The book starts with an introduction to how computers work, what Binary and Hex are, and how they relate to programing. Everything is covered with enough detail for a beginner to understand what they are doing.