Utilisation des symboles C ou C++ dans les blocs __asm
Section spécifique à Microsoft
Un bloc __asm peut faire référence à n'importe quel symbole C ou C++ dans la portée où le bloc apparaît. (Les symboles C et C++ sont des noms de variables, des noms de fonctions et des étiquettes ; autrement dit, des noms qui ne sont pas des constantes symboliques ni des membres enum. Vous ne pouvez pas appeler les fonctions membres C++.)
Quelques restrictions s'appliquent à l'utilisation des symboles C et C++ :
Chaque instruction en langage assembleur peut contenir un seul symbole C ou C++. Plusieurs symboles peuvent apparaître dans la même instruction assembleur avec uniquement les expressions LENGTH, TYPE et SIZE.
Les fonctions référencées dans un bloc __asm doivent être déclarées (prototypées) auparavant dans le programme. Sinon, le compilateur ne peut pas distinguer les noms de fonctions et les étiquettes dans le bloc __asm.
Un bloc __asm ne peut utiliser aucun symbole C ou C++ avec la même orthographe que les mots réservés MASM (indépendamment de la casse). Les mots réservés MASM incluent des noms d'instructions, tels que PUSH, et des noms de registres, tels que SI.
Les balises de structure et d'union ne sont pas reconnues dans les blocs __asm.
FIN de la section spécifique à Microsoft