Logo GNU
Kodovani Předchozí Následující Obsah

37. Assembler z GCC v integer verzi

        .file   "b.c"
gcc2_compiled.:
___gnu_compiled_c:
.data
        .align 2
_maxiter:
        .long 10000000
.text
LC0:
        .ascii "Mloops:%f\0"
        .align 2
LC1:
        .long 0x0,0x4056c000
        .align 2
.globl _main
_main:
        pushl %ebp
        movl %esp,%ebp
        subl $4,%esp
        pushl %edi
        pushl %esi
        pushl %ebx
        call ___main
        call _clock
        movl %eax,-4(%ebp)
        xorl %eax,%eax
        xorl %esi,%esi
        movl _maxiter,%ebx
        xorl %ecx,%ecx
        xorl %edx,%edx
        testl %ebx,%ebx
        je L17
        .align 2,0x90
L20:
        addl %esi,%eax
        cmpl $3,%eax
        jg L17
        movl %edx,%esi
        imull %edx,%esi
        movl %edx,%eax
        imull %ecx,%eax
        leal 0(,%eax,2),%edx
        movl %ecx,%eax
        imull %ecx,%eax
        movl %eax,%ecx
        subl %esi,%ecx
        decl %ebx
        jne L20
L17:
        movl _maxiter,%edi
        subl %ebx,%edi
        movl %edi,%ebx
        call _clock
        subl -4(%ebp),%eax
        pushl %eax
        fildl (%esp)
        addl $4,%esp
        fidivrl _maxiter
        fldl LC1
        fmulp %st,%st(1)
        subl $8,%esp
        fstpl (%esp)
        pushl $LC0
        call _printf
        movl %ebx,%eax
        leal -16(%ebp),%esp
        popl %ebx
        popl %esi
        popl %edi
        leave
        ret


Předchozí Následující Obsah

Dotazy a připomínky ohledně stránky posílejte na hubicka@paru.cas.cz