2011-12-02 9 views
2

C/C++をアセンブリに変換する方法はありませんか?C/C++を8086/88に変換する

gccや他のコンパイラが行ったこと(C/C++ - > ASM - > HEX)は似ていません。

ASMにのみ変換します。

gccでこれを行う方法はありますか?私はC/C++をASMに変換するときにコンパイラを停止しますか?

あなたの注意のために特別な感謝と

、そして私の基本的な質問

+1

16進数?マシンコードのバイナリエンコーディングを意味しますか? – delnan

+0

はい、私はそれを意味します:D –

答えて

10

は、たとえば、GCCの-Sオプションを使用します。

gcc -S hello.c 

は、これはあなたのアセンブリ命令でファイルhello.sを与えるだろう。

+2

私は '-masm = intel'または' -masm = att'でアセンブリ言語(INTELとAT&T)を指定できることを付け加えたいと思います。 – Mrafcho001

+0

@ Mrafcho001は、8086のような特別なインテルプロセッサを追加する方法はありますか? –

+0

@ Moein7tl 8086で実行するようなコードをコンパイルしようとしていますか?もしそうなら、私はあなたがクロスコンパイルしようとしていると信じています。つまり、クロスコンパイルツールチェーンをセットアップする必要があります。私はそのことを経験していないが、私は何か有用なものをGoogleに変えるだろうと確信している。 – Mrafcho001

4
gcc -O2 -S -c foo.c 

がファイルに生成されたアセンブリコードを残すためにとても残念foo.s.

関連する問題