2011-05-05 9 views

Respuesta

16

macros se utilizan para crear plantillas para el código que utiliza con frecuencia, no a la entrada de un número constante. Como tal, no creo que el ensamblador haga expansión de macros dentro de una expresión. Como simplemente quiere un número, puede usar .set para definir una constante.

.set S, 40 
mov %eax, S 

Además, en caso de que por lo general utiliza la sintaxis de Intel, asegúrese de que te das cuenta lo que este código está haciendo: En la actualidad almacena el valor de EAX en la memoria en la dirección 0x28. Si quiere poner el número 40 en eax, necesita invertir los operandos y usar un signo de dólar delante de S.

mov $S, %eax 
+0

¡Su respuesta es bastante útil y completa, gracias! –

Cuestiones relacionadas