1
2	.global main
3	.align 4
4.str8:
5	.asciz "hello\n"
6.str9:
7	.asciz "here1\n"
8.str10:
9	.asciz "a is now %d, and x is now %d\n"
10.str11:
11	.asciz "%d "
12.str12:
13	.asciz "\n"
14
15	.align 4
16main:
17
18	save %sp,-200,%sp
19	mov 6,%o0
20	st %o0,[%fp-20]
21	mov 0,%o0
22	st %o0,[%fp-24]
23	set .str8,%o0
24	st %o0,[%fp-28]
25	mov 20,%o0
26	st %o0,[%fp-32]
27	st %o0,[%fp-36]
28	st %o0,[%fp-40]
29	st %o0,[%fp-44]
30	st %o0,[%fp-48]
31	ba endfunc5
32	nop
33func4:
34	save %sp,-200,%sp
35	st %i0,[%fp-20]
36	ld [%fp+180],%o0
37	add %o0,%i0,%o0
38	st %o0,[%fp+180]
39	mov %o0,%i0
40	ret
41	restore
42endfunc5:
43	ld [%fp-28],%o1
44	mov %o1,%l0
45	mov %l0,%o0
46	call printf
47	nop
48	mov 4,%o1
49	mov %o1,%l0
50	mov %l0,%o0
51	call func4
52	nop
53	st %o0,[%fp-24]
54	mov 4,%o1
55	mov %o1,%l0
56	mov %l0,%o0
57	call func4
58	nop
59	st %o0,[%fp-24]
60	set .str9,%o1
61	mov %o1,%l0
62	mov %l0,%o0
63	call printf
64	nop
65	set .str10,%o1
66	mov %o1,%l0
67	ld [%fp-20],%o0
68	mov %o0,%l1
69	ld [%fp-24],%o0
70	mov %o0,%l2
71	mov %l0,%o0
72	mov %l1,%o1
73	mov %l2,%o2
74	call printf
75	nop
76	mov 4,%o1
77	st %o1,[%fp-20]
78	mov 1,%o1
79	mov 0,%o2
80	mov -32,%g7
81	mov %o2,%o3
82	sll %o3,2,%o3
83	sub %g7,%o3,%o3
84	st %o1,[%fp+%o3]
85	mov 2,%o1
86	mov 1,%o2
87	mov -32,%g7
88	mov %o2,%o3
89	sll %o3,2,%o3
90	sub %g7,%o3,%o3
91	st %o1,[%fp+%o3]
92	mov 3,%o1
93	mov 2,%o2
94	mov -32,%g7
95	mov %o2,%o3
96	sll %o3,2,%o3
97	sub %g7,%o3,%o3
98	st %o1,[%fp+%o3]
99	mov 4,%o1
100	mov 3,%o2
101	mov -32,%g7
102	mov %o2,%o3
103	sll %o3,2,%o3
104	sub %g7,%o3,%o3
105	st %o1,[%fp+%o3]
106	mov 5,%o1
107	mov 4,%o2
108	mov -32,%g7
109	mov %o2,%o3
110	sll %o3,2,%o3
111	sub %g7,%o3,%o3
112	st %o1,[%fp+%o3]
113swhile6:
114	ld [%fp-20],%o1
115	mov 0,%o2
116	cmp %o1,%o2
117	mov 1,%o1
118	bge bool7
119	nop
120	mov %g0,%o1
121bool7:
122	cmp %o1,%g0
123	be ewhile6
124	nop
125	set .str11,%o1
126	mov %o1,%l0
127	ld [%fp-20],%o0
128	sll %o0,2,%o0
129	mov -32,%g7
130	sub %g7,%o0,%o0
131	ld [%fp+%o0],%o0
132	mov %o0,%l1
133	mov %l0,%o0
134	mov %l1,%o1
135	call printf
136	nop
137	ld [%fp-20],%o1
138	mov 1,%o2
139	sub %o1,%o2,%o1
140	st %o1,[%fp-20]
141	ba swhile6
142	nop
143ewhile6:
144	set .str12,%o1
145	mov %o1,%l0
146	mov %l0,%o0
147	call printf
148	nop
149
150	mov 1, %g1
151	ta 0
152