Использование C или C++ в блоках __asm
Блок, относящийся только к системам Майкрософт
Поскольку инструкции встроенного кода на языке ассемблера можно комбинировать с операторами C или C++, они могут ссылаться на переменные C или C++ по имени и использовать множество других элементов этих языков.
Блок __asm
может использовать следующие элементы языка.
Символы, включая метки и имена переменных и функций.
Константы, включая символьные константы и члены
enum
.Макросы и директивы препроцессора.
Комментарии (как /* */ так и // )
Имена типов (если тип MASM допустим).
typedef
имена, обычно используемые с такими операторами, как PTR и TYPE , или для указания элементов структуры или объединения
В блоке __asm
можно указать целочисленные константы с помощью нотации C или нотации основания системы счисления ассемблера (например, 0x100 и 100h эквивалентны). Это позволяет определить (с помощью #define
) константу в C, а затем использовать ее в C и C++, а также частях сборки программы. Можно также указать константы в восьмеричной системе счисления, поместив перед ними 0. Например, 0777 указывает восьмеричную константу.
Дополнительные сведения
Завершение блока, относящегося только к системам Майкрософт