В руководстве по сборке Linux говорится:
следует запомнить одну очень важную вещь: если вы планируете вернуться из процедуры (с помощью инструкции RET), не переходите к ней! Как в "никогда!" Это вызовет ошибку сегментации в Linux (что нормально - все, что делает ваша программа, это завершается), но в DOS это может взорваться вам прямо в лицо с разной степенью ужасности.
Но я не могу понять, почему вызывает ошибку сегментации. это похоже на возвращение из функции.
У меня есть ситуация, когда мне нужно реализовать логику «Если X произойдет, вызовите процедуру A. В противном случае вызовите процедуру B.» Есть ли другой способ, кроме как прыгать, как кенгуру, плетущий спагетти-код?
jmp
иcall
. - person Gunther Piez   schedule 24.03.2012