﻿# Почему Visual С\+\+ больше не поддерживает встроенный ассемблер для Intel 64 и IA\-64?

Отказ от поддержки встраиваемого ассемблерного кода \(через ключевое слово \_\_asm\) при компиляции для 64\-битных платформ Intel 64 и IA\-64 скорее всего связан с желанием Microsoft упростить работу оптимизатора и разработку новых версий компилятора для Visual C\+\+\. Встроенный ассемблерный код ограничивает переносимость разрабатываемого ПО на другие платформы, а оптимизация от его использования в настоящее время редко оправдана – компилятор в большинстве случаев создаст достаточно эффективный код\.

В случае, если необходимая функциональность не может быть реализована на уровне C\+\+ кода, для замены ассемблерных вставок вы можете воспользоваться встраиваемыми \([intrinsic](https://en.wikipedia.org/wiki/Intrinsic_function)\) функциями или подключить к проекту внешние asm\-файлы\.

## Библиографический список

1. Обсуждение на сайте Stackoverflow\.com\. [Why does MSVC not support inline assembly for AMD64 and Itanium targets?](https://stackoverflow.com/questions/1295452/why-does-msvc-not-support-inline-assembly-for-amd64-and-itanium-targets)
1. MSDN Library\. [Inline Assembler](https://www.microsoft.com/en-us/download/details.aspx?id=55984)\.
1. Обсуждение на сайте www\.pcreview\.co\.uk\. [No Inline\-Assembly for x64 Builds?](https://www.pcreview.co.uk/threads/no-inline-assembly-for-x64-builds.3751215/)