Est-il possible d'allouer de la mémoire de portée locale dans l'assembly?Déclaration de variables locales dans l'assembly
Par exemple, considérons la situation suivante (complètement artificielle):
J'ai deux macros, dont l'un dépend de l'autre. La première est:
minimum MACRO dest, num1, num2
; Finds the minimum of two unsigned numbers, stores the result in dest
Et le second est:
tripMin MACRO dest, num1, num2, num3
; Finds the minimum of three unsigned numbers, stores the result in dest
minimum firstMin, num1, num2
minimum secondMin, num2, num3
minimum dest, firstMin, secondMin
(. Je sais que ce n'est pas un exemple réaliste pour diverses raisons, mais garder avec moi)
En supposant que tous les registres sont occupés, est-il possible de déclarer firstMin et secondMin localement dans la macro?
Ou est-ce que je suis juste mieux de libérer un registre en poussant sa valeur sur la pile et de le repasser quand j'ai fini?
Ah ok, c'est logique. Je pense que ce que je voulais vraiment, c'était la différence entre les macros et les fonctions; votre réponse a été bien expliquée. Merci! – dckrooney