Freigeben über


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

Microsoft-spezifisch

Da inline Assemblyanweisungen mit C# oder C++-Anweisungen kombiniert werden können, können sie auf C- oder C++-Variablen über den Namen verweisen und viele andere Elemente dieser Sprachen verwenden.

Ein __asm-Block kann die folgenden Sprachelemente verwenden:

  • Symbole einschließlich Bezeichnungen sowie Variablen- und Funktionsnamen

  • Konstanten, einschließlich symbolische Konstanten und enum-Member

  • Makros und Präprozessordirektiven

  • Kommentare (/* */ und // )

  • Typnamen (in allen Fällen, in denen ein MASM-Typ zulässig wäre)

  • typedef-Namen werden in der Regel mit Operatoren wie PTR und TYPE verwendet oder um Struktur- oder Unionsmember anzugeben.

Innerhalb eines __asm-Blocks können Sie ganzzahlige Konstanten mit C-Schreibweise oder Assembler-Basisnotation (0x100 und 100h sind beispielsweise äquivalent) angeben. Dadurch können Sie definieren (mit #define) eine Konstante in C und dann diese in C oder C++ und Assembly-Teilen des Programms verwenden. Sie können auch Konstanten im Oktalformat angeben, indem Sie ihnen eine 0 voranstellen. 0777 gibt z. B. eine oktale Konstante an.

Worüber möchten Sie mehr erfahren?

END Microsoft-spezifisch

Siehe auch

Referenz

Inlineassembler