sum2: mrmovl 4(%esp),%ecx # param n mrmovl 8(%esp),%edx # param t pushl %ebx # registre callee-save irmovl 0,%eax # res = 0 loop2: isubl 1,%ecx # n-- jl end2 # fin si n < 0 mrmovl (%edx),%ebx # x=*t pushl %eax # registre caller-save pushl %ecx # registre caller-save pushl %edx # registre caller-save pushl %ebx # empiler x call square # square(x) iaddl 4,%esp # depiler x rrmovl %eax,%ebx # recuperation retour x^2 popl %edx # registre caller-save popl %ecx # registre caller-save popl %eax # registre caller-save addl %ebx,%eax # res += x^2 iaddl 4,%edx # t += 4 jmp loop2 end2: popl %ebx # registre callee-save ret # retour dans %eax