lilium-voyager/code/tools/lcc/sparc/solaris/tst/array.sbk

173 lines
2.2 KiB
Text
Raw Normal View History

2005-08-26 17:39:27 +00:00
.global main
.section ".text"
.align 4
main:
save %sp,-144,%sp
mov %g0,%i4
.L2:
mov %g0,%i5
.L6:
sll %i5,2,%i2
sll %i4,4,%i1
set x,%i0
add %i1,%i0,%i1
smul %i4,1000,%i0
add %i0,%i5,%i0
st %i0,[%i2+%i1]
.L7:
add %i5,1,%i5
cmp %i5,4; bl .L6; nop
sll %i4,2,%i2
set y,%i1
sll %i4,4,%i0
set x,%l7
add %i0,%l7,%i0
st %i0,[%i2+%i1]
.L3:
add %i4,1,%i4
cmp %i4,3; bl .L2; nop
call f; nop
mov %g0,%i4
.L10:
sll %i4,4,%i2
add -48,%fp,%i1
add %i2,%i1,%i2
mov %i2,%i3
sll %i4,2,%i1
set y,%i0
st %i2,[%i1+%i0]
mov %g0,%i5
.L14:
sll %i5,2,%i2
sll %i4,4,%i1
set x,%i0
add %i1,%i0,%i1
ld [%i2+%i1],%i1
st %i1,[%i2+%i3]
.L15:
add %i5,1,%i5
cmp %i5,4; bl .L14; nop
.L11:
add %i4,1,%i4
cmp %i4,3; bl .L10; nop
add -48,%fp,%o0
set y,%o1
call g; nop
mov %g0,%i0
.L1:
ret; restore
.type main,#function
.size main,.-main
.global f
.align 4
f:
save %sp,-96,%sp
mov %g0,%i4
.L19:
mov %g0,%i5
.L23:
set .L27,%o0
sll %i5,2,%i3
sll %i4,4,%i2
set x,%i1
add %i2,%i1,%i2
ld [%i3+%i2],%o1
call printf; nop
.L24:
add %i5,1,%i5
cmp %i5,4; bl .L23; nop
.L20:
add %i4,1,%i4
cmp %i4,3; bl .L19; nop
set .L28,%o0
call printf; nop
mov %g0,%i4
.L29:
mov %g0,%i5
.L33:
set .L27,%o0
sll %i5,2,%i3
sll %i4,2,%i2
set y,%i1
ld [%i2+%i1],%i2
ld [%i3+%i2],%o1
call printf; nop
.L34:
add %i5,1,%i5
cmp %i5,4; bl .L33; nop
.L30:
add %i4,1,%i4
cmp %i4,3; bl .L29; nop
set .L28,%o0
call printf; nop
mov %g0,%i0
.L18:
ret; restore
.type f,#function
.size f,.-f
.global g
.align 4
g:
save %sp,-96,%sp
mov %g0,%i4
.L38:
mov %g0,%i5
.L42:
set .L27,%o0
sll %i5,2,%i3
sll %i4,4,%i2
add %i2,%i0,%i2
ld [%i3+%i2],%o1
call printf; nop
.L43:
add %i5,1,%i5
cmp %i5,4; bl .L42; nop
.L39:
add %i4,1,%i4
cmp %i4,3; bl .L38; nop
set .L28,%o0
call printf; nop
mov %g0,%i4
.L46:
mov %g0,%i5
.L50:
set .L27,%o0
sll %i5,2,%i3
sll %i4,2,%i2
ld [%i2+%i1],%i2
ld [%i3+%i2],%o1
call printf; nop
.L51:
add %i5,1,%i5
cmp %i5,4; bl .L50; nop
.L47:
add %i4,1,%i4
cmp %i4,3; bl .L46; nop
set .L28,%o0
call printf; nop
mov %g0,%i0
.L37:
ret; restore
.type g,#function
.size g,.-g
.section ".bss"
.global y
.type y,#object
.size y,12
.common y,12,4
.global x
.type x,#object
.size x,48
.common x,48,4
.section ".rodata"
.align 1
.L28:
.byte 10
.byte 0
.align 1
.L27:
.byte 32
.byte 37
.byte 100
.byte 0