Thanks for the explainations! I did read in the Pike's paper about the syntax name+offset(FP), but I did understood that name had to be a symbol already defined, and I was looking for it in the c code. Sorry for the noise! This led me to another question, however: I've read before that the plan9 compilers use the stack for va_list, but here the assembler is using it also for explicit parameters, right? Is it correct to say that this means that the Plan9 compiler suite *never* follows the sysV calling convention documented at section 3.2.3 of AMD64 ABI http://www.x86-64.org/documentation/abi.pdf and always pushes parameters to the stack? Giacomo 2016-02-01 23:48 GMT+01:00 : > FP is a translated to a varying offset to SP depending on where in the > program > you are. arguments on the stack are padded to 8 bytes on amd64, the first > argument > is not passed on the stack on function entry, but passed in BP register > (RARG is an > alias for that), however the slot on the stack for first arg is still > reserved > so we have a save place to splill it. so 0(FP) is first function argument > on the > stack, 8(FP) second argument 16(FP) third ect... > > -- > cinap > >