• ベストアンサー

[C言語→アセンブリ言語]はどうするのですか?

C言語でプログラムを作って、それをアセンブリ言語に変換したいのですが、どうしたらよいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • shred
  • ベストアンサー率35% (25/70)
回答No.2

アセンブリファイルは本来途中段階で生成されているのですが 明示的に出力させるには 例えばBorland C++ Compiler 5.5の場合 bcc32 -S hoge.c などとすると生成されます。

その他の回答 (4)

  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.5

>C言語でプログラムを作ってアセンブリ言語に変換したい ここで言う「プログラム」とはソースコードのことですか? それとも、既に生成されたバイナリのことですですか? 前者ならNo2-No4さんの方法、後者ならNo1さんの方法。 何にせよ、環境を特定しないのなら、 アセンブラを勉強して自分で書くのとか:-p)

  • yosi_yosi
  • ベストアンサー率35% (165/468)
回答No.4

お使いのC言語の処理系によって異なります。 例えばgccであれば「-S」オプションでアセンブラコードを出力します。

参考URL:
http://www.linux.or.jp/JM/html/GNU_gcc/man1/gcc.1.html
  • luckymako
  • ベストアンサー率55% (29/52)
回答No.3

gcc なら -S オプションでだめですか? ex. >gcc -S source.c

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

Cソース→Cコンパイラ→(機械語) この機械語をニーモニック表示できる方法を探せば良いよ。 通称「逆アセンブラ」

関連するQ&A

  • アセンブリ言語とC言語

    アセンブリ言語とC言語について調べているのですが、この二つ言語のプログラムについて実質的に同じと言えることはなんでしょうか? また異なっていることはなんでしょうか?(たとえばアセンブリは低級言語であり、C言語は高級言語であるなどなんでもいいです。) 是非解答お願いします。

  • アセンブリとC言語ではどっちが簡単ですか?

    C言語かアセンブリを始めたいのですが どちらのほうが簡単ですか? C言語のほうが便利とかいうのは関係なしで お願いします!

  • アセンブリ言語について。

    アセンブリ言語がアセンブラ&実行出来るサイトを知らないでしょうか?また、アセンブリ言語のプログラムが載っているサイトを知らないでしょうか?教えて頂けると幸いです。

  • アセンブリ言語を学ぶことは意味がありますでしょうか。

    アセンブリ言語を学ぶことは意味がありますでしょうか。 プログラミングの上達や理解を深めるためにアセンブリ言語を学ぶ意味はありますでしょうか。 C++を学ぶとプログラミングの上達や理解は確かに深まりましたが、アセンブリ言語はどうでしょうか。 アセンブリ言語でポインタの意味が分かったと言う人もいますし・・・。 また、アセンブリ言語で役立つことがあれば何でも教えてください。

  • アセンブリ言語について

    現在電気工学科の学生です。アセンブリ言語の講義を受けているんですが、試験で単位が取れる自信がありません。。。全くわからないことだらけです。C言語に関してはほんの触りだけ勉強したことがありますが、アセンブラ言語については全くの素人です。演習問題があるんですが、色々本等で探しても見つかりませんでした・・・私の努力不足かもしれませんが、問題の解答と解説を教えて欲しいです。 問題は→メモリアドレス3000H~30FFHの内容(データ)を2000Hから始まるメモリアドレスにコピー(格納)するプログラムをアセンブリ言語で書いてください!それとこの問題には参考のためにアセンブリ言語の命令の例があるんですが LD A、(BC) LD A、(DE) LD A、(HL) って書いてあるんですが、このBCやDE,HLはどんな意味があるんでしょうか?初歩的なことばかりで申し訳ありませんが、ご教授よろしくお願いします。

  • アセンブリ言語について

    アセンブリ言語の勉強をしたいと思っています。 例えば、CやJava,などはコンパイラを使ってコンパイルをしますよねぇ。同じようにアセンブり言語にもアセンブラというものがあるのでしょうか? フリーでそのようなアセンブラ(コンパイラ?)があるのなら教えてくれないでしょうか?できれば、AT互換のアセンブリ言語の仕様書が書かれているサイトでもあれば教えてください。(できれば、日本語で・・・) それと アセンブラ言語を高水準言語と比較した場合の利点について教えてください。 色々とすいません。どうかよろしくお願いします。

  • アセンブリ言語についてと言語の違いについて。

    高水準と低水準言語の違いは、まず、マシン語の2進数の羅列では分からないからアセンブリ言語が生まれ、 アセンブリ言語よりさらに人間が理解できる言語が、C言語やBASICなどでしょうか?教えていただけないでしょうか?合っていますでしょうか?

  • アセンブリ言語について。

    2進数の羅列では人間にはあまりに読み書きしにくいからです。 それを命令単位に区切って、英単語を元にした名前を与えたのが、アセンブリ言語です。 ニーモニックとは、その命令の名前の事です。とはどういう事でしょうか?教えていただけないでしょうか?すみません。 push %ebp mov %esp,%ebp and $0xfffffff0,%esp sub $0x10,%esp mov 0xc(%ebp),%esp : というプログラムで、オペランドが、%ebpなどがそうなのでしょうか?で、このプログラム言語自体をアセンブリ言語というのでしょうか?また、なぜ、低水準言語というのが存在しているのでしょうか?教えていただけないでしょうか?すみません。

  • Cファイルからアセンブリファイルへの変換について

    今、プログラム勉強として眠っていた数年前の日経ソフトウェアを読んでいますが、 その中に環境構築として「Microsoft Visual C++ Toolkit 2003」 (これを使って特定のコマンド(/FA)を叩くとでC言語ファイルからアセンブリファイルが出来るようです) が必要なものがありました。 検索をしてリンクは見つかるのですが、microsoft頁に行き「コンテンツが見つかりません」になってしまっています。 どなたかC言語ファイルを元にアセンブリ言語に変換してくれるソフトをご存知でしたら教えてください。

  • アセンブリ言語は原始プログラムですか?

    質問(1) アセンブリ言語というのは、 add $S1, $S2 みたいなやつですよね? wikipediaで「ソースコード(ソースプログラム、原始プログラム)」の注釈1,2を読むと、 注1:【機械語の命令に記述するアセンブリ言語(アセンブラ)が存在するが、このアセンブラ用の文字列で記述されたプログラムはソースコードとは呼ばれないのが普通である。】 注2:【アセンブリ言語で書かれたプログラムはソースコードと呼ばれない】 と書かれてあります。 でも、 他の教材では アセンブリ言語で書かれたプログラム(原始プログラム) と書かれています。 どっちが正しいのでしょうか? 質問(2) 目的プログラム(オブジェクトプログラム)とは、 IT用語辞典によると 【オブジェクトプログラムとは、ソースプログラム(人間が認識できるプログラム言語で高水準言語など?)をコンパイラで機械語に翻訳したプログラムのことである】 とありますが、 ソースプログラムをコンパイラで翻訳するとアセンブリ言語になるんではないのですか? そのアセンブリ言語をアセンブラで翻訳して機械語になるのではないのでしょうか? どなたかご教授ください。 お願いします。

専門家に質問してみよう