calling sequence, seqüência de chamada

Nas chamadas de sub-rotina um acordo entre a rotina que faz a chamada e aquela que é chamada. Nesse acordo, é definida a forma como os argumentos serão passados, como os valores serão retornados e qual das rotinas cuidará das tarefa de faixa necessárias (como a limpeza da pilha). A seqüência de chamada é importante nos casos em que as duas rotinas (a que chama e a que é chamada) foram criadas com compiladores diferentes, ou quando uma delas foi escrita em linguagem assembly. As duas seqüências mais comuns são a seqüência de chamada do C e a seqüência de chamada do Pascal. Na seqüência de chamada do C, a rotina principal coloca na pilha, em ordem inversa (da direita para a esquerda), todos os argumentos incluídos na chamada, e cuida da limpeza da pilha; isto permite que um número variável de argumentos seja passado às sub-rotinas. Na seqüência de chamada do Pascal, a rotina principal coloca na pilha todos os argumentos passados, na ordem em que aparecem na instrução de chamada (da esquerda para a direita) e a rotina chamada fica coma responsabilidade de limpar a pilha. Ver também argument (argumento); call (chamada); stack (pilha).