|
アセンブリ言語(アセンブリげんご、assembly language)とは、コンピュータ、マイクロコントローラ、その他のプログラム可能な機器を動作させるための機械語を人間にわかりやすい形で記述する、代表的な低水準言語である。 == 概要 == プロセッサが直接実行できる言語は機械語である。機械語はバイナリ(数値)の羅列なので人間には理解しにくい。そこで、機械語を直接記述するのではなく、ニーモニックと呼ぶ命令語でプログラムを記述することで、人間により分かりやすくしたものがアセンブリ言語である。アセンブリ言語の意味は個々のプロセッサに依存する。高水準言語と比べると移植性は低い。 アセンブリ言語で書いたプログラムを機械語プログラムに変換する事をアセンブル (assemble) すると言う。それを行うプログラムの事をアセンブラ (assembler) と言う。なお、アセンブリ言語の意味で「アセンブラ」または「アセンブラ言語」(Assembler Language)と呼ぶ場合がある〔IBMはSystem/360から2011年現在まで一貫してアセンブラ言語(Assembler Language)と呼んでいる。例:IBM High Level Assembler 〕〔Stroustrup, Bjarne, ''The C++ Programming Language'', Addison-Wesley, 1986, ISBN 0-201-12078-X: ''"C++ was primarily designed so that the author and his friends would not have to program in assembler, C, or various modern high-level languages."'' - ''assembler'' を ''assembly language'' の意味で使っている例〕。初期のコンピュータでは「アセンブラ」を「アセンブリプログラム」と呼ぶ例もあった〔Saxon, James, and Plette, William, ''Programming the IBM 1401'', Prentice-Hall, 1962, LoC 62-20615. - ''assembly program'' という用語を使っている例〕。 アセンブリ言語の命令は機械語に対応したものと、アセンブラに対する命令(疑似命令)やマクロがある。〔MIPSのアセンブラの一部など、命令の遅延分岐スロットへの移動を勝手に行うものもある。OPTASM(SLR社)という最適化アセンブラもあった。〕機械語と1対1で対応し、プログラマがCPUの動作を把握しながらプログラムを記述する事ができる。 アセンブリ言語では機械語に相当する低水準な操作またはオペコードをニーモニックで表す。オペコードによっては、機械語命令の一部として1つまたは複数のオペランドが必要である。また、多くのアセンブリ言語はオペランドとしてラベルやシンボルを使ってアドレスや定数を表すことができ、それらの値をプログラム内にそのまま書く(ハードコーディング)のを防ぐことができる。マクロアセンブラはマクロ命令機能を備えており、アセンブリ言語のテキストに名前を事前に割り当て、その名前を使うことで他のコードにそのテキストを挿入できる。多くのアセンブラは、プログラム開発を支援したり、アセンブリ過程を制御したり、デバッグを支援したりといった付加機構を備えている。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「アセンブリ言語」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Assembly language 」があります。 スポンサード リンク
|