.seg "data"
.global _words
.align 4
_words:
.word 1
.word 2
.word 3
.byte 105
.byte 102
.byte 0
.skip 3
.skip 2
.word 4
.word 5
.skip 4
.byte 102
.byte 111
.byte 114
.skip 3
.skip 2
.word 6
.word 7
.word 8
.byte 101
.byte 108
.byte 115
.byte 101
.byte 0
.skip 1
.skip 2
.word 9
.word 10
.word 11
.byte 119
.byte 104
.byte 105
.byte 108
.byte 101
.skip 1
.skip 2
.word 0
.skip 8
.skip 8
.global _wordlist
.align 4
_wordlist:
.word _words
.global _x
.align 4
_x:
.word 1
.word 2
.word 3
.word 4
.word 0
.word 5
.word 6
.skip 12
.word 7
.skip 16
.global _y
.align 4
_y:
.word _x
.word _x+20
.word _x+40
.word 0x0
.global _main
.seg "text"
.align 4
.proc 4
_main:
save %sp,-96,%sp
mov %g0,%i4
ba L8; nop
L5:
mov %g0,%i5
ba L12; nop
L9:
set L13,%o0
sll %i5,2,%i3
sll %i4,2,%i2
set _y,%i1
ld [%i2+%i1],%i2
ld [%i3+%i2],%o1
call _printf; nop
L10:
add %i5,1,%i5
L12:
sll %i5,2,%i3
sll %i4,2,%i2
set _y,%i1
ld [%i2+%i1],%i2
ld [%i3+%i2],%i3
cmp %i3,0; bne L9; nop
set L14,%o0
call _printf; nop
L6:
add %i4,1,%i4
L8:
sll %i4,2,%i3
set _y,%i2
ld [%i3+%i2],%i3
cmp %i3,%g0; bne L5; nop
call _f; nop
set _wordlist,%i3
ld [%i3],%o0
call _g; nop
mov %g0,%i0
L4:
ret; restore
.seg "data"
.align 4
_18:
.word L19
.word L20
.word L21
.word L22
.word 0x0
.global _f
.seg "text"
.align 4
.proc 4
_f:
save %sp,-96,%sp
set _18,%i5
ba L26; nop
L23:
set L27,%o0
ld [%i5],%o1
call _printf; nop
L24:
add %i5,4,%i5
L26:
ld [%i5],%i4
cmp %i4,%g0; bne L23; nop
L17:
ret; restore
.global _g
.align 4
.proc 4
_g:
save %sp,-96,%sp
ba L32; nop
L29:
mov %g0,%i5
ba L36; nop
L33:
set L37,%o0
sll %i5,2,%i4
ld [%i4+%i0],%o1
call _printf; nop
L34:
add %i5,1,%i5
L36:
set 3,%i4
cmp %i5,%i4; blu L33; nop
set L27,%o0
add %i0,12,%o1
call _printf; nop
L30:
add %i0,20,%i0
L32:
ld [%i0],%i4
cmp %i4,0; bne L29; nop
call _h; nop
L28:
ret; restore
.global _h
.align 4
.proc 4
_h:
save %sp,-96,%sp
mov %g0,%i5
ba L42; nop
L39:
set 20,%o0
mov %i5,%o1
call .mul,2; nop
mov %o0,%i4
set L43,%o0
set _words,%i3
ld [%i4+%i3],%o1
set _words+4,%i3
ld [%i4+%i3],%o2
set _words+8,%i3
ld [%i4+%i3],%o3
set _words+12,%i3
add %i4,%i3,%o4
call _printf; nop
L40:
add %i5,1,%i5
L42:
set 5,%i4
cmp %i5,%i4; blu L39; nop
L38:
ret; restore
.seg "text"
.align 1
L43:
.byte 37
.byte 100
.byte 32
.byte 37
.byte 100
.byte 32
.byte 37
.byte 100
.byte 32
.byte 37
.byte 115
.byte 10
.byte 0
.align 1
L37:
.byte 37
.byte 100
.byte 32
.byte 0
.align 1
L27:
.byte 37
.byte 115
.byte 10
.byte 0
.align 1
L22:
.byte 119
.byte 104
.byte 105
.byte 108
.byte 101
.byte 0
.align 1
L21:
.byte 101
.byte 108
.byte 115
.byte 101
.byte 0
.align 1
L20:
.byte 102
.byte 111
.byte 114
.byte 0
.align 1
L19:
.byte 105
.byte 102
.byte 0
.align 1
L14:
.byte 10
.byte 0
.align 1
L13:
.byte 32
.byte 37
.byte 100
.byte 0
