Introduction to x64 Assembly | Search for a title, author or keyword | ||||||||
Introduction to x64 Assembly PDF document. When learning assembly for a given platform, the first place to start is to learn the register set. x64 is a generic name for the 64-bit extensions to Intel‟s and AMD‟s 32-bit x86 instruction set architecture ( ISA ): EMT64 and AMD64. There are some slight incompatibilities between the two versions, but most code works fine on both versions. We call this intersection flavor x64. Neither is to be confused with the 64-bit Intel® Itanium® architecture, which is called IA-64. x64 has sixteen general purpose 64-bit registers ( can act as either a data register or an address register ): RAX, RBX, RCX, RDX, RBP, RSI, RDI, RSP, R8, R9, R10, R11, R12, R13, R14, R15. By replacing the initial R with an E on the first eight registers, it is possible to access the lower 32 bits ( EAX for RAX ). Similarly, for RAX, RBX, RCX, and RDX, access to the lower 16 bits is possible by removing the initial R ( AX for RAX ), and the lower byte of the these by switching the X for L (AL for AX), and the higher byte of the low 16 bits using an H ( AH for AX ). The new registers R8 to R15 can be accessed in a similar manner like this: R8 ( qword ), R8D ( lower dword ), R8W ( lowest word ), R8B ( lowest byte MASM style, Intel style R8L ). Note there is no R8H.
|
|||||||||
Introduction to x64 Assembly | Disclaimer: this link points to content provided by other sites. |