Re:Learning to Read X86 Assembly Language
by pertymcpert on Sunday November 27, 2016 @07:27PM
(#13052557)
It is a convention, it's called a procedure call standard. Compilers which conform to the PCS can call functions compiled by other compilers (that's how you can use libraries for example). If there's a bug in the compiler that results in non-PCS compliance, well that's a "fun" bug to track down.
[ Parent
| on HN ]
Re:Learning to Read X86 Assembly Language
by wolf550e on Sunday November 27, 2016 @07:49PM
(#13052642)
I think "procedure call standard" is an ARM term. Linux on commodity hardware uses the "System V AMD64 ABI calling convention" (https://en.wikipedia.org/wiki/X86_calling_conventions#System...).
Re:Learning to Read X86 Assembly Language
by vram22 on Monday November 28, 2016 @10:46AM
(#13056110)
>It is a convention, it's called a procedure call standard.
Is this the same thing as, or related to, the calling conventions that used to be used in Microsoft DOS and Windows native language / C apps some years ago - things like "long far pascal" as function declaration /definition qualifiers, and things like the fact that C pushes function arguments onto the stack (before the call) from left to right, and Pascal does it from right to left (or the other way around)? (Did some of that stuff, but it's been a while).
I did read the surrounding comments to this one, and saw that some of the topic was about registers, not the stack.