私はC言語が新しく、アセンブリ言語にC言語をマップする直感を築きたいので、スタック、レジスタ、メモリ、コードがどのように動作するかを強く意識することができます。 Cコードを参照してください。私はいくつかのアセンブリ言語の本を読んでおり、主にcとアセンブリの関係よりもアセンブリ構文に焦点を当てています。誰もがcとアセンブリ言語の間の地図についてそのような本をどこに見つけることができるか知っていますか?アセンブリ言語にC言語をマップする
-5
A
答えて
0
私はそのような本が存在するかどうか分かりません(そうであれば、コンパイラに関する本です)。しかし、簡単な解決策があります:試してみてください。 、これはMyFunction
にブレークポイントを設定します
gdb ./foo
break MyFunction
run
disass
:
はその後、いくつかのCコードを書くデバッグシンボルでコンパイル(これらの命令は、Linuxを想定):
gcc foo.c -o foo
を次に、デバッガを使用しますそのブレークポイントに達するまでプログラムを実行します。 disass
はその関数のアセンブリを出力します。 stepi
を使用すると、一度に1つの命令をステップ実行するか、next
を使用して、一度に1つのC行だけステップすることができます。
+1
また、 'gcc -S foo.c'を実行して、コンパイラにアセンブリファイルを直接作成させることもできます(これにより、アセンブリファイル内のマッピングに関する情報が少し残る場合があります)。 – microtherion
関連する問題
- 1. アセンブリ言語の逆アセンブリ言語x86
- 2. Cアセンブリ言語ATTウォークスルー?
- 3. アセンブリ言語へのCコード
- 4. LC3アセンブリ言語
- 5. アセンブリ言語コンパイラ
- 6. アセンブリ言語
- 7. アセンブリ言語-Addition
- 8. アセンブリ言語 - サブプログラム
- 9. アセンブリ言語コプロセッサ
- 10. アセンブリ言語オプティマイザ
- 11. アセンブリ言語イントロ
- 12. 高水準言語をアセンブリ言語に変換する人
- 13. Mipsアセンブリ言語エラーチェック
- 14. MIPSアセンブリ言語スタックポインタマージソート
- 15. アセンブリ言語のプロジェクトソース
- 16. アセンブリ言語のループ
- 17. アセンブリ言語:+ vs add
- 18. アセンブリ言語x86 Irvine32
- 19. sicxeアセンブリ言語プログラミング
- 20. 学習するアセンブリ言語
- 21. RTS命令(68kアセンブリ言語)
- 22. アセンブリ言語の解析Regex
- 23. アセンブリ言語のCALL命令
- 24. MIPSアセンブリ言語:遅延
- 25. アセンブリ言語 - ディビジョンオーバーフロー(4桁)
- 26. アセンブリ言語でのループ
- 27. アセンブリ言語とフィボナッチ番号
- 28. アセンブリ言語コードの問題
- 29. アセンブリ言語関数2ループ
- 30. アセンブリ言語入門ビデオチュートリアル?
"*マップ*"はありません。異なるコンパイラでは異なる設定をしていますが、同じコンパイラでも設定が異なります。 – harold
Cはスタックもレジスタもありません。 – Olaf