Modern X86 Assembly Language Programming Covers x86 64-bit, AVX, AVX2, and AVX-512 Second Edition