About Calling Convention

[A series of posts on the topics of Calling Convention, by RAYMOND CHEN – MSFT, The Old New Thing]
 
Those posts are tedious sufficiently, however, are still worthy of reading. You will get a rough idea about the road map of how calling convention is being developed, how calling convention is related to a specific architecture of CPU, how calling convention changes from 16-bit to 32-bit, and eventually to 64-bit architecure of CPU. You will also find some famous CPU listed in the posts, e.g., Power PC (PPC, which is a abandon-a-baby of Steve Jobs’s), Intel IA64 (Itanium), and AMD64 (AKA, a x86 architectured CPU with 64-bit extension).
 
[Discussed __cdecl (C Calling Convention), __pascal/__fortran, __fastcall]
 
[Discussed RISC-styled instruction set of CPU, Alpha AXP, MIPS R4000, Power PC]
Great tip: Curiously, it is only the 8086 and x86 platforms that have multiple calling conventions. All the others have only one!
 
[Discussed 32-bit version on the contrary of 16-bit in Part 1, and also thiscall (implicitly used when programming in C++)]
 
[Intel IA64]
 
[AMD 64]
 
Some terminologies in Part 4, 5 are a little difficult for me to understand, definitely, I lose most ideas on 64-bit world. But, I’m confident. Some day in the future, if I look back to this topic, I will have already been clear with them. haha~~~