Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Чем в машинном коде отличаются мнемоники "call-ret" и "jmp label-ret"? Оба вызывают функцию, а чем отличаются?

Andy Brown Ученик (86), на голосовании 1 месяц назад
Голосование за лучший ответ
Бекмырза Рахмет Ученик (112) 2 месяца назад
call-ret: сохраняет адрес возврата в стек, что позволяет вернуться в точку вызова после выполнения функции.

jmp label-ret: просто переходит по адресу, не сохраняя адрес возврата, поэтому вернуться автоматически нельзя.

Разница: call-ret подходит для вызова функций с возвратом, а jmp — для переходов без возврата.
Похожие вопросы