История изменений
Исправление
nanoolinux,
(текущая версия)
:
Договорённость как передавать аргументы есть часть ABI.
Помимо названых есть ещё pascalcall (или как он там называеться) - это когда через стек, только аргументы в обратном порядке лежат. Под оффтопиком есть ещё stdcall, этого когда callee чистит стек перед тем как сделать ret.
А вообще на асме можно запилить какой хочешь. Даже runtime defined. Ядрёный интерфейс вообще исключительно через регистры все 6 возможных параметров передаёт и никаких стеков.
Исправление
nanoolinux,
:
Договорённость как передавать аргументы есть часть ABI.
Помимо названых есть ещё pascalcall (или как он там называеться) - это когда через стек, только аргументы в обратном порядке лежат. Под оффтопиком есть ещё stdcall, этого когда callee чистит стек перед тем как сделать ret.
А вообще на асме можно запилить какой хочешь. Даже runtime defined. Ядреный интерфейс вообще исключительно через регистры все 6 возможных параметров передаёт и никаких стеков.
Исходная версия
nanoolinux,
:
Договорённость как передавать аргументы называется ABI.
Помимо названых есть ещё pascalcall (или как он там называеться) - это когда через стек, только аргументы в обратном порядке лежат. Под оффтопиком есть ещё stdcall, этого когда callee чистит стек перед тем как сделать ret.
А вообще на асме можно запилить какой хочешь. Даже runtime defined. Ядреный интерфейс вообще исключительно через регистры все 6 возможных параметров передаёт и никаких стеков.