機械語とアセンブリ言語
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/22 10:09 UTC 版)
詳細は「アセンブリ言語」を参照 機械語を直接プログラミングに使うのは人間には負担が大きく、またコンパイラ等のコード生成でも(命令セットの設計にもよるが)見通しが良くないこともある。そういったこともあり、命令をオペコードではなくニモニックと呼ばれる英単語風のもので表現し、オペランドもレジスタ名などシンボリックに表現できる、アセンブリ言語を通じて扱うことが多く、C言語などの(処理系拡張による)インラインアセンブラ等でもアセンブリ言語の利用が一般的である。 基本的にはアセンブリ言語は機械語と1対1に対応するが、簡単なマクロなどを備えているものは多く、遅延スロットを利用するコードに自動的に変形するなどといった機能を持つものもある。また特殊な短縮形など(x86でAXがオペランドの場合など)について、機械語では違いがある場合をアセンブリ言語では明示的に指定できない場合もある。 アセンブリ言語で書いたコードを、手作業でアセンブルして機械語コードにする作業を「ハンドアセンブル」という。通常、メーカー等での新機種の開発などでは、旧機種の環境でクロス開発を行うわけで、わざわざ効率の悪い作業であるハンドアセンブル等を行うことは普通は無いが、1970年代のマイクロコンピュータや1980年代のパーソナルコンピュータでは、個人の場合、クロス開発のためのコンピュータ(当時はミニコンピュータなどが、メーカー等では使われていた)を別に持っているわけなどなく、またアセンブラも高額だったりすることも多く、ハンドアセンブルは一般的であった。
※この「機械語とアセンブリ言語」の解説は、「機械語」の解説の一部です。
「機械語とアセンブリ言語」を含む「機械語」の記事については、「機械語」の概要を参照ください。
- 機械語とアセンブリ言語のページへのリンク