アセンブラー・プログラムには、HALT と .END をいくつ表示する必要がありますか? (私たちのプログラムが永久に実行されるべきではないと仮定します)
少なくとも 1 つの HALT と 1 つの .END ですか?
技術的にはそうですが.END
、ソース ファイルの終わりを知らせます。これは厳密にはコンパイル時の構成要素であり、コードが永久に実行されるかどうかには影響しません。プログラムフローが最終的にHALT
命令に到達することを確認する必要があります。そのためには、明らかに少なくとも 1 つの命令が必要です。ただし、それ自体では、すべての実行パスが実際にそこに到達することを保証するものではないため、十分条件ではありません。
アセンブラがソース ファイルが完全であることを認識できるようにするには、.END を 1 つだけ指定する必要があります。
必要な数の HALT を使用できます (「永久に実行」の場合はゼロを含みます) が、高水準言語で複数の return ステートメントを使用する場合と同じ警告が適用されます。複数の終了ポイントはコード フローを不明瞭にする可能性があります。読みやすくするために、HALT ステートメントはできるだけ少なくすることをお勧めします。