コンピュータ(のCPU)が直接的に解釈・実行できる命令だけで構成された言語のことです。
機械語は、各種命令を表す番号(オペコード)や、その命令に与えるデータを、0 と 1 だけを使った表現にして、淡々と書き並べただけの構造です。
機械語は、人間が読み書きしやすい文法になっておらず、直接的にこれを記述することは困難です。そこで代わりに、高級言語と呼ばれる、人間が読み書きしやすい言語を使ってプログラムを記述します。高級言語に対して、機械語は低級言語です。
命令の形式は、CPU の種類によって異なります。一般に、同シリーズの製品なら同じような命令が使えます。また、新製品には新しい命令が追加されることがあります。
同じ形式の命令をもった CPU は、「同じ命令セットをもつ」と表現されます。同じ命令セットをもつ CPU ならば、機械語で書かれた同じプログラムを実行できます。
どんなプログラミング言語を使って記述したプログラムであっても、最終的には機械語に変換しないと実行できません。たとえば、コンパイラ型言語では、コンパイラが行うコンパイルという変換処理によって、機械語のコード(ネイティブコード)を生成します(別の表現形式を経由する言語もあります)。前述したように、機械語の命令は CPU の種類によって異なりますから、CPU の種類ごとにコンパイラが必要です。あるいは、1つのコンパイラが複数種の CPU に対応しています。
機械語にもっとも近いプログラミング言語として、アセンブリ言語があります。アセンブリ言語は、機械語の命令1つ1つに対応した名前付きの命令(ニーモニック)が定義されています。0 と 1 だけで表現される機械語よりは遥かに分かりやすいですが、やはりプログラミングしやすい言語とはいえません。アセンブリ言語は、アセンブラが行うアセンブルという変換処理によって、機械語に変換されます。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |