Вопрос относится к сборке x86-32 RET n инструкция - PullRequest
0 голосов
/ 19 декабря 2018

Я знаю значение Ret n, но не могу понять его роль в поддержке стека времени выполнения программы?Я немного запутался там.Есть ли что-нибудь, что связано со стеком?

1 Ответ

0 голосов
/ 19 декабря 2018

ret n похоже на ret + add esp, n.Вы используете его для соглашений о вызовах вызывающих абонентов.

Обычный ret подобен pop eip.(pop eip не является действительной инструкцией, но она хорошо выражает то, что делает ret).Да, он использует стек;прочитайте документациюhttp://felixcloutier.com/x86/RET.html (в частности, часть «ближний возврат».)

«дальний ответ» более сложен, но не используется в 32- или 64-битном коде с моделью с плоской памятью.т.е. не используется вообще в нормальном коде.

...