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