マイクロプロセッサーが直接理解できる言語のこと。
マイクロプロセッサーが直接理解し実行できる、唯一のプログラミング言語である。
電子計算機であるコンピューターの機械語の実体は、電圧の高低で表現された2値の信号の集合で、これがメモリーに記録される。
現在は、これを8ビットまたは16ビットなどの長さを単位として扱い、人間が使うときは、2進数、8進数、16進数などで表記する。
機械語は、そのマイクロプロセッサーにとって最も都合が良いように設計される。
従って、マイクロプロセッサーごとに、その仕様が大きく違う。
異なるメーカーの異なる製品にあっては、仕様が全く違うことは半ば当然である。同じメーカーであっても、異なるコンセプトで設計された製品同士では、やはり全く違うことは珍しくない。
これが、パーソナルコンピューターにおいても、あるCPU用のプログラムが別のCPUで動作しない(例えばPentium用のプログラムがPowerPCでは動作しない)という現象をもたらしている。
機械語は、マイクロプロセッサーごとに千差万別で互換性はないが、基本的な構成は似通っており、概ね次のような構造を取る。
オペコードが、命令の種類を表わす番号である。
オペランドは、命令実行に必要な引数などの情報である。
例えばRISCに多く見られる16ビット固定長などの場合は、この情報が16ビット中に配置される。CISCに多く見られる8ビット単位不定長の場合は、オペコードに続いてオペランドが置かれる形式が多い。
C言語やアセンブリ言語などのプログラミング言語で書かれたプログラムは、コンパイルやアセンブルという処理により機械語に変換され、実行される。
これが現在の一般的なスタイルであるが、マイクロコンピューターが登場したばかりの頃はまだ一般的なプログラミング言語がなく、プログラムを作ることとは機械語の列を作りコンピューターに手入力することを意味していた時代もあった。
機械語に対し、ほぼ1対1で対応するように作られたプログラミング言語がアセンブリ言語である。
その仕様は機械語に依存するため、やはりマイクロプロセッサーごとに、その仕様が大きく違う。
最近ではめっきり減ったが、その昔はアセンブリ言語でプログラミングすることもあり、利便性を高めるためにマクロアセンブラーという多機能なアセンブラーが使われていた。更に昔はアセンブラーすらなく、紙に書いたプログラムを手作業で機械語に翻訳していた。これをハンドアセンブルという。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます
▼機能別検索
人気検索語
最近の更新語
今日の用語
おまかせ検索
▼別の語で検索
▼索引検索
カテゴリ検索
全グループ一覧
全プラグイン一覧
このサイトについて
趣旨・概要
参加の案内
ダウンロード