278 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			278 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
.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
 |