mirror of
https://github.com/UberGames/ioef.git
synced 2024-11-28 06:52:35 +00:00
792 lines
9.3 KiB
Text
792 lines
9.3 KiB
Text
.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"
|