Как экспортировать с помощью IntelliJ рабочую конфигурацию, например, конфигурация maven

Как родительская функция знает, как перестраивать себя? Необходимые шаги, встроенные в вызов и ret?

Перед вызовом функции сохраняется текущее состояние регистров, а также адрес возврата. Команда call переходит к конкретному адресу, где начинается вызываемая функция. Обратный адрес помещается в стек. Когда вызываемая функция возвращается, команда ret появляется ранее, толкает обратный адрес и переходит в это место.

Затем rsp всегда перемещается в rbp

. rbp ранее помещается в стек, чтобы иметь возможность восстановить значение rbp из функции вызывающего. Затем rsp перемещается в rbp для создания нового фрейма стека для функции calllee. Создан новый указатель базы. Таким образом, в настоящее время rbp и rsp указывают на одни и те же адреса. Если есть другие инструкции push, esp автоматически настраивается. Когда функция выполнена, команда pop ebp восстанавливает ранее введенный адрес указателя на базовый указатель стека.

0
задан Mark 16 January 2019 в 15:00
поделиться