ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3962644 アセンブリ言語とC言語
質問者:grapher アセンブリ言語とC言語について調べているのですが、この二つ言語のプログラムについて実質的に同じと言えることはなんでしょうか?
また異なっていることはなんでしょうか?(たとえばアセンブリは低級言語であり、C言語は高級言語であるなどなんでもいいです。)
是非解答お願いします。
困り度:
  • すぐに回答を!
質問投稿日時:
08/04/20 17:28
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.3 共通点
オペレーティングシステム記述言語
必然的にしていた(いる)言語 アセンブリ言語
UNIXオペレーティングシステム用に考案された記述言語 C言語

(最も)違うところ
移植性 ポータピリティ
例えば hello world プログラム。オープン系では、ほとんどリコンパイル一発。
アセンブリ言語の場合、同じ機能を作るには、OS毎、cpu毎に書き直さないといけない。

専門的な話題になると、ITRONというOSの場合、
アセンブリ言語で書いてるものはCPU別にものが違う。
一方、C言語で書かれたITRONは、クロスプラットフォーム
になっているものが多い。
回答者:R32C
種類:回答
どんな人:専門家
自信:参考意見
回答日時:
08/04/20 21:33
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答

ANo.2 C言語は、アセンブリ言語のような低級言語と、FORTRANやPASCAL、BASICなどの高級言語との間ぐらいの位置付けになる中級言語といわれています。

C言語は、アセンブリ言語での記述が容易な論理演算やアドレス演算ができて、アセンブリ言語にはない構造化言語であり、高級言語にある文字列演算のような高級命令がない。といったことでC言語は中級言語なのです。(←K&Rの序章など入門書によく中級言語とかかれています。)

アセンブリ言語は機械語に対応するニーモニックで記述しますが、C言語では機械語に対応するステートメントに放っていませんので、アセンブリ言語とC言語では異なる性質の言語です。
回答者:maimi09
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/04/20 17:50
この回答へのお礼この回答にお礼をつける(質問者のみ)

回答良回答10pt

ANo.1 簡単にですが…
アセンブリ言語はマシンコード(CPUが実際に実行する命令)と1対1です(2進コードは人間が見ても意味が分からないので、それを分かり易くしただけ)が、C言語はコンパイラによって生成されるマシンコードが異なります。コンパイラの性能によって実行速度も変わってきます。
高級言語なので、C言語では一つの命令でも複数のアセンブリ言語に匹敵し(変換し)、ソフトを組むのが早いです。アセンブラ言語はCPUの細かいアーキテクチャまで知らないと組めないですが、コンパイラに依存しないので思った通りに無駄なく組めます。
回答者:86tarou
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
08/04/20 17:44
この回答へのお礼この回答にお礼をつける(質問者のみ)