64 Bit Windows Assembly Program... | Introduction To
RSI, RDI: Source and destination index registers, often used for string operations.
Stack Alignment: The stack must be aligned to a 16-byte boundary before any call instruction. A Basic "Hello World" Example Introduction to 64 Bit Windows Assembly Program...
Each of these registers can be accessed in smaller chunks. For example, the lower 32 bits of RAX are referred to as EAX, the lower 16 bits as AX, and the lower 8 bits as AL. The Windows x64 Calling Convention RSI, RDI: Source and destination index registers, often
RAX, RBX, RCX, RDX: The primary data registers. RAX is typically used for return values. For example, the lower 32 bits of RAX
The shift from 32-bit (x86) to 64-bit (x64) architecture introduced several significant changes. The most obvious is the expansion of general-purpose registers from 32 bits to 64 bits. Furthermore, the number of available registers doubled, and the calling convention—the way functions receive arguments—was standardized. In 64-bit Windows, the system uses a specific "fast call" convention that utilizes registers instead of the stack for the first few arguments, greatly increasing execution speed. The x64 Register Set
RBP, RSP: Pointer registers. RSP is the stack pointer, while RBP is the base pointer.