Usar símbolos de C o C++ en bloques __asm
Específicos de Microsoft
Un bloque __asm
puede hacer referencia a cualquier símbolo de C o C++ en el ámbito donde aparece el bloque. (Los símbolos de C y C++ son nombres de variable, nombres de función y etiquetas; es decir, nombres que no sean constantes simbólicas ni miembros de enum
. No puede llamar a las funciones de miembros de C++.)
Se aplican algunas restricciones al uso de los símbolos de C y C++:
Cada instrucción del lenguaje de ensamblado solo puede contener un símbolo de C o C++. Pueden aparecer varios símbolos en la misma instrucción de ensamblado solo con las expresiones LENGTH, TYPE y SIZE.
Las funciones a las que se hace referencia en un bloque
__asm
se deben declarar antes (mediante prototipo) en el programa. De lo contrario, el compilador no podrá distinguir los nombres de función y las etiquetas en el bloque__asm
.En un bloque
__asm
no puede haber ningún símbolo de C o C++ escrito igual que las palabras reservadas de MASM (independientemente de si es en mayúsculas o minúsculas). Las palabras reservadas de MASM incluyen nombres de instrucciones, como PUSH, y nombres de registro, como SI.Las etiquetas de estructura y unión no se reconocen en los bloques
__asm
.
FIN de Específicos de Microsoft