lilium-voyager/lcc/x86/linux/tst/array.sbk

236 lines
2.9 KiB
Text
Raw Normal View History

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