x86-64 ISA / Assembly Programming References
This post collect the reference resource for x86-64 (also know as Intel 64, AMD 64) ISA / assembly language programming. x86-64 is a 64-bit extension of the Intel x86 instruction set.
==x86-64 Assembly Programming==
Introduction to Computer Systems Resources (15-213 Introduction to Computer Systems Resources from CMU) Lots materials for learning machine-level programming on the x86-64 machines.
x86-64 Machine-Level Programming This document supplements Chapter 3 of the CS:APP book.
Gentle Introduction to x86-64 Assembly This document summarizes differences between x86-64 and i386 assembly. The readers should already know the i386 gas syntax.
x64 Cheatsheet for a quick cheat sheet.
Easy x86-64: a good online tutorials on x86-64.
Introduction to X86 assembly a tutorials from Intel.
==x86-64 (and x86) ISA Reference==
Intel® 64 and IA-32 Architectures Software Developer Manuals Official reference from Intel.
AMD64 Architecture Programmer’s Manual Official reference from AMD.
==Others==
Software Optimization Resources
Software optimization resources. Optimization manual for advanced assembly language programmers and compiler makers, details about the internal working of various microprocessors, instruction latencies, execution unit throughputs, micro-operation breakdown and other details for all application instructions of most microprocessors from Intel, AMD and VIA.
i386 References and Learning Resource
Computer Systems: A Programmer’s Perspective, 2/E (CS:APP2e) This text book introduces assembly programming on x86 machines.
80386 Dependent Features of as
Binary interface
System V Application Binary Interface
Update history: Nov. 11, 2011. Add optimization resource.