高レベルアセンブリ - 百科事典

計算における高レベルアセンブリは、高レベルプログラミング言語に見られる機能を持つアセンブリ言語用のアセンブリです。もっとも初期の高レベルアセンブリは、おそらく1960年頃のBurroughsのExecutive Systems Problem Oriented Language (ESPOL)であり、これは明示的に指定されたBurroughs B5000マシン命令に似たALGOL的な構文を提供していました。これに続いて、1968年にNiklaus WirthのPL360が登場し、彼が馴染みのあるBurroughsの機能をIBM System/360にリプラテクトしました。より最近の高レベルアセンブリには、BorlandのTurbo Assembler (TASM)、Netwide Assembler (NASM)、Microsoftのマクロアセンブリ(MASM)、z/Architectureシステム用のIBMのHigh Level Assembler (HLASM)、Alessandro GhignolaのLinoleum、CosmosとZironで使われるX#などがあります。

高レベルアセンブリは、通常、以下のような機能を提供します。以下の一対一で低レベルマシンコードにアセンブリする命令、IF、WHILE、REPEAT...UNTIL、FORなどの制御文、マクロ、およびその他の強化機能です。これにより、最大のスピードや最小のスペースが必須でない場合に、高レベル制御文抽象を使用することができます。直接マシンコードにアセンブリされる低レベル文は、最も高速かつ短いコードを生成するために使用できます。結果として、標準のアセンブリコードよりもはるかに読みやすいアセンブリソースコードが得られながら、アセンブリ言語を使用する際の効率を保ちます。

高レベルアセンブリは、一般的に情報隠匿機能と、高レベルのような構文を使用して関数やプロシージャを呼び出す能力を提供します(つまり、アセンブリが自動的に呼び出しスタックにパラメータをプッシュするコードを生成します)。高レベルアセンブリは、高レベル言語に見られるデータ抽象も提供します。例としては、データ構造、ユニオン、クラス、集合などがあります。一部の高レベルアセンブリ(例:TASMとHigh Level Assembly (HLA))は、オブジェクト指向プログラミングをサポートしています。

参考文献
Salomon, David (February 1993) [1992]. Written at California State University, Northridge, California, USA. Chivers, Ian D. (ed.). Assemblers and Loaders (PDF). Ellis Horwood Series In Computers And Their Applications (1 ed.). Chicester, West Sussex, UK: Ellis Horwood Limited / Simon & Schuster International Group. ISBN 0-13-052564-2. Archived (PDF) from the original on 2020-03-23. Retrieved 2008-10-01. [1][2] (xiv+294+4 pages) (NB. Presents definitions and examples of older high-level assemblers.)
Randall Hyde (2010). The Art of Assembly Language (2nd ed.). ISBN 978-1-5932-7207-4.

外部リンク
HAL70 , Hamish Dewar [3] A high level assembly language for Interdata series 70 mini-computers.
Webster site with information and links on HLA and assembler