Usando C ou C++ em blocos __asm

Seção específica da Microsoft

Como as instruções de assembly embutidas podem ser misturadas com instruções C ou C++, elas podem se referir a variáveis C ou C++ por nome e usar muitos outros elementos dessas linguagens.

Um bloco __asm pode usar os seguintes elementos de linguagem:

  • Símbolos, incluindo rótulos, variáveis e nomes de função

  • Constantes, incluindo constantes simbólicas e membros enum

  • Macros e diretivas de pré-processador

  • Comentários (/* */ e //)

  • Nomes de tipo (onde quer que um tipo MASM seja legal)

  • typedef nomes, geralmente usados com operadores como PTR e TYPE ou para especificar membros da estrutura ou da união

Em um bloco __asm, você pode especificar constantes de inteiro com notação C ou notação de base do assembler (0x100 e 100h são equivalentes, por exemplo). Isso permite que você defina (usando #define) uma constante em C e, em seguida, use-a em C ou C++ e em partes de assembly do programa. Você também pode especificar constantes octal precedendo-as com um 0. Por exemplo, 0777 especifica uma constante octal.

Que mais você deseja saber?

Fim da seção específica da Microsoft

Confira também

Assembler embutido