.globl main .text .align 16 .type main,@function main: pushl %ebp pushl %ebx pushl %esi pushl %edi movl %esp,%ebp subl $60,%esp movl $0,-8(%ebp) .LC2: movl $0,-4(%ebp) .LC6: movl -4(%ebp),%edi movl -8(%ebp),%esi movl %esi,%ebx sall $4,%ebx leal x(%ebx),%ebx imul $1000,%esi,%esi leal (%edi,%esi),%esi movl %esi,(%ebx,%edi,4) .LC7: incl -4(%ebp) cmpl $4,-4(%ebp) jl .LC6 movl -8(%ebp),%edi movl %edi,%esi sall $4,%esi leal x(%esi),%esi movl %esi,y(,%edi,4) .LC3: incl -8(%ebp) cmpl $3,-8(%ebp) jl .LC2 call f movl $0,-8(%ebp) .LC10: movl -8(%ebp),%edi movl %edi,%esi sall $4,%esi leal -60(%ebp),%ebx leal (%ebx,%esi),%esi movl %esi,-12(%ebp) movl %esi,y(,%edi,4) movl $0,-4(%ebp) .LC14: movl -4(%ebp),%edi leal (,%edi,4),%edi movl -12(%ebp),%esi movl -8(%ebp),%ebx sall $4,%ebx leal x(%ebx),%ebx movl (%ebx,%edi),%ebx movl %ebx,(%esi,%edi) .LC15: incl -4(%ebp) cmpl $4,-4(%ebp) jl .LC14 .LC11: incl -8(%ebp) cmpl $3,-8(%ebp) jl .LC10 pushl $y leal -60(%ebp),%edi pushl %edi call g addl $8,%esp movl $0,%eax .LC1: movl %ebp,%esp popl %edi popl %esi popl %ebx popl %ebp ret .Lf18: .size main,.Lf18-main .globl f .align 16 .type f,@function f: pushl %ebp pushl %ebx pushl %esi pushl %edi movl %esp,%ebp subl $8,%esp movl $0,-8(%ebp) .LC20: movl $0,-4(%ebp) .LC24: movl -4(%ebp),%edi movl -8(%ebp),%esi sall $4,%esi leal x(%esi),%esi pushl (%esi,%edi,4) pushl $.LC28 call printf addl $8,%esp .LC25: incl -4(%ebp) cmpl $4,-4(%ebp) jl .LC24 .LC21: incl -8(%ebp) cmpl $3,-8(%ebp) jl .LC20 pushl $.LC29 call printf addl $4,%esp movl $0,-8(%ebp) .LC30: movl $0,-4(%ebp) .LC34: movl -4(%ebp),%edi movl -8(%ebp),%esi movl y(,%esi,4),%esi pushl (%esi,%edi,4) pushl $.LC28 call printf addl $8,%esp .LC35: incl -4(%ebp) cmpl $4,-4(%ebp) jl .LC34 .LC31: incl -8(%ebp) cmpl $3,-8(%ebp) jl .LC30 pushl $.LC29 call printf addl $4,%esp movl $0,%eax .LC19: movl %ebp,%esp popl %edi popl %esi popl %ebx popl %ebp ret .Lf38: .size f,.Lf38-f .globl g .align 16 .type g,@function g: pushl %ebp pushl %ebx pushl %esi pushl %edi movl %esp,%ebp subl $8,%esp movl $0,-8(%ebp) .LC40: movl $0,-4(%ebp) .LC44: movl -4(%ebp),%edi movl -8(%ebp),%esi sall $4,%esi movl 20(%ebp),%ebx leal (%ebx,%esi),%esi pushl (%esi,%edi,4) pushl $.LC28 call printf addl $8,%esp .LC45: incl -4(%ebp) cmpl $4,-4(%ebp) jl .LC44 .LC41: incl -8(%ebp) cmpl $3,-8(%ebp) jl .LC40 pushl $.LC29 call printf addl $4,%esp movl $0,-8(%ebp) .LC48: movl $0,-4(%ebp) .LC52: movl -4(%ebp),%edi movl -8(%ebp),%esi movl 24(%ebp),%ebx movl (%ebx,%esi,4),%esi pushl (%esi,%edi,4) pushl $.LC28 call printf addl $8,%esp .LC53: incl -4(%ebp) cmpl $4,-4(%ebp) jl .LC52 .LC49: incl -8(%ebp) cmpl $3,-8(%ebp) jl .LC48 pushl $.LC29 call printf addl $4,%esp movl $0,%eax .LC39: movl %ebp,%esp popl %edi popl %esi popl %ebx popl %ebp ret .Lf56: .size g,.Lf56-g .bss .globl y .align 4 .type y,@object .size y,12 .comm y,12 .globl x .align 4 .type x,@object .size x,48 .comm x,48 .data .align 1 .LC29: .byte 10 .byte 0 .align 1 .LC28: .byte 32 .byte 37 .byte 100 .byte 0 .text .ident "LCC: 4.1"