• ベストアンサー

アセンブリ言語とC言語

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

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

  • ベストアンサー
  • R32C
  • ベストアンサー率39% (115/290)
回答No.3

共通点 オペレーティングシステム記述言語 必然的にしていた(いる)言語 アセンブリ言語 UNIXオペレーティングシステム用に考案された記述言語 C言語 (最も)違うところ 移植性 ポータピリティ 例えば hello world プログラム。オープン系では、ほとんどリコンパイル一発。 アセンブリ言語の場合、同じ機能を作るには、OS毎、cpu毎に書き直さないといけない。 専門的な話題になると、ITRONというOSの場合、 アセンブリ言語で書いてるものはCPU別にものが違う。 一方、C言語で書かれたITRONは、クロスプラットフォーム になっているものが多い。

その他の回答 (2)

noname#198419
noname#198419
回答No.2

C言語は、アセンブリ言語のような低級言語と、FORTRANやPASCAL、BASICなどの高級言語との間ぐらいの位置付けになる中級言語といわれています。 C言語は、アセンブリ言語での記述が容易な論理演算やアドレス演算ができて、アセンブリ言語にはない構造化言語であり、高級言語にある文字列演算のような高級命令がない。といったことでC言語は中級言語なのです。(←K&Rの序章など入門書によく中級言語とかかれています。) アセンブリ言語は機械語に対応するニーモニックで記述しますが、C言語では機械語に対応するステートメントに放っていませんので、アセンブリ言語とC言語では異なる性質の言語です。

  • 86tarou
  • ベストアンサー率40% (5093/12700)
回答No.1

簡単にですが… アセンブリ言語はマシンコード(CPUが実際に実行する命令)と1対1です(2進コードは人間が見ても意味が分からないので、それを分かり易くしただけ)が、C言語はコンパイラによって生成されるマシンコードが異なります。コンパイラの性能によって実行速度も変わってきます。 高級言語なので、C言語では一つの命令でも複数のアセンブリ言語に匹敵し(変換し)、ソフトを組むのが早いです。アセンブラ言語はCPUの細かいアーキテクチャまで知らないと組めないですが、コンパイラに依存しないので思った通りに無駄なく組めます。

関連するQ&A