Linuxアセンブリチュートリアルには次のように記載されています。
覚えておくべき非常に重要なことが1つあります。(RET命令を使用して)プロシージャから戻ることを計画している場合は、それにジャンプしないでください。「決して!」のように これを行うと、Linuxではセグメンテーション違反が発生します(これは問題ありません。プログラムが終了するだけです)が、DOSでは、さまざまな程度の恐ろしさで顔を爆破する可能性があります。
しかし、なぜそれがセグメンテーション違反を引き起こすのか理解できません。関数から戻るように聞こえます。
「Xが発生した場合は、プロシージャAを呼び出します。それ以外の場合は、プロシージャBを呼び出します」というロジックを実装する必要がある状況があります。カンガルー織りのスパゲッティコードのように飛び回る以外の方法はありますか?