PC Assembly Language
This is a very good tutorial about 32 bit protected mode assembly, using NASM. It includes not only how to program in assembler but also how to interact with C/C++ programs.
Calling conventions on the x86 platform
Aug, 2004 - Andreas Jönsson
This article shows how MSVC++ and MinGW g++ implements the different calling conventions. Especially interesting for those who write assembly routines that interact with C++.
x64 Software Conventions
Explains calling conventions on AMD 64bit processors as implemented by MSVC.
x64 ABI vs. x86 ABI (aka Calling Conventions for AMD64 & EM64T)
Thunking in Win32: Simplifying callbacks to non-static member functions
Dec, 2006 - Einar Otto Stangvik
Shows how to build a thunk that allows you to pass a class member pointer to a callback that expects a global function pointer. The code is highly platform dependent though.
Mac OS X ABI Function Call Guide
Nov, 2006 - Apple
This is the official guide to the Mac OS X ABI. It covers both 32bit and 64bit PowerPC, as well as 32bit IA-32 (x86).
Daniel Adler, Tassilo Philipp
This library implements support for dynamically calling C/C++ functions and methods, by pushing arguments on a virtual stack and then invoking the function. It is similar to how AngelScript internally calls C/C++ functions and methods.
System V Application Binary Interface, AMD64 Architecture Processor Supplement
Sep, 2010 - Michael Matz, Jan Hubicka, Andreas Jaeger, Mark Mitchell
This document gives detailed specification for the AMD64 ABI commonly used by the gnuc compiler on platforms like Linux and Mac OS X.
Calling conventions for different C++ compilers and operating systems
Jun, 2011 - Agner Fog
This document explains how calling conventions is implement on different compilers and platforms. It also describes the algorithm used for the name mangling.
The Component Object Model
This article gives a good overview on COM and its specification.
iOS ABI Function Call Guide
This article describes the ABI used by Apple for iOS on all different CPUs that iOS is available for, including ARMv6, ARMv7, and ARM64.