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