Freigeben über


Verwenden von C- oder C++-Symbolen in __asm-Blöcken

Microsoft-spezifisch

Ein __asm-Block kann jedes C- oder C++-Symbol im Bereich verweisen, wobei der Block angezeigt. (C und C++-Symbole sind Variablennamen, Funktionsnamen und Bezeichnungen; das heißt, Namen, die nicht Member symbolische Konstanten oder enum sind. Sie können C++-Memberfunktionen nicht aufrufen.)

Einige Einschränkungen gelten für die Verwendung mit C und C++-Symbolen zu:

  • Jede Anweisung kann nur ein C- oder C++-Symbol enthalten. Mehrere Symbole können in derselben Assemblyanweisung nur mit LÄNGE, TYP und GRÖSSE Ausdrücken werden.

  • Die Funktionen, die in einen __asm-Block verweist, müssen (einen Prototyp entwickelt wurde) zuvor im Programm deklariert werden. Andernfalls kann der Compiler nicht zwischen Funktionsnamen und Bezeichnungen im Block __asm unterscheiden.

  • Ein __asm-Block können keine C- oder C++-Symbole mit derselben Schreibweise wie MASM-reservierteWörter verwenden (unabhängig davon Fall). MASM-reservierteWörter enthalten Befehlsnamen wie PUSH und Registernamen wie SI.

  • Struktur- und Unionstags sind in Blöcken __asm erkannt.

END Microsoft-spezifisch

Siehe auch

Referenz

Verwenden von C oder C++ in __asm-Blöcken