The calling convention for C code in particular was to pass parameters in "reverse order" on the stack and return values on the stack rather than in a processor register.
MS-DOS support was still provided with the release of Microsoft's first C++ Compiler, MSC 7, which was backwardly compatible with the C programming language and MS-DOS and supported both 16 bit and 32 bit code generation.