.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"