誰かがx86アセンブリコードでマクロを使用する方法を説明できますx86アセンブリコードのマクロ
1
A
答えて
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
を生成し、ECXと12に置き換えられます。 Macrosを使用するには膨大な方法があります。いくつかのアセンブリ言語の開発者は、それらを使用して、いくつかのそれらを嫌い。
最も一般的な方法の1つは、機能のプロローグとエピローグにマクロを使用することです。もう1つは、スタックに保存パラメータをフェッチするためにそれらを使用することです。
関連する問題
- 1. x86アセンブリコード
- 2. 理解のx86アセンブリコード
- 3. x86アセンブリコードの基本的な
- 4. x86-64でのポインタ割り当ての理解アセンブリコード
- 5. アセンブリコードでベクトルを使用する方法x86とSSE
- 6. x86アセンブリコードはEAXレジスタに文字列を入れて
- 7. アレイへのアクセスを同期するための最速のx86アセンブリコード?
- 8. x86アセンブリコードの "mov eax、cr3; mov cr3、eax"の機能は何ですか?
- 9. 私のx86アセンブリコードがセグメンテーションフォルトを引き起こすのはなぜですか?
- 10. x86アセンブリのマクロとプロシージャ/メソッドの相違点
- 11. iOSアセンブリコード
- 12. Cプログラムのアセンブリコード
- 13. アセンブリコードのリストファイル
- 14. アセンブリコードの%rsiの値
- 15. 中毒カーネルスタックのアセンブリコード
- 16. デコードアセンブリコールバック私のアセンブリコードで
- 17. アセンブリコードのご協力
- 18. Visual Studioの逆アセンブリコード
- 19. JITWatchアセンブリコードの生成
- 20. Linuxカーネルモジュールの逆アセンブリコード
- 21. アセンブリコードでエラー
- 22. Visual Studioアセンブリコード
- 23. 2の補数のアセンブリコード
- 24. 2つのアセンブリコードの違い
- 25. C++:アセンブリコードが結果
- 26. アセンブリコードの解読と理解
- 27. アセンブリコードの説明が必要
- 28. 通訳アセンブリコードの比較
- 29. 印刷のJavaホットスポットJITアセンブリコード
- 30. Objective-cのアセンブリコードを表示
提案 - これは本当に曖昧な質問です。より具体的になりますか? – Foredecker
また、どのコンパイラをタグ付けしているかを言う場合に役立ちます。 MASM。 – rjzii