[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
dica EP1
- Subject: dica EP1
- From: Fabio Kon <kon@ime.usp.br>
- Date: Wed, 20 Mar 2002 12:10:54 -0300 (EST)
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.