Verwenden von C- oder C++-Symbolen in __asm-Blöcken
Microsoft-spezifisch
Ein __asm
Block kann auf ein beliebiges C- oder C++-Symbol im Bereich verweisen, in dem der Block angezeigt wird. (C- und C++-Symbole sind Variablennamen, Funktionsnamen und Beschriftungen, d. h. Namen, die keine symbolischen Konstanten oder enum
Member sind. C++-Memberfunktionen können nicht aufgerufen werden.)
Einige Einschränkungen gelten für die Verwendung von C- und C++-Symbolen:
Jede Assemblysprache-Anweisung kann nur ein C- oder C++-Symbol enthalten. Mehrere Symbole können in derselben Assemblyanweisung nur mit LENGTH-, TYPE- und SIZE-Ausdrücken angezeigt werden.
Funktionen, auf die in einem
__asm
Block verwiesen wird, müssen weiter oben im Programm deklariert (prototypiert) werden. Andernfalls kann der Compiler nicht zwischen Funktionsnamen und Bezeichnungen im__asm
Block unterscheiden.Ein
__asm
Block kann keine C- oder C++-Symbole mit der gleichen Schreibweise wie reservierte MASM-Wörter verwenden (unabhängig vom Fall). Reservierte MASM-Wörter enthalten Anweisungsnamen wie PUSH und Registernamen wie SI.Struktur- und Unionstags werden in
__asm
Blöcken nicht erkannt.
Ende Microsoft-spezifisch