I'm playing around with a Z80 and the compiler I'm using pushes parameters into the stack from left to right. This made me curious since calling conventions usually push from right to left, or so is my understanding. However this doesn't seem to alter the order of evaluation and brings forth two questions...
1. Is order of evaluation independent of the calling convention?
2. A discussion on this issue revealed SPARC compilers seem to prefer fastcall. They load registers with the first 6 parameters and any remaining are pushed down into the stack. What's the order they are pushed in?