Once you understand the concepts of x86 architecture, it's much easier to understand x64 architecture. The x64 architecture was designed as an extension to x86 and has a strong resemblance with x86 instruction sets, but there are a few differences that you need to be aware of from a code analysis perspective. This section covers some of the differences in the x64 architecture:
- The first difference is that the 32-bit (4 bytes) general purpose registers eax, ebx, ecx, edx, esi, edi, ebp, and esp are extended to 64 bits (8 bytes); these registers are named rax, rbx, rcx, rdx, rsi, rdi, rbp, and rsp. The eight new registers are named r8, r9, r10, r11, r12, r13, r14, and r15. As you might expect, a program can access the ...