機械語
(machine language)
マイクロコンピュータ(マイコン、CPU)を動かすソフトウェアに関連する用語。マイクロコンピュータが理解して実行できる命令が書かれたプログラム(言語)。0と1の2進数の文字列。別名:マシン語。
人間は機械語を書けないので、C言語などでプログラムを記述する(ソースファイル)。C言語(人間が書いたプログラム)はアセンブリ言語を経由して最終的に機械語に変換される。詳しく流れを書くと、まずソースファイルはコンパイラによってアセンブリ言語に変換される。アセンブリ言語はアセンブラによってオブジェクトファイルに翻訳される。オブジェクトファイルはリンカやコンバータによって機械語(データファイル)に変換される。
プログラマが書いたソースファイルは、このような流れでオブジェクトファイルを経由してマイクロコンピュータが実行できるデータファイル(機械語)になる。この一連の作業工程(ソースファイルからデータファイルを作る)をコンパイルと呼んでいる。(以下の参考記事の図5が詳しい)
1970年代にインテルなどが開発した4ビットのマイクロコンピュータは、1980年代に8ビット、16ビット、32ビットと発展した。コンピュータの心臓部であることは周知だが、ソフトウェアを搭載した組込み機器(組込みシステム、embedded)も普及し、いまや炊飯器からスマートフォンまでCPUを動かすソフトウェアが搭載されている。機械語(マシン語)は私たちの日常の身近にある。
データファイルをメモリに格納し(実際はEPROMなどの、簡便に何度も書き換え可能なデバイスを使う)、プログラムを実行させ、電子機器(組込み機器)を動作させ、検証していく作業をデバッグと呼ぶ。プログラムをどこからどこまでの範囲で実行させるかなどを設定するツールがICE(アイス)である。そのためICEは別名、デバッガ(debagger:debagする物)とも呼ばれる。ICE市場は2000年代以降に激減したが、組込みマイコン(組込み機器用のCPU)の黎明期から普及期(1980~2000年代)は、計測器メーカと電子機器ベンチャーが競って製品開発をした、モンキービジネス(花形の計測器カテゴリー)だった。

.png)