According to the Linux x86 calling convention, certain register states are saved by the caller on the stack frame and certain registers by the callee. Some of the generated assembly from clang for C that I have seen explicitly does some of the push and pop. But if I am hand writing assembly, is the application of calling convention implicit of do I as a programmer have to make sure to abide it?
Please ask for details if the question does not make sense.