Сборка:Почему переход к метке, которая возвращается через ret, вызывает ошибку сегментации?

Учебник по сборке Linux утверждает:

есть одна очень важная вещь, которую следует помнить:Если вы планируете вернуться из процедуры (с инструкцией RET), не Не прыгай! Как в "никогда!" Это вызовет ошибку сегментации в Linux (, что нормально — все, что делает ваша программа, — это завершает работу), но в DOS она может взорваться вам в лицо с разной степенью ужаса.

Но я не могу понять , почему это вызывает ошибку сегментации. это звучит так же, как возврат из функции.

У меня возникла ситуация, когда мне нужно реализовать логику «Если произойдет X, вызовите процедуру A. В противном случае вызовите процедуру B». Есть ли какой-нибудь другой способ, кроме как прыгать, как кенгуру, плетущий код спагетти?

5
задан InvalidBrainException 23 March 2012 в 23:22
поделиться