プログラムを見やすくするために、ロジックのブロックとブロックの間に空白行を入れるといいでしょう。空白行がないままで何十、何百という長いステートメントが続くと見にくいですし、バグ対応でコードを調べる時も追いにくいものです。コメントもそうですが書き方のくせやスタイルは、最初の頃に身に付けないとそれなりにベテランになってからでは変えにくくなるものです。ろくにコメントを付けないまま長年書いてきた人はいつまでもコメントを付けようとはしませんし、見にくくても動けばいいやという人は後から他人が見たり直したりするかも知れないという想像をしてくれないものです。
どこに空白行を入れるべきか
特に決まりはないのですが、基本的には処理(ロジック)の切れ目でしょうか。見やすくなるような位置に入れればいいのです。また、無条件ブランチの後には空白行を入れるといいでしょう。これは筆者もコーディングで心がけていました。無条件ブランチ命令の場合、処理は次の命令にそのまま流れませんからそこはロジックの切れ目と言えます。ラベルの直前を空白行としてもいいでしょう。
1 2 3 4 5 6 7 8 |
: ST R1,WORKF1 B XXXXXXXX <---------- ここに空白行を入れる PROC20 DS 0H LA R2,YYYYYY : : |
空白行を入れる方法
最も簡単なのはソース・コードに直接空白行を書いてしまうことです。この方法だとソース・コードもアセンブリー・リストも両方に空白行が入ります。その他、SPACE命令を書く方法もあります。複数行の空白を入れる場合でも SPACE n と記せば1行で済みます。
SPACE命令ではアセンブリー・リスト上にのみ空白行が入ります。アセンブラー言語プログラムのデバッグは、ソース・コードではなくアセンブリー・リストを見て行うものです。そのため、リスト上に適切な空白行が挿入されるようSPACE命令が用意されています。
1 2 3 4 5 6 7 8 9 10 |
ST R1,WORKF1 B XXXXXXXX SPACE , <---------- ここには空白行が1つ入る LA R2,YYYYYY LA R3,ZZZZZZ SPACE 2 <---------- ここには空白行が2つ入る ST R2,YYYYYY ST R3,ZZZZZZ SPACE 3 <---------- ここには空白行が3つ入る L R1,WORKF1 |
ソースに空白行を入れるにせよSPACE命令を使うにせよ、SDSFなどで見るSYSOUTデータセット上のアセンブリー・リストには空白行は含まれません。空白行はアセンブラーによってANSI文字あるいはマシン制御コードに置き換えられ、プリンターからの印刷時に挿入されます。