Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2: Instruction Set Reference