235 lines
3.2 KiB
Text
Executable file
235 lines
3.2 KiB
Text
Executable file
.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"
|