[FLUG] Re: Il crt di Simon

  • From: "Simon" <seddie@xxxxxxxxx>
  • To: <fanolug@xxxxxxxxxxxxx>
  • Date: Wed, 25 Sep 2002 00:56:32 +0200

Mailing List del Fortunae LUG
=============================

> _start:
>    xor    %ebp,%ebp
Azzera ebp

>    pop    %esi
Mette in esi il puntatore all'inizio dell'array dei
puntatori ai parametri.
(cacchio... questo è figo... glielo copio)

>    mov    %esp,%ecx
Mette in ecx il numero dei parametri.

>    and    $0xfffffff0,%esp
Fa sto and del contenuto dell'inidirizzo di memoria
$0xfffffff0 (sarebbe circa -16 no?) con esp e mette
il risultato in $0xfffffff0... boh.

>    push   %eax
>    push   %esp
>    push   %edx
>    push   $0x0
>    push   $0x0
>    push   %ecx
>    push   %esi
>    push   $0x0
Pusha un pò di cacchiate sullo stack, sicuramente
sono parametri che serviranno alla call seguente.
Eax non so cosa contenga in questo caso... esp è
il puntatore all'inizio dell'array dei puntatori
ai parametri, edx avrà della roba che sa lui...
poi pushare un pò di zeri non fa mai male, poi si
perchè no pushamo anche il numero dei parametri...
e via in bellezza anche uno zero che non si sa mai.

>    call   1d <_start+0x1d>
Chiamiamo sto inidirizzo che conterrà sicuramente
roba figa di cui io ignoro l'utilità.

>    hlt
Mette il processore in stato di halt (figo:)

>    mov    %esi,%esi
Eh si questo era del tutto essenziale

Comunque perchè non ti leggi questi tre manuali di
circa 400 pagine ciascuno?

http://www.intel.com/design/pentium4/manuals/

...poi ti interrogo.

Simon.


--
<simon> ho capito una cosa stasera, non devo uscire quando non ho voglia di 
uscire...

Other related posts: