Volaci konvence je veci ABI - application binary interface, nikoliv pouziteho programovaciho jazyka. ABI je napsano pro kazdou architekturu zvlast a popisuje mj. takove veci, jako jak se volaji funkce, jak se ji predevaji parametry, jak se vraci navratova hodnota, ale treba i jak maji vypadat hlavicky ELF souboru, atd. Kuprikladu volaci konvence x86 a amd64 se dost lisi a predpokladam, ze zde autor nehodla rozebirat detaily a rozdily mezi ABI na jednotlivych platformach. Krome toho "bezny" programator tyto informace ke sve praci nepotrebuje, protoze vsechno za nej zaridi prekladac.
Jenze treba na x86 existuje nekolik volacich konvenci, hlavni dve sou C, kde zasobnik uklizi volajici a Pascal, kde ho uklizi volany. Pokud je budu mezi sebou michat tak mi bude kod docela dobre padat. Ale pokud je tohle na *nixu zalezitosti systemu a kompilatory se tomu podrizujou tak jedine dobre, aspon se tim clovek opravdu nemusi zabyvat.
Jinak ze je rozdil mezi x86 a x86-64 sem nevedel, co sem cetl tak treba x86-64 porad cpe treba navratovou adresu na zasobnik, jediny rozdily sou ve velikosti adres (a registru). Na rozdil od takovyho IA-64 kde je navratova adresa ve zvlastnim registru, takze ji neni mozny prepsat pretecnim promenny na stacku.
A uznavam, tohle asi nebude nejlepsi tema pro vsechny...