Introducción a la programación en ensamblador x64 (PDF)

x64RegisterSet

Si te ha costado casi toda una vida aprender más o menos a programar en ensamblador para x86 ;) (como es mi caso), ahora tienes que ir preparándote para programar en x64. Es imprescindible aprenderlo si sueles programar y quieres sacar el máximo partido a esta arquitectura (por ejemplo insertar parte de tu código en ensamblador x64 en tus programas). También es útil si tienes que hacer debugging o desensamblar programas.

Los nuevos ordenadores son todos de 64 bits, y por lo tanto funcionan con código x64, aumentando de forma significativa el rendimiento. x64 es una extensión de la arquitectura x86 de Intel y AMD Instrucction Set Architecture (ISA). AMD fue la primera en introducir la primera versión de x64, que se llamó inicialmente x86-x64 y luego se llamó AMD64. Intel llamó a su primera implementación IA-32e y luego EMT64. Existen algunas pequeñas incompatibilidades entre los dos sistemas, pero el código funciona prácticamente en ambas versiones.

Si quieres información sobre cada implementación:

Intel® 64 and IA-32 Architectures Software Developer's Manuals

AMD64 Architecture Tech Docs.

Este documento PDF (que puedes descargar aquí) está desarrollado por INTEL es una introducción al ensamblador x64 el cual no necesita conocimientos previos de ensamblador (aunque siempre ayuda saber algo). En concreto se centra en el conjunto de registros (lugar perfecto para empezar). Al final se incluyen enlaces por si necesitas información más avanzada.

Artículo original.