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.
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.
Update history: Nov. 11, 2011. Add optimization resource.