| パラダイム | 非構造化、命令形 |
|---|---|
| 家族 | アセンブリ言語 |
| 開発者 | デジタル・イクイップメント・コーポレーション |
| 初登場 | 1980年 |
| タイピングの規律 | 未入力 |
| 範囲 | 語彙 |
| 実装言語 | アセンブリ言語 |
| プラットフォーム | PDP-11 |
| OS | すべて DEC PDP-11 |
| 影響を受けた | |
| PAL-11R | |
| 影響を受けた | |
| ヴァックスマクロ | |
MACRO-11は、マクロ機能を備えたアセンブリ言語で、Digital Equipment Corporation (DEC) のPDP-11ミニコンピュータファミリ向けに設計されています。マクロ機能のない PDP-11 アセンブリ言語の以前のバージョンである Program Assembler Loader ( PAL-11R ) の後継です。
MACRO-11は、すべてのDEC PDP-11オペレーティングシステムでサポートされていました。PDP-11 Unixシステムには、構造的にはMACRO-11に似ていますが、構文が異なり、機能が少ないアセンブラ()も含まれています。MACRO-11アセンブラ(およびそれによって作成されたプログラム)は、 VAX上のOpenVMSのRSX-11互換モードでも実行できます。[1]
プログラミング例
RT-11で実行するための、PDP-11 マクロ アセンブラーの完全な「Hello, World!」プログラム:
.TITLE HELLO WORLD .MCALL .TTYOUT , .EXIT HELLO: : MOV #MSG,R1 ;文字列1の開始アドレス$: MOVB ( R1 ) + , R0 ;次の文字をフェッチBEQ DONE ;ゼロの場合はループを終了.TTYOUT ;それ以外の場合はそれを印刷BR 1 $ ;ループを繰り返すDONE: .EXIT
MSG: .ASCIZ / Hello , world ! / .END HELLO
疑似.MCALLオペレーションは、コードが.TTYOUTおよび.EXITマクロを使用することをアセンブラに警告します。.TTYOUTおよび.EXITマクロは、標準システム マクロ ライブラリで定義され、EMT要求された機能を実行するために RT-11 モニターを呼び出す命令に展開されます。
このファイルがHELLO.MACの場合、アセンブル、リンク、実行するための RT-11コマンド(コンソール出力も表示) は次のようになります。
.MACRO HELLOエラーが検出されました: 0
.LINKこんにちは
.R HELLOこんにちは、世界!.
(RT-11のコマンドプロンプトは「.」です)
MACRO-11 コードのより複雑な例として、Kevin Murrell の KPUN.MAC と Farba Research の JULIAN ルーチンの 2 つをランダムに選択しました。PDP-11 コードのより広範なライブラリは、Metalab フリーウェアと Trailing Edge アーカイブにあります。[2] [3]
参考文献
- ^ 「VAX/VMS ソフトウェア言語およびツール ハンドブック」(PDF) . Bitsavers.org . 1985 . 2020 年 12 月 31 日閲覧。
- ^ メタラボ
- ^ トレーリングエッジ
外部リンク
- オリジナルドキュメント (RSX11M_V2)
- Michael Singer、PDP-11。アセンブラ言語プログラミングとマシン編成、John Wiley & Sons、NY: 1980。
