165 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			165 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
.globl main
 | 
						|
.text
 | 
						|
.align 16
 | 
						|
.type main,@function
 | 
						|
main:
 | 
						|
pushl %ebp
 | 
						|
pushl %ebx
 | 
						|
pushl %esi
 | 
						|
pushl %edi
 | 
						|
movl %esp,%ebp
 | 
						|
subl $24,%esp
 | 
						|
cmpl $1,20(%ebp)
 | 
						|
jg .LC2
 | 
						|
flds .LC4
 | 
						|
fstps -16(%ebp)
 | 
						|
jmp .LC3
 | 
						|
.LC2:
 | 
						|
movl 24(%ebp),%edi
 | 
						|
pushl 4(%edi)
 | 
						|
call atof
 | 
						|
addl $4,%esp
 | 
						|
fstps -20(%ebp)
 | 
						|
flds -20(%ebp)
 | 
						|
fdivs .LC5
 | 
						|
fstps -16(%ebp)
 | 
						|
.LC3:
 | 
						|
movl $0,-4(%ebp)
 | 
						|
.LC6:
 | 
						|
movl -4(%ebp),%edi
 | 
						|
leal 1(%edi),%esi
 | 
						|
movl %esi,-4(%ebp)
 | 
						|
flds .LC4
 | 
						|
fstps f(,%edi,4)
 | 
						|
.LC7:
 | 
						|
cmpl $127,-4(%ebp)
 | 
						|
jle .LC6
 | 
						|
movl $0,-8(%ebp)
 | 
						|
jmp .LC11
 | 
						|
.LC10:
 | 
						|
movl -12(%ebp),%edi
 | 
						|
leal f(,%edi,4),%edi
 | 
						|
flds (,%edi)
 | 
						|
fadds .LC13
 | 
						|
fstps (,%edi)
 | 
						|
incl -8(%ebp)
 | 
						|
.LC11:
 | 
						|
call getchar
 | 
						|
movl %eax,-12(%ebp)
 | 
						|
cmpl $-1,%eax
 | 
						|
jne .LC10
 | 
						|
pushl $.LC14
 | 
						|
call printf
 | 
						|
addl $4,%esp
 | 
						|
movl $0,-4(%ebp)
 | 
						|
.LC15:
 | 
						|
movl -4(%ebp),%edi
 | 
						|
flds f(,%edi,4)
 | 
						|
fstps -24(%ebp)
 | 
						|
flds .LC4
 | 
						|
fcomps -24(%ebp)
 | 
						|
fstsw %ax
 | 
						|
sahf
 | 
						|
jp 1f
 | 
						|
je .LC19
 | 
						|
1:
 | 
						|
flds -24(%ebp)
 | 
						|
fildl -8(%ebp)
 | 
						|
fdivrp %st,%st(1)
 | 
						|
flds -16(%ebp)
 | 
						|
fcompp
 | 
						|
fstsw %ax
 | 
						|
sahf
 | 
						|
jp .LC19
 | 
						|
ja .LC19
 | 
						|
cmpl $32,-4(%ebp)
 | 
						|
jg .LC21
 | 
						|
pushl -4(%ebp)
 | 
						|
pushl $.LC23
 | 
						|
call printf
 | 
						|
addl $8,%esp
 | 
						|
jmp .LC22
 | 
						|
.LC21:
 | 
						|
pushl -4(%ebp)
 | 
						|
pushl $.LC24
 | 
						|
call printf
 | 
						|
addl $8,%esp
 | 
						|
.LC22:
 | 
						|
flds .LC5
 | 
						|
movl -4(%ebp),%edi
 | 
						|
fmuls f(,%edi,4)
 | 
						|
fildl -8(%ebp)
 | 
						|
fdivrp %st,%st(1)
 | 
						|
subl $8,%esp
 | 
						|
fstpl (%esp)
 | 
						|
pushl $.LC25
 | 
						|
call printf
 | 
						|
addl $12,%esp
 | 
						|
.LC19:
 | 
						|
.LC16:
 | 
						|
incl -4(%ebp)
 | 
						|
cmpl $127,-4(%ebp)
 | 
						|
jle .LC15
 | 
						|
mov $0,%eax
 | 
						|
.LC1:
 | 
						|
movl %ebp,%esp
 | 
						|
popl %edi
 | 
						|
popl %esi
 | 
						|
popl %ebx
 | 
						|
popl %ebp
 | 
						|
ret
 | 
						|
.Lf26:
 | 
						|
.size main,.Lf26-main
 | 
						|
.bss
 | 
						|
.globl f
 | 
						|
.align 4
 | 
						|
.type f,@object
 | 
						|
.size f,512
 | 
						|
.comm f,512
 | 
						|
.data
 | 
						|
.align 1
 | 
						|
.LC25:
 | 
						|
.byte 9
 | 
						|
.byte 37
 | 
						|
.byte 46
 | 
						|
.byte 49
 | 
						|
.byte 102
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.LC24:
 | 
						|
.byte 37
 | 
						|
.byte 99
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.LC23:
 | 
						|
.byte 37
 | 
						|
.byte 48
 | 
						|
.byte 51
 | 
						|
.byte 111
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.LC14:
 | 
						|
.byte 99
 | 
						|
.byte 104
 | 
						|
.byte 97
 | 
						|
.byte 114
 | 
						|
.byte 9
 | 
						|
.byte 102
 | 
						|
.byte 114
 | 
						|
.byte 101
 | 
						|
.byte 113
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 4
 | 
						|
.LC13:
 | 
						|
.long 1065353216
 | 
						|
.align 4
 | 
						|
.LC5:
 | 
						|
.long 1120403456
 | 
						|
.align 4
 | 
						|
.LC4:
 | 
						|
.long 0
 | 
						|
.text
 | 
						|
.ident "LCC: 4.2"
 |