| .section ".data" |
| .global words |
| .type words,#object |
| .align 4 |
| words: |
| .word 0x1 |
| .word 0x2 |
| .word 0x3 |
| .byte 105 |
| .byte 102 |
| .byte 0 |
| .skip 3 |
| .skip 2 |
| .word 0x4 |
| .word 0x5 |
| .skip 4 |
| .byte 102 |
| .byte 111 |
| .byte 114 |
| .skip 3 |
| .skip 2 |
| .word 0x6 |
| .word 0x7 |
| .word 0x8 |
| .byte 101 |
| .byte 108 |
| .byte 115 |
| .byte 101 |
| .byte 0 |
| .skip 1 |
| .skip 2 |
| .word 0x9 |
| .word 0xa |
| .word 0xb |
| .byte 119 |
| .byte 104 |
| .byte 105 |
| .byte 108 |
| .byte 101 |
| .skip 1 |
| .skip 2 |
| .word 0x0 |
| .skip 8 |
| .skip 8 |
| .size words,100 |
| .global wordlist |
| .type wordlist,#object |
| .size wordlist,4 |
| .align 4 |
| wordlist: |
| .word words |
| .global x |
| .type x,#object |
| .align 4 |
| x: |
| .word 0x1 |
| .word 0x2 |
| .word 0x3 |
| .word 0x4 |
| .word 0x0 |
| .word 0x5 |
| .word 0x6 |
| .skip 12 |
| .word 0x7 |
| .skip 16 |
| .size x,60 |
| .global y |
| .type y,#object |
| .align 4 |
| y: |
| .word x |
| .word x+20 |
| .word x+40 |
| .word 0x0 |
| .size y,16 |
| .global main |
| .section ".text" |
| .align 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 |
| .type main,#function |
| .size main,.-main |
| .section ".data" |
| .type .16,#object |
| .align 4 |
| .16: |
| .word .L17 |
| .word .L18 |
| .word .L19 |
| .word .L20 |
| .word 0x0 |
| .size .16,20 |
| .global f |
| .section ".text" |
| .align 4 |
| f: |
| save %sp,-96,%sp |
| set .16,%i5 |
| ba .L24; nop |
| .L21: |
| set .L25,%o0 |
| ld [%i5],%o1 |
| call printf; nop |
| .L22: |
| add %i5,4,%i5 |
| .L24: |
| ld [%i5],%i4 |
| cmp %i4,%g0; bne .L21; nop |
| mov %g0,%i0 |
| .L15: |
| ret; restore |
| .type f,#function |
| .size f,.-f |
| .global g |
| .align 4 |
| g: |
| save %sp,-96,%sp |
| ba .L30; nop |
| .L27: |
| mov %g0,%i5 |
| ba .L34; nop |
| .L31: |
| set .L35,%o0 |
| sll %i5,2,%i4 |
| ld [%i4+%i0],%o1 |
| call printf; nop |
| .L32: |
| add %i5,1,%i5 |
| .L34: |
| mov %i5,%i4 |
| set 3,%i3 |
| cmp %i4,%i3; blu .L31; nop |
| set .L25,%o0 |
| add %i0,12,%o1 |
| call printf; nop |
| .L28: |
| add %i0,20,%i0 |
| .L30: |
| ld [%i0],%i4 |
| cmp %i4,0; bne .L27; nop |
| call h; nop |
| mov %g0,%i0 |
| .L26: |
| ret; restore |
| .type g,#function |
| .size g,.-g |
| .global h |
| .align 4 |
| h: |
| save %sp,-96,%sp |
| mov %g0,%i5 |
| ba .L40; nop |
| .L37: |
| set .L41,%o0 |
| smul %i5,20,%i4 |
| 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 |
| .L38: |
| add %i5,1,%i5 |
| .L40: |
| mov %i5,%i4 |
| set 5,%i3 |
| cmp %i4,%i3; blu .L37; nop |
| mov %g0,%i0 |
| .L36: |
| ret; restore |
| .type h,#function |
| .size h,.-h |
| .section ".rodata" |
| .align 1 |
| .L41: |
| .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 |
| .L35: |
| .byte 37 |
| .byte 100 |
| .byte 32 |
| .byte 0 |
| .align 1 |
| .L25: |
| .byte 37 |
| .byte 115 |
| .byte 10 |
| .byte 0 |
| .align 1 |
| .L20: |
| .byte 119 |
| .byte 104 |
| .byte 105 |
| .byte 108 |
| .byte 101 |
| .byte 0 |
| .align 1 |
| .L19: |
| .byte 101 |
| .byte 108 |
| .byte 115 |
| .byte 101 |
| .byte 0 |
| .align 1 |
| .L18: |
| .byte 102 |
| .byte 111 |
| .byte 114 |
| .byte 0 |
| .align 1 |
| .L17: |
| .byte 105 |
| .byte 102 |
| .byte 0 |
| .align 1 |
| .L14: |
| .byte 10 |
| .byte 0 |
| .align 1 |
| .L13: |
| .byte 32 |
| .byte 37 |
| .byte 100 |
| .byte 0 |