2009-05-13 10 views
1

Quelqu'un peut-il expliquer comment utiliser les macros dans le codage d'assemblage x86Macros en codage d'assemblage x86

+0

Suggestion - C'est une question vraiment vague. Pourriez-vous être plus précis? – Foredecker

+0

En outre, il peut être utile de dire quel compilateur vous marquez, par ex. MASM. – rjzii

Répondre

7

Cela dépend de la compatibilité que vous utilisez.

Généralement, une macro d'assembleur prendra la forme suivante;

begin MyMacro %1, %2 
    mov eax, %1 
    add eax, %2 
end 

Ceci existe dans la section d'en-tête de votre code source et ne génère aucun code à moins qu'il ne soit référencé. Vous le feriez avec l'autre assembleur.

mov ecx, 88 
MyMacro ecx, 12 
asr ecx, 3 

Les "paramètres" % 1 et 2% dans ce cas seraient remplacés par ECX et 12 générer la sortie suivante

mov ecx, 88 
mov eax, ecx 
add eax, 12 
asr ecx, 3 
+0

merci pour la solution :) – user106300

+0

pas de problème, s'il vous plaît marquer comme réponse –

+0

Great Ian. Même une mauvaise question mérite une bonne réponse :) – jyz

0

C'est une question très large. Il y a des moyens zillion d'utiliser des macros. Certains développeurs de langage assembleur les utilisent en tonnes, certains les détestent.

L'un des moyens les plus courants consiste à utiliser des macros pour les prologues de fonction et les épilogues. Une autre consiste à les utiliser pour récupérer les paramètres d'enregistrement sur la pile.