Compartilhar via


Usando símbolos de C ou C++ em blocos __asm

Seção específica da Microsoft

Um bloco __asm pode se referir a qualquer símbolo C ou C++ no escopo em que o bloco é exibido. (Símbolos C e C++ são nomes de variáveis, nomes de função e rótulos; ou seja, nomes que não são constantes simbólicas ou membros enum. Você não pode chamar funções membro do C++.)

Algumas restrições se aplicam ao uso de símbolos C e C++:

  • Cada instrução de linguagem de assembly pode conter apenas um símbolo C ou C++. Vários símbolos podem aparecer na mesma instrução de assembly somente com expressões LENGTH, TYPE e SIZE.

  • As funções referenciadas em um bloco __asm precisam ser declaradas (prototipadas) anteriormente no programa. Caso contrário, o compilador não poderá distinguir entre nomes de função e rótulos no bloco __asm.

  • Um bloco __asm não pode usar nenhum símbolo C ou C++ com a mesma ortografia que palavras reservadas do MASM (independentemente do caso). As palavras reservadas do MASM incluem nomes de instrução como PUSH e nomes de registro, como SI.

  • Marcas de estrutura e união não são reconhecidas em blocos __asm.

Fim da seção específica da Microsoft

Confira também

Usando C ou C++ em blocos __asm