マシン‐ご【マシン語】
機械語
別名:マシン語
【英】machine language
機械語とは、コンピュータが直接理解して、その命令内容を実行できる言語のことである。
機械語は、0と1の2進数で構成されているため、解読しづらい言語である。そのため、人間が理解しやすい形式の言語で記述するのが一般的である。しかし、人間が理解しやすい形式の言語は、コンピュータでは直接理解することはできないので、機械語に変換してから使用する。
過去には、直接機械語で記述することも行われていたことがあったが、時間と労力がかかるため、今日ではあまり使われていない。
参照リンク
Machine language For Beginners - (atariarchives.org)
機械語
(マシン語 から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/06/19 07:26 UTC 版)
機械語(きかいご、英: machine language、machine code[1][2]、 binary machine language[3]あるいはbinary machine code)は、コンピュータの中央処理装置(CPU)が直接理解し実行することができる命令からなる言語[1]。マシン語(マシンご)とも[2]。
注釈
- ^ ただし組込システムのエンジニアなどハードウェア寄りのエンジニアは機械語モニタを用いて機械語を直接操作することもある。
- ^ CPUが入出力バスとデータ信号をやりとりするためのチャネル(通路、流路)のこと。I/Oチャネルとも[4]。
- ^ CPU自体が実行している生(なま)の機械語は、物理的な実態としては(4個から64個ほどの)電気的スイッチ群のOn/Off、正確に言うと各電圧の高・低(High/Low)の組み合わせであり、 それを直接的に文字(数字)にするには1/0を多数連ねた2進数(8桁、16桁、32桁、64桁など)で表現するが、人間が読みやすいように、その2進数を16進数に変換して表示することも一般的である。集積回路では片方を 0 ボルト にしてしまうと回路の動作が不安定になってしまうので、実際には、厳密に言うとHigh/Lowの2つの電圧で実現している。デジタルコンピュータでは、2値方式であることが重要で、Hi/Lowでも2値論理の論理回路としてはOn/Offと等価な動作をするので、それを土台としてCPUは設計されている。そして16進表示でも、その文字列をただ長々と何十文字や何百文字も連ねてしまうと、人間の認識能力では誰でも誤読を連発するので、 2バイトつまり16進数の4文字ごとに、あるいは1バイトつまり16進2文字ごとに区切って間に空白を入れて可読性を高めるということが画面上や紙面上では一般的である。だから情報処理技術者試験の文面でも、受験者に分かりやすくなるように16進表示にしてあり、4文字ごとに空白をはさんでいる。
- ^ 全て機械任せで良い結果を得ようとするよりも、人による補助をうまく取り入れられるようにするほうが良い場合もある。
- ^ こうした変則的な機械語プログラミングはPolyglotの極端な1ジャンルともいえる。たとえばPC-98とX68k両対応のブートセクタ「電脳インストーラ2」が書かれたことがある。第1回IOCCCの入選作のひとつでmullenderによるPDP-11とVAX両対応プログラム「Previous IOCCC Winners」は、その後コンテストのルールが変更されたことで、このようなプログラム自体が禁止されている。
- ^ アセンブリ言語で書かれたプログラムを機械語に変換することを「アセンブル(する)」と言う。
- ^ たいていはオクテット単位だが、CASLのCOMETが16ビット単位のように、そうでないものもある。
- ^ 「絶対にBASICプログラムという形態で載せる」という掟のあった、『マイコンBASICマガジン』(ベーマガ)を除く。このためベーマガでは、DATA文のデータから、BASICプログラムで機械語コードを書き込むようなプログラムを掲載していた。
- ^ たとえば1970年代~1980年代など、たとえば2Dシューティングゲームソフトの上下左右の画面スクロール処理など。
出典
「マシン語」の例文・使い方・用例・文例
- マシン語のページへのリンク