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