.global soma soma: pushq %rbp # cria o stack frame movq %rsp, %rbp subq $4, %rsp # reserva espaco para x movl %edi,-4(%rbp) # armazena primeiro param. em x addl %esi,-4(%rbp) # soma os dois parametros de entrada movl -4(%rbp),%eax # armazena x em eax (para retorno da funcao) addq $4,%rsp # libera espaco de x popq %rbp # restaura a base da pilha ret