mirror of
https://github.com/UberGames/lilium-voyager.git
synced 2024-12-15 06:30:49 +00:00
172 lines
2.2 KiB
Text
172 lines
2.2 KiB
Text
.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
|