構造化プログラミングサポート
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/12 10:21 UTC 版)
「アセンブリ言語」の記事における「構造化プログラミングサポート」の解説
構造化プログラミングの要素を取り入れたアセンブラもある。最初期の例として"Concept-14 macro set"がある。Dr. H.D. Mills(March, 1970)が提案し、IBMの連邦政府システム部門のMarvin Kesslerが実装したもので、System/360のマクロアセンブラにIF/ELSE/ENDIFなどの制御構造を導入した。これはRatforなどと同様の発想で、コードの表面上からGOTOを消し、制御構造風な読みやすいマクロでコードを書けるというものだった。1980年代にはこの手法が広まった。 独特の設計として、Whitesmiths Ltd.(Unix系OS Idris やCコンパイラで有名)が開発した8080/Z80プロセッサ用「ストリーム指向」アセンブラ A-natural がある。この言語はオペコードやレジスタ、メモリ参照といった要素をそのまま扱えるためアセンブラと呼ばれているが、実行順序を示す構文を取り入れていた。括弧やその他の記号でプログラムのブロック構造を指定したり、生成した命令列の実行順序を制御できる。A-naturalは同社のCコンパイラが中間コードとしており、人間が直接使うものではなかったが、その構文にはファンも存在した。 また構造化プログラミングとは若干異なるが、キャリーラボはBASIC風の文法のアセンブリ言語 BASE を開発した。Z80用のBASE-80とMC6809用のBASE-09がある。BASEの表記例は下記の通り(BASE-09)。 S[A,B,X,UA=$80A=A+$C0S]A,B,X,U,PC 上記の記述は下記のアセンブラ表記に対応する。 PSHS A,B,X,ULDA #$80ADDA #$C0PULS A,B,X,U,PC その後、アセンブリ言語で大規模システムを開発することが少なくなり、アセンブリ言語の高機能化の需要が減っていった。それでも、資源の制約が強い場合やターゲットシステムのアーキテクチャが高水準言語の効率的使用を妨げている場合、アセンブラは有用であり、高機能なアセンブラの開発も行われている。
※この「構造化プログラミングサポート」の解説は、「アセンブリ言語」の解説の一部です。
「構造化プログラミングサポート」を含む「アセンブリ言語」の記事については、「アセンブリ言語」の概要を参照ください。
- 構造化プログラミングサポートのページへのリンク