回答受付が終了しました

アセンビラーの命令で悩んでいます。 私はアセンブラーのプログラム解析を行っています。アセンブラープログラムで2点疑問がありましたので質問いたします。

  • ・キャンペーン対象の質問は「共感した」→「参加する」に変更されています。
  • ・「参加する(共感した)」を押した質問に新しい回答がつくとMy知恵袋に通知がきます。
  • ・「参加する(共感した)」を押した後に解除はできません。

回答(1件)

いづれにせよアセンブラーの命令は関係ありませんよね? アベンド(ABEND; ABnormal END; 異常終了)さえしなければ良いというものでもありませんが、必ずしもアベンドするとは限りません。 特に(2)の場合は通常はアベンドしません。代わりにファイルが破損した状態になったり、後にそれを開こうとした他プロセスがアベンドしたりするかも知れませんが、そのプログラムが終了する時には問題無く正常終了する場合が多いです。 また(1)の場合は、close命令の方で安全策が取られていて、二重にコーディングされていても二度目の方で既に閉じられていることを検出して黙ってスルーする実装になっていることが少なくありません。もっと正確に言いますと、close命令は失敗したと報告するのですがプログラムの方が close命令が成功したか失敗したかを確認していない場合が多かったりするのです。 これ自体も本来ならコーディング・ミスと断ずるべきですが、では失敗したら何をするのかと言っても結局することは無かったりするので結果としては同じことなのです。 要するに、「動いてるんだけどおかしくないですか?」という問いに対しては「まあ、そういうこともありますよ」という回答になります。

この回答はいかがでしたか? リアクションしてみよう