Здравствуйте. Есть исходный код на Си, который вызывает функцию на ассемблере, но передаваемые аргументы как получить, например int function(int*,int,int); через регистровые переменные могу уловить только первый аргумент-указатель а как быть с остальными аргументами. Часто слышу через "стек"! тогда в какой переменной он должен храниться(его вершина)?
Есть исходный код на Си, который вызывает функцию на ассемблере, но передаваемые аргументы как получить,
Гуглить словосочетание "имя целевой процессорной архитектуры" + ABI.
Например: x86_64 abi, x86 abi, arm64 abi...
В найденном документе искать раздел "parameter passing", "function calling" или с похожим по смыслу названием.
Да не так все просто, документации на i32 не нашел, нашел руководство по 64 битам, вроде все должно работать нормально ведь 32 это подмножество 64 и с ней работает передача параметров. Короче, перебрал все регистры и как указатели и как переменные, в итоге не чего не словил. И кстати, "parameter passing": там в основном объясняется классификация памяти и только в оконцовочке перебраны регистры которые мне знакомы. Давай дельные советы!