Как передать нескольких параметров из Си в функцию на ассемблере?
Для архитектуры AMD64 в Linux применяется System V AMD64 ABI:
Первые 6 целых числе или указателей передаются в регистрах RDI, RSI, RDX, RCX, R8, R9, а числа с плавающей точкой в регистрах XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6 и XMM7. Если параметров больше, то дополнительные передаются через стек. Целые числа до 64-бит возвращаются в регистре RAX, а большего размера в паре регистров RAX и RDX. Числа с плавающей точкой подобным же образов возвращаются в регистрах XMM0 и XMM1.
Первые несколько параметров передаются через регистры, остальное через стек.
https://msdn.microsoft.com/ru-ru/library/zthk2dkh.aspx
В Си есть стандарты передачи, но у себя в ассемблеры вы вольны изгаляться как вам угодно.
https://msdn.microsoft.com/ru-ru/library/zkwh89ks.aspx