Utilizzo di simboli C o C++ in blocchi __asm
Sezione specifica Microsoft
Un blocco __asm
può fare riferimento a qualsiasi simbolo C o C++ nell'ambito in cui il blocco è presente. I simboli C e C++ sono nomi di variabili, nomi di funzione ed etichette, ovvero nomi che non sono costanti simboliche o enum
membri. Non è possibile chiamare funzioni membro C++.
Alcune restrizioni vengono applicate all'utilizzo dei simboli di C++ e C:
Ogni istruzione in linguaggio assembly può contenere solo un simbolo C++ o C. Più simboli possono essere visualizzati nella stessa istruzione di assembly solo con espressioni LENGTH, TYPE e SIZE .
Le funzioni a cui viene fatto riferimento in un blocco
__asm
devono essere dichiarate (con prototipo) in precedenza nel programma. In caso contrario, il compilatore non è in grado di distinguere tra i nomi di funzione e le etichette nel blocco__asm
.Un blocco
__asm
non può contenere alcun simboli di C o C++ con la stessa ortografia di parole riservate MASM (indipendentemente dall'uso di maiuscole e minuscole). Le parole riservate MASM includono nomi di istruzioni come PUSH e nomi di registrazione, ad esempio SI.I tag di unione e di struttura non sono riconosciuti in blocchi
__asm
.
Fine sezione specifica Microsoft