2009-05-13 18 views
1

誰かがx86アセンブリコードでマクロを使用する方法を説明できますx86アセンブリコードのマクロ

+0

提案 - これは本当に曖昧な質問です。より具体的になりますか? – Foredecker

+0

また、どのコンパイラをタグ付けしているかを言う場合に役立ちます。 MASM。 – rjzii

答えて

7

使用しているコンパイラによって異なります。

通常、アセンブラマクロは次の形式をとります。

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

これは、ソースコードのヘッダーセクションに存在し、参照されない限りコードを出力しません。他のアセンブラでインライン展開します。

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

この場合の「パラメータ」%1と%2は本当に幅広い質問です以下の出力

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

解決に感謝します。 – user106300

+0

問題はありません。回答としてマークしてください。 –

+0

Great Ian。悪い質問でさえ、良い答えに値する:) – jyz

0

を生成し、ECXと12に置き換えられます。 Macrosを使用するには膨大な方法があります。いくつかのアセンブリ言語の開発者は、それらを使用して、いくつかのそれらを嫌い。

最も一般的な方法の1つは、機能のプロローグとエピローグにマクロを使用することです。もう1つは、スタックに保存パラメータをフェッチするためにそれらを使用することです。

関連する問題