stdarg.sbk (4695B)
1 .section ".data" 2 .global x 3 .type x,#object 4 .size x,16 5 .align 4 6 x: 7 .word 0x1 8 .word 0x2 9 .word 0x3 10 .word 0x4 11 .global main 12 .section ".text" 13 .align 4 14 main: 15 save %sp,-192,%sp 16 set .L2,%o0 17 call print; nop 18 set .L3,%o0 19 set .L4,%o1 20 call print; nop 21 set .L5,%o0 22 set 3,%o1 23 set 10,%o2 24 call print; nop 25 set .L6,%o0 26 set .L7,%o1 27 set .L8,%o2 28 set 4,%o3 29 set 10,%o4 30 call print; nop 31 set .L9,%o0 32 set .L7,%o1 33 set .L8,%o2 34 set .L10,%i5 35 ld2 [%i5],%f30 36 st %f30,[%sp+4*3+68] 37 st %f31,[%sp+4*4+68] 38 ld [%sp+4*3+68],%o3 39 ld [%sp+4*4+68],%o4 40 set 10,%o5 41 call print; nop 42 set .L11,%o0 43 set x,%i5 44 add -16,%fp,%i4 45 ld [%r29+0],%r1 46 ld [%r29+4],%r2 47 st %r1,[%r28+0] 48 st %r2,[%r28+4] 49 ld [%r29+8],%r1 50 ld [%r29+12],%r2 51 st %r1,[%r28+8] 52 st %r2,[%r28+12] 53 add -16,%fp,%o1 54 add -32,%fp,%i4 55 ld [%r29+0],%r1 56 ld [%r29+4],%r2 57 st %r1,[%r28+0] 58 st %r2,[%r28+4] 59 ld [%r29+8],%r1 60 ld [%r29+12],%r2 61 st %r1,[%r28+8] 62 st %r2,[%r28+12] 63 add -32,%fp,%o2 64 add -48,%fp,%i4 65 ld [%r29+0],%r1 66 ld [%r29+4],%r2 67 st %r1,[%r28+0] 68 st %r2,[%r28+4] 69 ld [%r29+8],%r1 70 ld [%r29+12],%r2 71 st %r1,[%r28+8] 72 st %r2,[%r28+12] 73 add -48,%fp,%o3 74 add -64,%fp,%i4 75 ld [%r29+0],%r1 76 ld [%r29+4],%r2 77 st %r1,[%r28+0] 78 st %r2,[%r28+4] 79 ld [%r29+8],%r1 80 ld [%r29+12],%r2 81 st %r1,[%r28+8] 82 st %r2,[%r28+12] 83 add -64,%fp,%o4 84 add -80,%fp,%i4 85 ld [%r29+0],%r1 86 ld [%r29+4],%r2 87 st %r1,[%r28+0] 88 st %r2,[%r28+4] 89 ld [%r29+8],%r1 90 ld [%r29+12],%r2 91 st %r1,[%r28+8] 92 st %r2,[%r28+12] 93 add -80,%fp,%o5 94 add -96,%fp,%i4 95 ld [%r29+0],%r1 96 ld [%r29+4],%r2 97 st %r1,[%r28+0] 98 st %r2,[%r28+4] 99 ld [%r29+8],%r1 100 ld [%r29+12],%r2 101 st %r1,[%r28+8] 102 st %r2,[%r28+12] 103 add -96,%fp,%i5 104 st %i5,[%sp+4*6+68] 105 call print; nop 106 mov %g0,%i0 107 .L1: 108 ret; restore 109 .type main,#function 110 .size main,.-main 111 .global print 112 .align 4 113 print: 114 save %sp,-112,%sp 115 st %i1,[%fp+72] 116 st %i2,[%fp+76] 117 st %i3,[%fp+80] 118 st %i4,[%fp+84] 119 st %i5,[%fp+88] 120 st %i0,[%fp+68] 121 add 72,%fp,%i5 122 ba .L18; nop 123 .L15: 124 ld [%fp+68],%i4 125 ldsb [%i4],%i4 126 cmp %i4,37; bne .L19; nop 127 ld [%fp+68],%i3 128 add %i3,1,%i3 129 st %i3,[%fp+68] 130 ldsb [%i3],%i4 131 cmp %i4,115; be .L35; nop 132 cmp %i4,115; bg .L40; nop 133 .L39: 134 cmp %i4,98; bl .L21; nop 135 cmp %i4,102; bg .L21; nop 136 sll %i4,2,%i3 137 set .L41-392,%i2 138 ld [%i3+%i2],%i3 139 jmp %i3; nop 140 .section ".rodata" 141 .align 4 142 .L41: 143 .word .L24 144 .word .L29 145 .word .L31 146 .word .L21 147 .word .L37 148 .section ".text" 149 .L40: 150 cmp %i4,119; be .L33; nop 151 ba .L21; nop 152 .L24: 153 add %i5,4,%i3 154 mov %i3,%i5 155 add -16,%fp,%i2 156 ld [%i3+-4],%i3 157 ld [%r27+0],%r1 158 ld [%r27+4],%r2 159 st %r1,[%r26+0] 160 st %r2,[%r26+4] 161 ld [%r27+8],%r1 162 ld [%r27+12],%r2 163 st %r1,[%r26+8] 164 st %r2,[%r26+12] 165 set .L25,%o0 166 ld [%fp+-16],%o1 167 ld [%fp+-12],%o2 168 ld [%fp+-8],%o3 169 ld [%fp+-4],%o4 170 call printf; nop 171 ba .L20; nop 172 .L29: 173 set .L30,%o0 174 add %i5,4,%i3 175 mov %i3,%i5 176 ldsb [%i3+-1],%o1 177 call printf; nop 178 ba .L20; nop 179 .L31: 180 set .L32,%o0 181 set 4,%i3 182 add %i5,%i3,%i3 183 mov %i3,%i5 184 ld [%i3+-4],%o1 185 call printf; nop 186 ba .L20; nop 187 .L33: 188 set .L34,%o0 189 add %i5,4,%i3 190 mov %i3,%i5 191 ldsh [%i3+-2],%o1 192 call printf; nop 193 ba .L20; nop 194 .L35: 195 set .L36,%o0 196 set 4,%i3 197 add %i5,%i3,%i3 198 mov %i3,%i5 199 ld [%i3+-4],%o1 200 call printf; nop 201 ba .L20; nop 202 .L37: 203 set .L38,%o0 204 set 8,%i3 205 add %i5,%i3,%i3 206 mov %i3,%i5 207 ld2 [%i3+-8],%f30 208 st %f30,[%sp+4*1+68] 209 st %f31,[%sp+4*2+68] 210 ld [%sp+4*1+68],%o1 211 ld [%sp+4*2+68],%o2 212 call printf; nop 213 ba .L20; nop 214 .L21: 215 set .L30,%o0 216 ld [%fp+68],%i3 217 ldsb [%i3],%o1 218 call printf; nop 219 ba .L20; nop 220 .L19: 221 set .L30,%o0 222 ld [%fp+68],%i3 223 ldsb [%i3],%o1 224 call printf; nop 225 .L20: 226 .L16: 227 ld [%fp+68],%i3 228 add %i3,1,%i3 229 st %i3,[%fp+68] 230 .L18: 231 ld [%fp+68],%i3 232 ldsb [%i3],%i3 233 cmp %i3,0; bne .L15; nop 234 mov %g0,%i0 235 .L12: 236 ret; restore 237 .type print,#function 238 .size print,.-print 239 .section ".rodata" 240 .align 1 241 .L38: 242 .byte 37 243 .byte 102 244 .byte 0 245 .align 1 246 .L36: 247 .byte 37 248 .byte 115 249 .byte 0 250 .align 1 251 .L34: 252 .byte 37 253 .byte 120 254 .byte 0 255 .align 1 256 .L32: 257 .byte 37 258 .byte 100 259 .byte 0 260 .align 1 261 .L30: 262 .byte 37 263 .byte 99 264 .byte 0 265 .align 1 266 .L25: 267 .byte 123 268 .byte 37 269 .byte 100 270 .byte 32 271 .byte 37 272 .byte 100 273 .byte 32 274 .byte 37 275 .byte 100 276 .byte 32 277 .byte 37 278 .byte 100 279 .byte 125 280 .byte 0 281 .align 1 282 .L11: 283 .byte 37 284 .byte 98 285 .byte 32 286 .byte 37 287 .byte 98 288 .byte 32 289 .byte 37 290 .byte 98 291 .byte 32 292 .byte 37 293 .byte 98 294 .byte 32 295 .byte 37 296 .byte 98 297 .byte 32 298 .byte 37 299 .byte 98 300 .byte 10 301 .byte 0 302 .align 8 303 .L10: 304 .word 0x40140000 305 .word 0x0 306 .align 1 307 .L9: 308 .byte 37 309 .byte 115 310 .byte 37 311 .byte 115 312 .byte 32 313 .byte 37 314 .byte 102 315 .byte 37 316 .byte 99 317 .byte 0 318 .align 1 319 .L8: 320 .byte 115 321 .byte 116 322 .byte 0 323 .align 1 324 .L7: 325 .byte 116 326 .byte 101 327 .byte 0 328 .align 1 329 .L6: 330 .byte 37 331 .byte 115 332 .byte 37 333 .byte 115 334 .byte 32 335 .byte 37 336 .byte 119 337 .byte 37 338 .byte 99 339 .byte 0 340 .align 1 341 .L5: 342 .byte 116 343 .byte 101 344 .byte 115 345 .byte 116 346 .byte 32 347 .byte 37 348 .byte 100 349 .byte 37 350 .byte 99 351 .byte 0 352 .align 1 353 .L4: 354 .byte 50 355 .byte 0 356 .align 1 357 .L3: 358 .byte 116 359 .byte 101 360 .byte 115 361 .byte 116 362 .byte 32 363 .byte 37 364 .byte 115 365 .byte 10 366 .byte 0 367 .align 1 368 .L2: 369 .byte 116 370 .byte 101 371 .byte 115 372 .byte 116 373 .byte 32 374 .byte 49 375 .byte 10 376 .byte 0