ページ 1 / 1
(初投稿)C言語をアセンブリ言語に変換する方法
Posted: 2017年5月14日(日) 20:11
by 見習い
はじめまして。よろしくお願いします。
(ここの使い方がまだよく分かりません…)
C言語で書いたプログラミングを、アセンブリ言語に変換したいのですが、何をどうすればいいのか、方法が分かりません。
アセンブリ言語で書くのではなく、あくまでも「変換」です。
* TeraPadと、開発者コマンドプロンプト(2013)を使っています。
調べたのですが、いろいろ分かってる程で書かれているためか、まったく理解できず、お手上げです…。助けてください。
Re: (初投稿)C言語をアセンブリ言語に変換する方法
Posted: 2017年5月14日(日) 20:32
by みけCAT
Visual C++なら/FAオプションでできるらしいです。
VCのコンパイラのアセンブラ出力 - 三次元日誌
Re: (初投稿)C言語をアセンブリ言語に変換する方法
Posted: 2017年5月14日(日) 21:01
by 見習い
コマンドプロンプトに/FAオプション?を打ち込んだところ、エラーは出ませんでした!が、このあとどうしたらアセンブリ言語が見れるのでしょう…。
Re: (初投稿)C言語をアセンブリ言語に変換する方法
Posted: 2017年5月14日(日) 21:19
by かずま
cl -c -FA hoge.c だと hoge.asm ができます。
cl -c -FAs hoge.c だと hoge.asm ができます。ソースが含まれます。
cl -c -FAc hoge.c だと hoge.cod ができます。バイナリコードが含まれます。
cl -c --FAcs hoge.c だと、hoge.cod ができます。ソースもコードもあり。
いずれの場合も hoge.obj ができます。
main が含まれていて、-c を付けなければ、hoge.exe もできます。
Re: (初投稿)C言語をアセンブリ言語に変換する方法
Posted: 2017年5月14日(日) 21:22
by かずま
dumpbin -disasm hoge.obj で逆アセンブルしてもよいでしょう。
ファイルにしたいなら、dumpbin -disasm hoge.obj >hoge.dmp
Re: (初投稿)C言語をアセンブリ言語に変換する方法
Posted: 2017年5月14日(日) 21:24
by かずま
かずま さんが書きました:
cl -c --FAcs hoge.c だと、hoge.cod ができます。ソースもコードもあり。
--FAcs は -FAcs の間違いでした。
/FAcs でもよい。
Re: (初投稿)C言語をアセンブリ言語に変換する方法
Posted: 2017年5月14日(日) 21:37
by 見習い
アセンブリ言語っぽいのが出ました!合ってるのか分かりませんが…
ありがとうございます!おかげで一歩進めましたm(_ _)m