.global main
.section ".text"
.align 4
.proc 4
main:
save %sp,-144,%sp
mov %g0,%i4
.L2:
mov %g0,%i5
.L6:
set 1000,%o0
mov %i4,%o1
call .mul,2; nop
sll %i5,2,%i1
sll %i4,4,%i0
set x,%l7
add %i0,%l7,%i0
add %o0,%i5,%i2
st %i2,[%i1+%i0]
.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,%i3
sll %i4,2,%i2
set y,%i1
st %i3,[%i2+%i1]
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
.global f
.align 4
.proc 4
f:
save %sp,-96,%sp
mov %g0,%i4
.L22:
mov %g0,%i5
.L26:
set .L30,%o0
sll %i5,2,%i3
sll %i4,4,%i2
set x,%i1
add %i2,%i1,%i2
ld [%i3+%i2],%o1
call printf; nop
.L27:
add %i5,1,%i5
cmp %i5,4; bl .L26; nop
.L23:
add %i4,1,%i4
cmp %i4,3; bl .L22; nop
set .L31,%o0
call printf; nop
mov %g0,%i4
.L32:
mov %g0,%i5
.L36:
set .L30,%o0
sll %i5,2,%i3
sll %i4,2,%i2
set y,%i1
ld [%i2+%i1],%i2
ld [%i3+%i2],%o1
call printf; nop
.L37:
add %i5,1,%i5
cmp %i5,4; bl .L36; nop
.L33:
add %i4,1,%i4
cmp %i4,3; bl .L32; nop
set .L31,%o0
call printf; nop
.L21:
ret; restore
.global g
.align 4
.proc 4
g:
save %sp,-96,%sp
mov %g0,%i4
.L42:
mov %g0,%i5
.L46:
set .L30,%o0
sll %i5,2,%i3
sll %i4,4,%i2
add %i2,%i0,%i2
ld [%i3+%i2],%o1
call printf; nop
.L47:
add %i5,1,%i5
cmp %i5,4; bl .L46; nop
.L43:
add %i4,1,%i4
cmp %i4,3; bl .L42; nop
set .L31,%o0
call printf; nop
mov %g0,%i4
.L50:
mov %g0,%i5
.L54:
set .L30,%o0
sll %i5,2,%i3
sll %i4,2,%i2
ld [%i2+%i1],%i2
ld [%i3+%i2],%o1
call printf; nop
.L55:
add %i5,1,%i5
cmp %i5,4; bl .L54; nop
.L51:
add %i4,1,%i4
cmp %i4,3; bl .L50; nop
set .L31,%o0
call printf; nop
.L41:
ret; restore
.section ".bss"
.global y
.type y,#object
.common y,12,4
.global x
.type x,#object
.common x,48,4
.section ".rodata"
.align 1
.L31:
.byte 10
.byte 0
.align 1
.L30:
.byte 32
.byte 37
.byte 100
.byte 0
