機械語とアセンブリ言語の違いは何ですか

目次:

Anonim

NS 主な違い 機械語とアセンブリ言語の間には、 機械語は、コンピューターで直接実行できるバイナリーで構成される言語ですが、アセンブリ言語は、機械語に変換するためにアセンブラーと呼ばれるソフトウェアを必要とする低水準プログラミング言語です。

プログラマーは、プログラミング言語を使用してコンピュータープログラムを作成します。プログラムは、特定のタスクを実行するための一連の命令です。主に、プログラミング言語には、高級プログラミング言語、アセンブリ言語、機械語の3つのカテゴリがあります。ここでは、人間は高級言語を簡単に理解できますが、コンピューターは機械語を簡単に理解できます。一方、アセンブリ言語は高級言語と機械語の間の言語です。

アセンブラ、アセンブリ言語、機械語、プログラミング言語

機械語とは

プログラマーは、高級プログラミング言語を使用してコンピュータープログラムを作成します。これらの言語は、英語と同様に、単純で理解しやすい構文を持っています。 C、C ++、Python、Javaは、高級プログラミング言語の例です。ただし、CPUはこれらのプログラムやソースコードを理解していません。したがって、これらの高水準プログラムをマシンが理解できるマシンコードに変換する必要があります。コンパイラーまたはインタープリターがこの変換を実行します。

図1:マシンコード

マシンコードは次のようにも呼びます 機械語。これは、0と1の2進数で構成されます。 「1」は真の状態を示し、「ゼロ」は偽の状態を示します。

アセンブリ言語とは

アセンブリ言語は、高級言語と機械語の中間言語です。これは、マシンコードの1レベル上で、高級言語の1レベル下です。また、構文は英語に似ていますが、高級プログラミング言語よりも難しいです。

図2:アセンブリ言語

アセンブリ言語はハードウェアレベルに近いです。したがって、それは低水準言語と見なされます。この場合、プログラマは、アセンブリでプログラムを作成するためのコンピュータアーキテクチャとレジスタ構造を十分に理解している必要があります。次に、アセンブラはアセンブリ言語プログラムを機械語に変換します。したがって、この言語は、リアルタイムの組み込みシステムを構築するのに役立ちます。

機械語とアセンブリ言語の違い

意味

マシンコードは、コンピュータの中央処理装置(CPU)によって直接実行できる、機械語の命令で記述されたコンピュータプログラムです。逆に、アセンブリ言語は低レベルのプログラミング言語であり、プログラムのステートメントとアーキテクチャのマシンコード命令との間に強い対応関係があります。したがって、これが機械語とアセンブリ言語の根本的な違いです。

構文

マシンコードは、0と1のバイナリで構成されています。一方、アセンブリ言語は、英語と同様の構文に従います。したがって、これはマシンコードとアセンブリ言語の大きな違いです。

わかりやすさ

CPUだけがマシンコードを理解します。ただし、プログラマーはアセンブリ言語を理解しています。

依存

機械語とアセンブリ言語のもう1つの違いは、機械語がプラットフォームまたはオペレーティングシステムに依存することです。ただし、アセンブリ言語は一連の標準命令で構成されています。

使用法

使用量を考慮すると、CPUはマシンコードを直接実行して、コンピュータプログラムで定義されたタスクを実行できます。一方、リアルタイムシステムやマイクロコントローラベースの組み込みシステムは、アセンブリ言語を使用するアプリケーションの例です。

結論

簡単に言うと、アセンブリ言語は機械語より1レベル進んでいます。機械語とアセンブリ言語の主な違いは、機械語はコンピュータで直接実行できるバイナリで構成される言語であるのに対し、アセンブリ言語はアセンブラと呼ばれるソフトウェアを必要とする低レベルのプログラミング言語であるということです。マシンコード。

リファレンス:

1.「マシンコード」。ウィキペディア、ウィキメディア財団、2018年9月24日、こちらから入手可能2。 「アセンブリ言語。」ウィキペディア、ウィキメディア財団、2018年10月4日、こちらから入手できます。

画像提供:

1.Pixabay2経由の「2372130」(CC0)。 「Motorola6800AssemblyLanguage」Swtpc6800en:User:Swtpc6800 Michael Holley – Commons Wikimediaによる自作(パブリックドメイン)

機械語とアセンブリ言語の違いは何ですか