Существует несколько соглашений о вызовах, но наиболее распространенным является CDECL . Аргументы помещаются в стек в порядке, описанном этой ссылкой, и «чистые» регистры, доступные вызываемому пользователю, - %eax
, %ecx
и %edx
. Все остальное должно быть сохранено в стеке.
Но, как отмечали другие люди, это только одна из многих конвенций. Проверьте документацию для системы, для которой вы программируете.