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 fonction et des étiquettes ; autrement dit, des noms qui ne sont pas des constantes symboliques ou enum des membres. 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 d’assembly uniquement avec 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 inscrire des noms tels que SI.

  • Les étiquettes de structure et d’union ne sont pas reconnues dans les blocs __asm.

FIN de la section spécifique à Microsoft

Voir aussi

Utilisation de C ou C++ dans les blocs __asm