C arrays are passed by pointer. The calling routine is responsible for removal of parameters. Pascal has both subroutines and functions. For subroutines, there is no space allocated on the stack for a return value, while for functions the space for the return value is allocated on the stack after all of the parameters are passed. VARs are passed as four byte pointers.
Many processors have instructions designed to support constructs common in high level languages.
Ironically, a few high level language constructs have been based on specific hardware instructions on specific processors. Most modern processors have some kind of loop instructions. Bounds check instructions are used to check if an array reference is out of bounds. For those with high speed connections, the very large single file summary is still on line. A web site on dozens of operating systems simply can't be maintained by one person.