382 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			382 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
.section ".data"
 | 
						|
.global x
 | 
						|
.type x,#object
 | 
						|
.size x,16
 | 
						|
.align 4
 | 
						|
x:
 | 
						|
.word 0x1
 | 
						|
.word 0x2
 | 
						|
.word 0x3
 | 
						|
.word 0x4
 | 
						|
.global main
 | 
						|
.section ".text"
 | 
						|
.align 4
 | 
						|
main:
 | 
						|
save %sp,-192,%sp
 | 
						|
set .L2,%o0
 | 
						|
call print; nop
 | 
						|
set .L3,%o0
 | 
						|
set .L4,%o1
 | 
						|
call print; nop
 | 
						|
set .L5,%o0
 | 
						|
set 3,%o1
 | 
						|
set 10,%o2
 | 
						|
call print; nop
 | 
						|
set .L6,%o0
 | 
						|
set .L7,%o1
 | 
						|
set .L8,%o2
 | 
						|
set 4,%o3
 | 
						|
set 10,%o4
 | 
						|
call print; nop
 | 
						|
set .L9,%o0
 | 
						|
set .L7,%o1
 | 
						|
set .L8,%o2
 | 
						|
set .L10,%i5
 | 
						|
ld [%i5],%f30; ld [%i5+4],%f31
 | 
						|
st %f30,[%sp+4*3+68]
 | 
						|
st %f31,[%sp+4*4+68]
 | 
						|
ld [%sp+4*3+68],%o3
 | 
						|
ld [%sp+4*4+68],%o4
 | 
						|
set 10,%o5
 | 
						|
call print; nop
 | 
						|
set .L11,%o0
 | 
						|
set x,%i5
 | 
						|
add -16,%fp,%i4
 | 
						|
ld [%r29+0],%r1
 | 
						|
ld [%r29+4],%r2
 | 
						|
st %r1,[%r28+0]
 | 
						|
st %r2,[%r28+4]
 | 
						|
ld [%r29+8],%r1
 | 
						|
ld [%r29+12],%r2
 | 
						|
st %r1,[%r28+8]
 | 
						|
st %r2,[%r28+12]
 | 
						|
add -16,%fp,%o1
 | 
						|
add -32,%fp,%i4
 | 
						|
ld [%r29+0],%r1
 | 
						|
ld [%r29+4],%r2
 | 
						|
st %r1,[%r28+0]
 | 
						|
st %r2,[%r28+4]
 | 
						|
ld [%r29+8],%r1
 | 
						|
ld [%r29+12],%r2
 | 
						|
st %r1,[%r28+8]
 | 
						|
st %r2,[%r28+12]
 | 
						|
add -32,%fp,%o2
 | 
						|
add -48,%fp,%i4
 | 
						|
ld [%r29+0],%r1
 | 
						|
ld [%r29+4],%r2
 | 
						|
st %r1,[%r28+0]
 | 
						|
st %r2,[%r28+4]
 | 
						|
ld [%r29+8],%r1
 | 
						|
ld [%r29+12],%r2
 | 
						|
st %r1,[%r28+8]
 | 
						|
st %r2,[%r28+12]
 | 
						|
add -48,%fp,%o3
 | 
						|
add -64,%fp,%i4
 | 
						|
ld [%r29+0],%r1
 | 
						|
ld [%r29+4],%r2
 | 
						|
st %r1,[%r28+0]
 | 
						|
st %r2,[%r28+4]
 | 
						|
ld [%r29+8],%r1
 | 
						|
ld [%r29+12],%r2
 | 
						|
st %r1,[%r28+8]
 | 
						|
st %r2,[%r28+12]
 | 
						|
add -64,%fp,%o4
 | 
						|
add -80,%fp,%i4
 | 
						|
ld [%r29+0],%r1
 | 
						|
ld [%r29+4],%r2
 | 
						|
st %r1,[%r28+0]
 | 
						|
st %r2,[%r28+4]
 | 
						|
ld [%r29+8],%r1
 | 
						|
ld [%r29+12],%r2
 | 
						|
st %r1,[%r28+8]
 | 
						|
st %r2,[%r28+12]
 | 
						|
add -80,%fp,%o5
 | 
						|
add -96,%fp,%i4
 | 
						|
ld [%r29+0],%r1
 | 
						|
ld [%r29+4],%r2
 | 
						|
st %r1,[%r28+0]
 | 
						|
st %r2,[%r28+4]
 | 
						|
ld [%r29+8],%r1
 | 
						|
ld [%r29+12],%r2
 | 
						|
st %r1,[%r28+8]
 | 
						|
st %r2,[%r28+12]
 | 
						|
add -96,%fp,%i5
 | 
						|
st %i5,[%sp+4*6+68]
 | 
						|
call print; nop
 | 
						|
mov %g0,%i0
 | 
						|
.L1:
 | 
						|
ret; restore
 | 
						|
.type main,#function
 | 
						|
.size main,.-main
 | 
						|
.global print
 | 
						|
.align 4
 | 
						|
print:
 | 
						|
save %sp,-112,%sp
 | 
						|
st %i1,[%fp+72]
 | 
						|
st %i2,[%fp+76]
 | 
						|
st %i3,[%fp+80]
 | 
						|
st %i4,[%fp+84]
 | 
						|
st %i5,[%fp+88]
 | 
						|
st %i0,[%fp+68]
 | 
						|
add 72,%fp,%i5
 | 
						|
ba .L18; nop
 | 
						|
.L15:
 | 
						|
ld [%fp+68],%i4
 | 
						|
ldsb [%i4],%i4
 | 
						|
cmp %i4,37; bne .L19; nop
 | 
						|
ld [%fp+68],%i3
 | 
						|
add %i3,1,%i3
 | 
						|
st %i3,[%fp+68]
 | 
						|
ldsb [%i3],%i4
 | 
						|
cmp %i4,115; be .L35; nop
 | 
						|
cmp %i4,115; bg .L40; nop
 | 
						|
.L39:
 | 
						|
cmp %i4,98; bl .L21; nop
 | 
						|
cmp %i4,102; bg .L21; nop
 | 
						|
sll %i4,2,%i3
 | 
						|
set .L41-392,%i2
 | 
						|
ld [%i3+%i2],%i3
 | 
						|
jmp %i3; nop
 | 
						|
.section ".rodata"
 | 
						|
.align 4
 | 
						|
.L41:
 | 
						|
.word .L24
 | 
						|
.word .L29
 | 
						|
.word .L31
 | 
						|
.word .L21
 | 
						|
.word .L37
 | 
						|
.section ".text"
 | 
						|
.L40:
 | 
						|
cmp %i4,119; be .L33; nop
 | 
						|
ba .L21; nop
 | 
						|
.L24:
 | 
						|
add %i5,4,%i3
 | 
						|
mov %i3,%i5
 | 
						|
add -16,%fp,%i2
 | 
						|
ld [%i3+-4],%i3
 | 
						|
ld [%r27+0],%r1
 | 
						|
ld [%r27+4],%r2
 | 
						|
st %r1,[%r26+0]
 | 
						|
st %r2,[%r26+4]
 | 
						|
ld [%r27+8],%r1
 | 
						|
ld [%r27+12],%r2
 | 
						|
st %r1,[%r26+8]
 | 
						|
st %r2,[%r26+12]
 | 
						|
set .L25,%o0
 | 
						|
ld [%fp+-16],%o1
 | 
						|
ld [%fp+-12],%o2
 | 
						|
ld [%fp+-8],%o3
 | 
						|
ld [%fp+-4],%o4
 | 
						|
call printf; nop
 | 
						|
ba .L20; nop
 | 
						|
.L29:
 | 
						|
set .L30,%o0
 | 
						|
add %i5,4,%i3
 | 
						|
mov %i3,%i5
 | 
						|
ldsb [%i3+-1],%o1
 | 
						|
call printf; nop
 | 
						|
ba .L20; nop
 | 
						|
.L31:
 | 
						|
set .L32,%o0
 | 
						|
set 4,%i3
 | 
						|
add %i5,%i3,%i3
 | 
						|
mov %i3,%i5
 | 
						|
ld [%i3+-4],%o1
 | 
						|
call printf; nop
 | 
						|
ba .L20; nop
 | 
						|
.L33:
 | 
						|
set .L34,%o0
 | 
						|
add %i5,4,%i3
 | 
						|
mov %i3,%i5
 | 
						|
ldsh [%i3+-2],%o1
 | 
						|
call printf; nop
 | 
						|
ba .L20; nop
 | 
						|
.L35:
 | 
						|
set .L36,%o0
 | 
						|
set 4,%i3
 | 
						|
add %i5,%i3,%i3
 | 
						|
mov %i3,%i5
 | 
						|
ld [%i3+-4],%o1
 | 
						|
call printf; nop
 | 
						|
ba .L20; nop
 | 
						|
.L37:
 | 
						|
set .L38,%o0
 | 
						|
set 8,%i3
 | 
						|
add %i5,%i3,%i3
 | 
						|
mov %i3,%i5
 | 
						|
ld [%i3+-8],%f30; ld [%i3+-8+4],%f31
 | 
						|
st %f30,[%sp+4*1+68]
 | 
						|
st %f31,[%sp+4*2+68]
 | 
						|
ld [%sp+4*1+68],%o1
 | 
						|
ld [%sp+4*2+68],%o2
 | 
						|
call printf; nop
 | 
						|
ba .L20; nop
 | 
						|
.L21:
 | 
						|
set .L30,%o0
 | 
						|
ld [%fp+68],%i3
 | 
						|
ldsb [%i3],%o1
 | 
						|
call printf; nop
 | 
						|
ba .L20; nop
 | 
						|
.L19:
 | 
						|
set .L30,%o0
 | 
						|
ld [%fp+68],%i3
 | 
						|
ldsb [%i3],%o1
 | 
						|
call printf; nop
 | 
						|
.L20:
 | 
						|
.L16:
 | 
						|
ld [%fp+68],%i3
 | 
						|
add %i3,1,%i3
 | 
						|
st %i3,[%fp+68]
 | 
						|
.L18:
 | 
						|
ld [%fp+68],%i3
 | 
						|
ldsb [%i3],%i3
 | 
						|
cmp %i3,0; bne .L15; nop
 | 
						|
mov %g0,%i0
 | 
						|
.L12:
 | 
						|
ret; restore
 | 
						|
.type print,#function
 | 
						|
.size print,.-print
 | 
						|
.section ".bss"
 | 
						|
.type __va_arg_tmp,#object
 | 
						|
.size __va_arg_tmp,4
 | 
						|
.local __va_arg_tmp
 | 
						|
.common __va_arg_tmp,4,4
 | 
						|
.section ".rodata"
 | 
						|
.align 1
 | 
						|
.L38:
 | 
						|
.byte 37
 | 
						|
.byte 102
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L36:
 | 
						|
.byte 37
 | 
						|
.byte 115
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L34:
 | 
						|
.byte 37
 | 
						|
.byte 120
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L32:
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L30:
 | 
						|
.byte 37
 | 
						|
.byte 99
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L25:
 | 
						|
.byte 123
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 125
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L11:
 | 
						|
.byte 37
 | 
						|
.byte 98
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 98
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 98
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 98
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 98
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 98
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 8
 | 
						|
.L10:
 | 
						|
.word 0x40140000
 | 
						|
.word 0x0
 | 
						|
.align 1
 | 
						|
.L9:
 | 
						|
.byte 37
 | 
						|
.byte 115
 | 
						|
.byte 37
 | 
						|
.byte 115
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 102
 | 
						|
.byte 37
 | 
						|
.byte 99
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L8:
 | 
						|
.byte 115
 | 
						|
.byte 116
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L7:
 | 
						|
.byte 116
 | 
						|
.byte 101
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L6:
 | 
						|
.byte 37
 | 
						|
.byte 115
 | 
						|
.byte 37
 | 
						|
.byte 115
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 119
 | 
						|
.byte 37
 | 
						|
.byte 99
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L5:
 | 
						|
.byte 116
 | 
						|
.byte 101
 | 
						|
.byte 115
 | 
						|
.byte 116
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 100
 | 
						|
.byte 37
 | 
						|
.byte 99
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L4:
 | 
						|
.byte 50
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L3:
 | 
						|
.byte 116
 | 
						|
.byte 101
 | 
						|
.byte 115
 | 
						|
.byte 116
 | 
						|
.byte 32
 | 
						|
.byte 37
 | 
						|
.byte 115
 | 
						|
.byte 10
 | 
						|
.byte 0
 | 
						|
.align 1
 | 
						|
.L2:
 | 
						|
.byte 116
 | 
						|
.byte 101
 | 
						|
.byte 115
 | 
						|
.byte 116
 | 
						|
.byte 32
 | 
						|
.byte 49
 | 
						|
.byte 10
 | 
						|
.byte 0
 |