Я пытаюсь изучить x86 AT & T синтаксис и я в месте, где я кулачок немного смущен вообще. Я понимаю, что в стеке есть фреймы, и когда выполняется вызов, первое, что происходит в этой функции, - это какое-то обновление фреймов, а затем получение параметров. Итак, если у меня есть какое-то значение типа 5 в регистре eax в моей основной области кода и функции вызова, у меня все еще есть доступ к значению 5 в eax правильно? Или, чтобы получить его как параметр, мне нужно сделать что-то подобное. Я видел где-то еще, что вы переместили свои аргументы в стек перед вызовом функции, это правда? Я предполагаю, что что-то должно быть расположено в 8 (ebp) для меня, чтобы переместить его в eax, но какова ценность eax, прежде чем я что-то переделаю с помощью movl? Это 5? Я знаю, что это много вопросов, я просто смущен в момент вызова функции и возвращения чего-то. Любая помощь будет принята с благодарностью. Я уверен, что это как кусок пирога для некоторых гуру собрания!Вызов нескольких функций в x86
Function:
pushl %ebp
movl %esp, %ebp
movl 8(ebp), eax
Кто-то должен знать правильный способ вызова функции с аргументами в x86! – Tastybrownies