.globl print
.text
.align 16
.type print,@function
print:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
movl %esp,%ebp
fldl D
subl $8,%esp
fstpl (%esp)
fldl d
subl $8,%esp
fstpl (%esp)
flds f
subl $8,%esp
fstpl (%esp)
pushl L
pushl I
movw S,%di
movzwl %di,%edi
pushl %edi
movb C,%bl
movzbl %bl,%edi
pushl %edi
pushl l
pushl i
movswl s,%edi
pushl %edi
movsbl c,%edi
pushl %edi
pushl $.LC2
call printf
addl $60,%esp
.LC1:
movl %ebp,%esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
.Lf3:
.size print,.Lf3-print
.globl main
.align 16
.type main,@function
main:
pushl %ebp
pushl %ebx
pushl %esi
pushl %edi
movl %esp,%ebp
subl $296,%esp
movb $1,c
movsbl c,%edi
movl %edi,%esi
movw %si,s
movl %edi,i
movl %edi,l
movl %edi,%esi
movl %esi,%ebx
movb %bl,C
movl %esi,%ebx
movw %bx,S
movl %esi,I
movl %esi,L
pushl %edi
fildl (%esp)
addl $4,%esp
fstps f
pushl %edi
fildl (%esp)
addl $4,%esp
fstpl -8(%ebp)
fldl -8(%ebp)
fstpl d
fldl -8(%ebp)
fstpl D
call print
movw $2,s
movswl s,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,i
movl %edi,l
movl %edi,%esi
movl %esi,%ebx
movb %bl,C
movl %esi,%ebx
movw %bx,S
movl %esi,I
movl %esi,L
pushl %edi
fildl (%esp)
addl $4,%esp
fstps f
pushl %edi
fildl (%esp)
addl $4,%esp
fstpl -16(%ebp)
fldl -16(%ebp)
fstpl d
fldl -16(%ebp)
fstpl D
call print
movl $3,i
movl i,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,%esi
movw %si,s
movl %edi,l
movl %edi,%esi
movl %esi,%ebx
movb %bl,C
movl %esi,%ebx
movw %bx,S
movl %esi,I
movl %esi,L
pushl %edi
fildl (%esp)
addl $4,%esp
fstps f
pushl %edi
fildl (%esp)
addl $4,%esp
fstpl -24(%ebp)
fldl -24(%ebp)
fstpl d
fldl -24(%ebp)
fstpl D
call print
movl $4,l
movl l,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,%esi
movw %si,s
movl %edi,i
movl %edi,%esi
movl %esi,%ebx
movb %bl,C
movl %esi,%ebx
movw %bx,S
movl %esi,I
movl %esi,L
pushl %edi
fildl (%esp)
addl $4,%esp
fstps f
pushl %edi
fildl (%esp)
addl $4,%esp
fstpl -32(%ebp)
fldl -32(%ebp)
fstpl d
fldl -32(%ebp)
fstpl D
call print
movb $5,C
movb C,%bl
movzbl %bl,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,%esi
movw %si,s
movl %edi,i
movl %edi,l
movl %edi,%esi
movl %esi,%ebx
movw %bx,S
movl %esi,I
movl %esi,L
pushl %edi
fildl (%esp)
addl $4,%esp
fstps f
pushl %edi
fildl (%esp)
addl $4,%esp
fstpl -40(%ebp)
fldl -40(%ebp)
fstpl d
fldl -40(%ebp)
fstpl D
call print
movw $6,S
movw S,%di
movzwl %di,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,%esi
movw %si,s
movl %edi,i
movl %edi,l
movl %edi,%esi
movl %esi,%ebx
movb %bl,C
movl %esi,I
movl %esi,L
pushl %edi
fildl (%esp)
addl $4,%esp
fstps f
pushl %edi
fildl (%esp)
addl $4,%esp
fstpl -48(%ebp)
fldl -48(%ebp)
fstpl d
fldl -48(%ebp)
fstpl D
call print
movl $7,I
movl I,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,%ebx
movw %bx,s
movl %edi,i
movl %edi,l
movl %edi,%ebx
movb %bl,C
movl %edi,%esi
movw %si,S
movl %edi,L
fldl .LC5
movl %edi,%esi
shrl $1,%esi
pushl %esi
fildl (%esp)
addl $4,%esp
fmulp %st(1),%st
andl $1,%edi
pushl %edi
fildl (%esp)
addl $4,%esp
faddp %st(1),%st
fstpl -56(%ebp)
fldl -56(%ebp)
fstps f
fldl -56(%ebp)
fstpl d
fldl -56(%ebp)
fstpl D
call print
movl $8,L
movl L,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,%ebx
movw %bx,s
movl %edi,i
movl %edi,l
movl %edi,%ebx
movb %bl,C
movl %edi,%esi
movw %si,S
movw S,%si
movzwl %si,%esi
movl %esi,I
fldl .LC5
movl %edi,%esi
shrl $1,%esi
pushl %esi
fildl (%esp)
addl $4,%esp
fmulp %st(1),%st
andl $1,%edi
pushl %edi
fildl (%esp)
addl $4,%esp
faddp %st(1),%st
fstpl -64(%ebp)
fldl -64(%ebp)
fstps f
fldl -64(%ebp)
fstpl d
fldl -64(%ebp)
fstpl D
call print
flds .LC6
fstps f
flds f
fstps -84(%ebp)
flds -84(%ebp)
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,%esi
movw %si,s
movl %edi,i
movl %edi,l
flds .LC10
fcomps -84(%ebp)
fstsw %ax
sahf
ja .LC8
flds -84(%ebp)
fsubs .LC10
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-68(%ebp)
jmp .LC9
.LC8:
flds -84(%ebp)
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-68(%ebp)
.LC9:
movl -68(%ebp),%edi
movl %edi,%ebx
movb %bl,C
flds .LC10
fcomps f
fstsw %ax
sahf
ja .LC12
flds f
fsubs .LC10
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-72(%ebp)
jmp .LC13
.LC12:
flds f
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-72(%ebp)
.LC13:
movl -72(%ebp),%edi
movw %di,S
flds .LC10
fcomps f
fstsw %ax
sahf
ja .LC15
flds f
fsubs .LC10
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-76(%ebp)
jmp .LC16
.LC15:
flds f
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-76(%ebp)
.LC16:
movl -76(%ebp),%edi
movl %edi,I
flds .LC10
fcomps f
fstsw %ax
sahf
ja .LC18
flds f
fsubs .LC10
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-80(%ebp)
jmp .LC19
.LC18:
flds f
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-80(%ebp)
.LC19:
movl -80(%ebp),%edi
movl %edi,L
flds f
fstpl -120(%ebp)
fldl -120(%ebp)
fstpl d
fldl -120(%ebp)
fstpl D
call print
fldl .LC20
fstpl d
fldl d
fstpl -144(%ebp)
fldl -144(%ebp)
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,%esi
movw %si,s
movl %edi,i
movl %edi,l
fldl .LC24
fcompl -144(%ebp)
fstsw %ax
sahf
ja .LC22
fldl -144(%ebp)
fsubl .LC24
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-124(%ebp)
jmp .LC23
.LC22:
fldl -144(%ebp)
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-124(%ebp)
.LC23:
movl -124(%ebp),%edi
movl %edi,%ebx
movb %bl,C
fldl .LC24
fcompl d
fstsw %ax
sahf
ja .LC26
fldl d
fsubl .LC24
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-128(%ebp)
jmp .LC27
.LC26:
fldl d
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-128(%ebp)
.LC27:
movl -128(%ebp),%edi
movw %di,S
fldl .LC24
fcompl d
fstsw %ax
sahf
ja .LC29
fldl d
fsubl .LC24
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-132(%ebp)
jmp .LC30
.LC29:
fldl d
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-132(%ebp)
.LC30:
movl -132(%ebp),%edi
movl %edi,I
fldl .LC24
fcompl d
fstsw %ax
sahf
ja .LC32
fldl d
fsubl .LC24
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-136(%ebp)
jmp .LC33
.LC32:
fldl d
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-136(%ebp)
.LC33:
movl -136(%ebp),%edi
movl %edi,L
fldl d
fstps f
fldl d
fstpl D
call print
fldl .LC34
fstpl D
fldl D
fstpl -232(%ebp)
fldl -232(%ebp)
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,%ebx
movb %bl,c
movl %edi,%esi
movw %si,s
movl %edi,i
movl %edi,l
fldl .LC38
fcompl -232(%ebp)
fstsw %ax
sahf
ja .LC36
fldl -232(%ebp)
fsubl .LC38
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-212(%ebp)
jmp .LC37
.LC36:
fldl -232(%ebp)
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-212(%ebp)
.LC37:
movl -212(%ebp),%edi
movl %edi,%ebx
movb %bl,C
fldl .LC38
fcompl D
fstsw %ax
sahf
ja .LC40
fldl D
fsubl .LC38
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-216(%ebp)
jmp .LC41
.LC40:
fldl D
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-216(%ebp)
.LC41:
movl -216(%ebp),%edi
movw %di,S
fldl .LC38
fcompl D
fstsw %ax
sahf
ja .LC43
fldl D
fsubl .LC38
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-220(%ebp)
jmp .LC44
.LC43:
fldl D
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-220(%ebp)
.LC44:
movl -220(%ebp),%edi
movl %edi,I
fldl .LC38
fcompl D
fstsw %ax
sahf
ja .LC46
fldl D
fsubl .LC38
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
leal 0x80000000(%edi),%edi
movl %edi,-224(%ebp)
jmp .LC47
.LC46:
fldl D
subl $4,%esp
fistpl 0(%esp)
popl %eax
movl %eax,%edi
movl %edi,-224(%ebp)
.LC47:
movl -224(%ebp),%edi
movl %edi,L
fldl D
fstps f
fldl D
fstpl d
call print
movl $0,p
movl $0,p
movl $0,p
movl $0,p
movl P,%edi
movl %edi,p
movl $0,P
movl $0,P
movl $0,P
movl $0,P
movl p,%edi
movl %edi,P
movl $0,%eax
.LC4:
movl %ebp,%esp
popl %edi
popl %esi
popl %ebx
popl %ebp
ret
.Lf48:
.size main,.Lf48-main
.bss
.globl P
.align 4
.type P,@object
.size P,4
.comm P,4
.globl p
.align 4
.type p,@object
.size p,4
.comm p,4
.globl D
.align 4
.type D,@object
.size D,8
.comm D,8
.globl d
.align 4
.type d,@object
.size d,8
.comm d,8
.globl f
.align 4
.type f,@object
.size f,4
.comm f,4
.globl L
.align 4
.type L,@object
.size L,4
.comm L,4
.globl I
.align 4
.type I,@object
.size I,4
.comm I,4
.globl S
.align 2
.type S,@object
.size S,2
.comm S,2
.globl C
.align 1
.type C,@object
.size C,1
.comm C,1
.globl l
.align 4
.type l,@object
.size l,4
.comm l,4
.globl i
.align 4
.type i,@object
.size i,4
.comm i,4
.globl s
.align 2
.type s,@object
.size s,2
.comm s,2
.globl c
.align 1
.type c,@object
.size c,1
.comm c,1
.data
.align 4
.LC38:
.long 0
.long 1105199104
.align 4
.LC34:
.long 0
.long 1076232192
.align 4
.LC24:
.long 0
.long 1105199104
.align 4
.LC20:
.long 0
.long 1076101120
.align 4
.LC10:
.long 1325400064
.align 4
.LC6:
.long 1091567616
.align 4
.LC5:
.long 0
.long 1073741824
.align 1
.LC2:
.byte 37
.byte 100
.byte 32
.byte 37
.byte 100
.byte 32
.byte 37
.byte 100
.byte 32
.byte 37
.byte 108
.byte 100
.byte 32
.byte 37
.byte 117
.byte 32
.byte 37
.byte 117
.byte 32
.byte 37
.byte 117
.byte 32
.byte 37
.byte 108
.byte 117
.byte 32
.byte 37
.byte 102
.byte 32
.byte 37
.byte 102
.byte 32
.byte 37
.byte 108
.byte 102
.byte 10
.byte 0
.text
.ident "LCC: 4.1"
