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