[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

dica EP1



Oi,

Para fazer o EP 1, vocês precisarão obedecer às convenções definidas pelo gcc
no Linux de forma a fazer uma função em linguagem de montagem que seja
compatível com o gcc.

No documento Linux Assembly HOWTO, na seção 5.1.1 tem o seguinte trecho que
diz exatamente quais são as convenções que vocês devem usar:

32 bit arguments are pushed down stack in reverse syntactic order (hence
accessed/popped in the right order), above the 32 bit return
address. %ebp, %esi, %edi, %ebx are callee saved, other registers are caller
saved; %eax is to hold the result, or %edx:%eax for 64 bit results.

"calee"  = função chamada
"caller" = função chamadora

Se não me engano, o gcc empilha os argumentos usando 32 bits mesmo
que os argumentos sejam menores do que isso (vocês podem verificar).

Se tiverem dúvidas, escrevam para a lista que o Nelson ou algum
colega responderá.

[]s,
Fabio.