В статье рассматривается 64‑битное расширение архитектуры x86 (x86-64). Разбираются основные особенности данной спецификации с позиций программирования. Проводится сравнительный анализ низкоуровневой организации программ для различных операционных систем, поддерживающих архитектуру x86-64. Приводятся примеры анализа программного кода, скомпилированного для операционных систем, отличающихся друг от друга реализацией соглашения о вызовах.