Programming from the Ground Up. Jonathan Bartlett.
Intel® 64 and IA-32 Architectures Software Developer’s Manual – Volume 3A: System Programming Guide, Part 1
Intel® 64 and IA-32 Architectures Software Developer’s Manual – Volume 2B: Instruction Set Reference, N-Z
Intel® 64 and IA-32 Architectures Software Developer’s Manual – Volume 2A: Instruction Set Reference, A-M
Intel® 64 and IA-32 Architectures Software Developer’s Manual – Volume 1: Basic Architecture