アセンブリ言語高度言語

1693 ワード

  • いくつかの用語マシンコード:machine code==マシン命令:machine instruction==命令instruction
  • アセンブリ言語:assembly
    アセンブリ:assembler assembler
    高度な言語:high-level language
    コンパイラ:compiler
  • コンパイラとアセンブリの区別マシンコード
  • マシンコードは1本の命令であり、CPUプロセッサによって識別される言語であり、CPUは対応する命令を実行し、対応する機能を実現することができる.
    コンパイラでもアセンブリでも、最終的に生成されるのはマシンコードです.
    アセンブリ言語
    アセンブリは、アセンブリ言語をマシンコードにコンパイルしたマシンコードを生成します.
    アセンブリ言語の各コマンドは、一般に、CPUによって識別される、マシンコードのうち、マシンコマンドに対応しています.
    高度な言語
    コンパイラは、高度な言語をマシンコードにコンパイルします.
    ほとんどの高級言語、例えばC、C++、Javaなどの命令、すなわち高級言語が書いた文は、機械言語と一つ一つ対応していない関係であり、一般的には、1つの高級言語の文やいくつかの文からなるコードセグメントは、複数の機械コードに対応している.
    ハードウェア抽象層
    ハードウェア抽象層は、上位ソフトウェアのプログラミングを容易にするために、下位ハードウェアの詳細を抽象的に隠す技術です.
    アセンブリ言語では、ハードウェア抽象層の概念は一般的に存在しない.それは、その文自体がハードウェア命令に近いため、ハードウェアを直接操作するために使用される.
    コンパイラによってコンパイルされた高度な言語は、ハードウェア抽象層に大きく関与します.
    アセンブリの利点と劣勢
    アセンブリ言語自体と命令は基本的に一対一に対応する関係にあるため,アセンブリコードをアセンブリでコンパイルして生成する実行可能コード(命令)の効率は,高度な言語でコンパイルされて最終的にコンパイルされて生成される実行可能コードの効率よりもはるかに高い.
    したがって、プログラムの性能を最も重要な考慮とする場合、例えば画像処理において、あるいはハードウェアリソースが限られている場合、コード実行がより効率的で、リソースの占有がより少ない効果を実現するためにアセンブリ言語を用いる傾向がある.
    アセンブリ言語の劣勢は、使いにくい、学びにくい、使いにくいことです.
    コンパイラのメリットとデメリット
    ほとんどの場合、この点の小さな性能の向上の面での優位性は、難学的で使いにくい面での劣勢を補償するのに十分ではありません.この場合、
    C、C++、Javaなどの高度な言語が使われることが多い.高度な言語は、使いやすく、より複雑な上位論理などを記述するのに使いやすい.
  • まとめコンパイラvsコンパイラコンパイラ入力ファイルアセンブリ(ソース)コード高度言語(C/C++/Java/…のソース)コード出力ファイルマシンコード(命令)マシンコード(命令)マシンコード(命令)コード最適化機能があるかどうかは一般的にはありません(一般的には必要ありません.アセンブリコードを直接マシンコードに変換/翻訳することに関連するため)一般的にコード最適化(最適化コード、実行効率を向上させるため)を含む

  • アセンブリ言語vs高度言語
     ( CPU )     (C/C++/Java/…)
    

    学習と使用の難易度が相対的に容易ではないことと機械命令の一つ一つの対応度が基本的に一つの高級言語に一つ一つ対応することは往々にして複数の機械命令コードの実行効率が極めて高く、相対的にアセンブリにとって低いことに対応する.