.file "example.c"
gcc2_compiled.:
___gnu_compiled_c:
.text
LC0:
.ascii "%i\12\0"
.align 2
.globl _main
_main:
call ___main #inicializace programu..
movl $1,%eax #Ted načte proměnné do registrů
xorl %ecx,%ecx
movl $9998,%edx #Cyklus je obráceně..
.align 2,0x90 #Tělo je srovnané, aby se lépe vešlo do cache
L11:
addl %ecx,%eax #A jenom dvě instrukce..
leal (%eax,%eax),%ecx #Takové použití lea jsem poprvé viděl až u GCC
decl %edx #Test smyčky je na konci - kompilátor věděl, že
jns L11 #to poběží vícekrát
pushl %eax #Ještě zavolat printf..
pushl $LC0
call _printf
addl $8,%esp #A zbaví se zásobníku
ret
Dotazy a připomínky ohledně stránky posílejte na hubicka@paru.cas.cz