1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| .globl s1
.type s1, @function
s1:
pushl %ebp
movl %esp, %ebp
movl 12(%ebp), %ecx
testl %ecx, %ecx
jle .L9
movl 8(%ebp), %eax
fldz
xorl %edx, %edx
.p2align 4,,7
.L5:
fldt (%eax)
addl $1, %edx
addl $12, %eax
cmpl %ecx, %edx
faddp %st, %st(1)
jne .L5
popl %ebp
ret
.L9:
popl %ebp
fldz
ret
.size s1, .-s1
.p2align 4,,15
.globl s2
.type s2, @function
s2:
pushl %ebp
movl %esp, %ebp
movl 12(%ebp), %ecx
movl 8(%ebp), %eax
testl %ecx, %ecx
jle .L17
fldz
xorl %edx, %edx
.p2align 4,,7
.L14:
fldt (%eax)
addl $1, %edx
addl $12, %eax
cmpl %ecx, %edx
faddp %st, %st(1)
jne .L14
popl %ebp
ret
.L17:
popl %ebp
fldz
ret |
Partager