cvt.sbk (10818B)
1 .global print 2 .section ".text" 3 .align 4 4 print: 5 save %sp,-128,%sp 6 set .L2,%o0 7 set c,%i5 8 ldsb [%i5],%o1 9 set s,%i5 10 ldsh [%i5],%o2 11 set i,%i5 12 ld [%i5],%o3 13 set l,%i5 14 ld [%i5],%o4 15 set C,%i5 16 ldub [%i5],%o5 17 set S,%i5 18 lduh [%i5],%i5 19 st %i5,[%sp+4*6+68] 20 set I,%i5 21 ld [%i5],%i5 22 st %i5,[%sp+4*7+68] 23 set L,%i5 24 ld [%i5],%i5 25 st %i5,[%sp+4*8+68] 26 set f,%i5 27 ld [%i5],%f31 28 fstod %f31,%f30 29 st %f30,[%sp+4*9+68] 30 st %f31,[%sp+4*10+68] 31 set d,%i5 32 ld2 [%i5],%f30 33 st %f30,[%sp+4*11+68] 34 st %f31,[%sp+4*12+68] 35 set D,%i5 36 ld2 [%i5],%f30 37 st %f30,[%sp+4*13+68] 38 st %f31,[%sp+4*14+68] 39 call printf; nop 40 .L1: 41 ret; restore 42 .type print,#function 43 .size print,.-print 44 .global main 45 .align 4 46 main: 47 save %sp,-104,%sp 48 set c,%i5 49 set 1,%i4 50 stb %i4,[%i5] 51 ldsb [%i5],%i5 52 set s,%i4 53 mov %i5,%i3 54 sth %i3,[%i4] 55 set i,%i4 56 st %i5,[%i4] 57 set l,%i4 58 st %i5,[%i4] 59 set C,%i3 60 mov %i5,%i2 61 stb %i2,[%i3] 62 set S,%i3 63 mov %i5,%i2 64 sth %i2,[%i3] 65 set I,%i3 66 st %i5,[%i3] 67 set L,%i3 68 st %i5,[%i3] 69 set f,%i4 70 st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31 71 st %f31,[%i4] 72 st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30 73 set d,%i5 74 st2 %f30,[%i5] 75 set D,%i5 76 st2 %f30,[%i5] 77 call print; nop 78 set s,%i5 79 set 2,%i4 80 sth %i4,[%i5] 81 ldsh [%i5],%i5 82 set c,%i4 83 mov %i5,%i3 84 stb %i3,[%i4] 85 set i,%i4 86 st %i5,[%i4] 87 set l,%i4 88 st %i5,[%i4] 89 set C,%i3 90 mov %i5,%i2 91 stb %i2,[%i3] 92 set S,%i3 93 mov %i5,%i2 94 sth %i2,[%i3] 95 set I,%i3 96 st %i5,[%i3] 97 set L,%i3 98 st %i5,[%i3] 99 set f,%i4 100 st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31 101 st %f31,[%i4] 102 st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30 103 set d,%i5 104 st2 %f30,[%i5] 105 set D,%i5 106 st2 %f30,[%i5] 107 call print; nop 108 set i,%i5 109 set 3,%i4 110 st %i4,[%i5] 111 ld [%i5],%i5 112 set c,%i4 113 mov %i5,%i3 114 stb %i3,[%i4] 115 set s,%i4 116 mov %i5,%i3 117 sth %i3,[%i4] 118 set l,%i4 119 st %i5,[%i4] 120 set C,%i3 121 mov %i5,%i2 122 stb %i2,[%i3] 123 set S,%i3 124 mov %i5,%i2 125 sth %i2,[%i3] 126 set I,%i3 127 st %i5,[%i3] 128 set L,%i3 129 st %i5,[%i3] 130 set f,%i4 131 st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31 132 st %f31,[%i4] 133 st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30 134 set d,%i5 135 st2 %f30,[%i5] 136 set D,%i5 137 st2 %f30,[%i5] 138 call print; nop 139 set l,%i5 140 set 4,%i4 141 st %i4,[%i5] 142 ld [%i5],%i5 143 set c,%i4 144 mov %i5,%i3 145 stb %i3,[%i4] 146 set s,%i4 147 mov %i5,%i3 148 sth %i3,[%i4] 149 set i,%i4 150 st %i5,[%i4] 151 set C,%i3 152 mov %i5,%i2 153 stb %i2,[%i3] 154 set S,%i3 155 mov %i5,%i2 156 sth %i2,[%i3] 157 set I,%i3 158 st %i5,[%i3] 159 set L,%i3 160 st %i5,[%i3] 161 set f,%i4 162 st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31 163 st %f31,[%i4] 164 st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30 165 set d,%i5 166 st2 %f30,[%i5] 167 set D,%i5 168 st2 %f30,[%i5] 169 call print; nop 170 set C,%i5 171 set 5,%i4 172 stb %i4,[%i5] 173 ldub [%i5],%i5 174 set c,%i4 175 mov %i5,%i3 176 stb %i3,[%i4] 177 set s,%i4 178 mov %i5,%i3 179 sth %i3,[%i4] 180 set i,%i4 181 st %i5,[%i4] 182 set l,%i4 183 st %i5,[%i4] 184 set S,%i3 185 mov %i5,%i2 186 sth %i2,[%i3] 187 set I,%i3 188 st %i5,[%i3] 189 set L,%i3 190 st %i5,[%i3] 191 set f,%i4 192 st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31 193 st %f31,[%i4] 194 st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30 195 set d,%i5 196 st2 %f30,[%i5] 197 set D,%i5 198 st2 %f30,[%i5] 199 call print; nop 200 set S,%i5 201 set 6,%i4 202 sth %i4,[%i5] 203 lduh [%i5],%i5 204 set c,%i4 205 mov %i5,%i3 206 stb %i3,[%i4] 207 set s,%i4 208 mov %i5,%i3 209 sth %i3,[%i4] 210 set i,%i4 211 st %i5,[%i4] 212 set l,%i4 213 st %i5,[%i4] 214 set C,%i3 215 mov %i5,%i2 216 stb %i2,[%i3] 217 set I,%i3 218 st %i5,[%i3] 219 set L,%i3 220 st %i5,[%i3] 221 set f,%i4 222 st %i5,[%sp+64]; ld [%sp+64],%f31; fitos %f31,%f31 223 st %f31,[%i4] 224 st %i5,[%sp+64]; ld [%sp+64],%f30; fitod %f30,%f30 225 set d,%i5 226 st2 %f30,[%i5] 227 set D,%i5 228 st2 %f30,[%i5] 229 call print; nop 230 set I,%i5 231 set 7,%i4 232 st %i4,[%i5] 233 ld [%i5],%i5 234 set c,%i3 235 mov %i5,%i2 236 stb %i2,[%i3] 237 set s,%i3 238 mov %i5,%i2 239 sth %i2,[%i3] 240 set i,%i3 241 st %i5,[%i3] 242 set l,%i3 243 st %i5,[%i3] 244 set C,%i4 245 mov %i5,%i3 246 stb %i3,[%i4] 247 set S,%i4 248 mov %i5,%i3 249 sth %i3,[%i4] 250 set L,%i4 251 st %i5,[%i4] 252 set .L4,%i4 253 ld2 [%i4],%f30 254 srl %i5,1,%i4 255 st %i4,[%sp+64]; ld [%sp+64],%f28; fitod %f28,%f28 256 fmuld %f30,%f28,%f30 257 set 1,%i4 258 and %i5,%i4,%i5 259 st %i5,[%sp+64]; ld [%sp+64],%f28; fitod %f28,%f28 260 faddd %f30,%f28,%f30 261 set f,%i5 262 fdtos %f30,%f29 263 st %f29,[%i5] 264 set d,%i5 265 st2 %f30,[%i5] 266 set D,%i5 267 st2 %f30,[%i5] 268 call print; nop 269 set L,%i5 270 set 8,%i4 271 st %i4,[%i5] 272 ld [%i5],%i5 273 set c,%i3 274 mov %i5,%i2 275 stb %i2,[%i3] 276 set s,%i3 277 mov %i5,%i2 278 sth %i2,[%i3] 279 set i,%i3 280 st %i5,[%i3] 281 set l,%i3 282 st %i5,[%i3] 283 set C,%i4 284 mov %i5,%i3 285 stb %i3,[%i4] 286 set S,%i4 287 mov %i5,%i3 288 sth %i3,[%i4] 289 set I,%i3 290 lduh [%i4],%i4 291 st %i4,[%i3] 292 set .L4,%i4 293 ld2 [%i4],%f30 294 srl %i5,1,%i4 295 st %i4,[%sp+64]; ld [%sp+64],%f28; fitod %f28,%f28 296 fmuld %f30,%f28,%f30 297 set 1,%i4 298 and %i5,%i4,%i5 299 st %i5,[%sp+64]; ld [%sp+64],%f28; fitod %f28,%f28 300 faddd %f30,%f28,%f30 301 set f,%i5 302 fdtos %f30,%f29 303 st %f29,[%i5] 304 set d,%i5 305 st2 %f30,[%i5] 306 set D,%i5 307 st2 %f30,[%i5] 308 call print; nop 309 set f,%i1 310 set .L5,%i0 311 ld [%i0],%f31 312 st %f31,[%i1] 313 ld [%i1],%f31 314 fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1 315 set c,%i0 316 mov %i1,%l7 317 stb %l7,[%i0] 318 set s,%i0 319 mov %i1,%l7 320 sth %l7,[%i0] 321 set i,%i0 322 st %i1,[%i0] 323 set l,%i0 324 st %i1,[%i0] 325 set .L9,%i1 326 ld [%i1],%f30 327 fcmpes %f31,%f30; nop; fbul .L7; nop 328 fsubs %f31,%f30,%f30 329 fstoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1 330 set 0x80000000,%i0 331 add %i1,%i0,%i5 332 ba .L8; nop 333 .L7: 334 fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1 335 mov %i1,%i5 336 .L8: 337 set C,%i1 338 mov %i5,%i0 339 stb %i0,[%i1] 340 set f,%i1 341 ld [%i1],%f31 342 set .L9,%i1 343 ld [%i1],%f30 344 fcmpes %f31,%f30; nop; fbul .L11; nop 345 fsubs %f31,%f30,%f30 346 fstoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1 347 set 0x80000000,%i0 348 add %i1,%i0,%i4 349 ba .L12; nop 350 .L11: 351 fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1 352 mov %i1,%i4 353 .L12: 354 set S,%i1 355 mov %i4,%i0 356 sth %i0,[%i1] 357 set f,%i1 358 ld [%i1],%f31 359 set .L9,%i1 360 ld [%i1],%f30 361 fcmpes %f31,%f30; nop; fbul .L14; nop 362 fsubs %f31,%f30,%f30 363 fstoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1 364 set 0x80000000,%i0 365 add %i1,%i0,%i3 366 ba .L15; nop 367 .L14: 368 fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1 369 mov %i1,%i3 370 .L15: 371 set I,%i1 372 st %i3,[%i1] 373 set f,%i1 374 ld [%i1],%f31 375 set .L9,%i1 376 ld [%i1],%f30 377 fcmpes %f31,%f30; nop; fbul .L17; nop 378 fsubs %f31,%f30,%f30 379 fstoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1 380 set 0x80000000,%i0 381 add %i1,%i0,%i2 382 ba .L18; nop 383 .L17: 384 fstoi %f31,%f0; st %f0,[%sp+64]; ld [%sp+64],%i1 385 mov %i1,%i2 386 .L18: 387 set L,%i1 388 st %i2,[%i1] 389 set f,%i1 390 ld [%i1],%f31 391 fstod %f31,%f30 392 set d,%i1 393 st2 %f30,[%i1] 394 set D,%i1 395 st2 %f30,[%i1] 396 call print; nop 397 set d,%l5 398 set .L19,%l4 399 ld2 [%l4],%f30 400 st2 %f30,[%l5] 401 ld2 [%l5],%f30 402 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5 403 set c,%l4 404 mov %l5,%l3 405 stb %l3,[%l4] 406 set s,%l4 407 mov %l5,%l3 408 sth %l3,[%l4] 409 set i,%l4 410 st %l5,[%l4] 411 set l,%l4 412 st %l5,[%l4] 413 set .L23,%l5 414 ld2 [%l5],%f28 415 fcmped %f30,%f28; nop; fbul .L21; nop 416 fsubd %f30,%f28,%f28 417 fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5 418 set 0x80000000,%l4 419 add %l5,%l4,%i1 420 ba .L22; nop 421 .L21: 422 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5 423 mov %l5,%i1 424 .L22: 425 set C,%l5 426 mov %i1,%l4 427 stb %l4,[%l5] 428 set d,%l5 429 ld2 [%l5],%f30 430 set .L23,%l5 431 ld2 [%l5],%f28 432 fcmped %f30,%f28; nop; fbul .L25; nop 433 fsubd %f30,%f28,%f28 434 fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5 435 set 0x80000000,%l4 436 add %l5,%l4,%i0 437 ba .L26; nop 438 .L25: 439 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5 440 mov %l5,%i0 441 .L26: 442 set S,%l5 443 mov %i0,%l4 444 sth %l4,[%l5] 445 set d,%l5 446 ld2 [%l5],%f30 447 set .L23,%l5 448 ld2 [%l5],%f28 449 fcmped %f30,%f28; nop; fbul .L28; nop 450 fsubd %f30,%f28,%f28 451 fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5 452 set 0x80000000,%l4 453 add %l5,%l4,%l7 454 ba .L29; nop 455 .L28: 456 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5 457 mov %l5,%l7 458 .L29: 459 set I,%l5 460 st %l7,[%l5] 461 set d,%l5 462 ld2 [%l5],%f30 463 set .L23,%l5 464 ld2 [%l5],%f28 465 fcmped %f30,%f28; nop; fbul .L31; nop 466 fsubd %f30,%f28,%f28 467 fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5 468 set 0x80000000,%l4 469 add %l5,%l4,%l6 470 ba .L32; nop 471 .L31: 472 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l5 473 mov %l5,%l6 474 .L32: 475 set L,%l5 476 st %l6,[%l5] 477 set d,%l5 478 ld2 [%l5],%f30 479 set f,%l5 480 fdtos %f30,%f29 481 st %f29,[%l5] 482 set D,%l5 483 st2 %f30,[%l5] 484 call print; nop 485 set D,%l3 486 set .L33,%l2 487 ld2 [%l2],%f30 488 st2 %f30,[%l3] 489 ld2 [%l3],%f30 490 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3 491 set c,%l2 492 mov %l3,%l1 493 stb %l1,[%l2] 494 set s,%l2 495 mov %l3,%l1 496 sth %l1,[%l2] 497 set i,%l2 498 st %l3,[%l2] 499 set l,%l2 500 st %l3,[%l2] 501 set .L37,%l3 502 ld2 [%l3],%f28 503 fcmped %f30,%f28; nop; fbul .L35; nop 504 fsubd %f30,%f28,%f28 505 fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3 506 set 0x80000000,%l2 507 add %l3,%l2,%l5 508 ba .L36; nop 509 .L35: 510 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3 511 mov %l3,%l5 512 .L36: 513 set C,%l3 514 mov %l5,%l2 515 stb %l2,[%l3] 516 set D,%l3 517 ld2 [%l3],%f30 518 set .L37,%l3 519 ld2 [%l3],%f28 520 fcmped %f30,%f28; nop; fbul .L39; nop 521 fsubd %f30,%f28,%f28 522 fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3 523 set 0x80000000,%l2 524 add %l3,%l2,%l4 525 ba .L40; nop 526 .L39: 527 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3 528 mov %l3,%l4 529 .L40: 530 set S,%l3 531 mov %l4,%l2 532 sth %l2,[%l3] 533 set D,%l3 534 ld2 [%l3],%f30 535 set .L37,%l3 536 ld2 [%l3],%f28 537 fcmped %f30,%f28; nop; fbul .L42; nop 538 fsubd %f30,%f28,%f28 539 fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3 540 set 0x80000000,%l2 541 add %l3,%l2,%l3 542 st %l3,[%fp+-4] 543 ba .L43; nop 544 .L42: 545 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3 546 st %l3,[%fp+-4] 547 .L43: 548 set I,%l3 549 ld [%fp+-4],%l2 550 st %l2,[%l3] 551 set D,%l3 552 ld2 [%l3],%f30 553 set .L37,%l3 554 ld2 [%l3],%f28 555 fcmped %f30,%f28; nop; fbul .L45; nop 556 fsubd %f30,%f28,%f28 557 fdtoi %f28,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3 558 set 0x80000000,%l2 559 add %l3,%l2,%l3 560 st %l3,[%fp+-8] 561 ba .L46; nop 562 .L45: 563 fdtoi %f30,%f0; st %f0,[%sp+64]; ld [%sp+64],%l3 564 st %l3,[%fp+-8] 565 .L46: 566 set L,%l3 567 ld [%fp+-8],%l2 568 st %l2,[%l3] 569 set D,%l3 570 ld2 [%l3],%f30 571 set f,%l3 572 fdtos %f30,%f29 573 st %f29,[%l3] 574 set d,%l3 575 st2 %f30,[%l3] 576 call print; nop 577 set p,%l3 578 st %g0,[%l3] 579 st %g0,[%l3] 580 st %g0,[%l3] 581 st %g0,[%l3] 582 set P,%l2 583 ld [%l2],%l1 584 st %l1,[%l3] 585 mov %g0,%l1 586 st %l1,[%l2] 587 st %l1,[%l2] 588 st %l1,[%l2] 589 st %l1,[%l2] 590 ld [%l3],%l3 591 st %l3,[%l2] 592 mov %g0,%i0 593 .L3: 594 ret; restore 595 .type main,#function 596 .size main,.-main 597 .section ".bss" 598 .global P 599 .type P,#object 600 .size P,4 601 .common P,4,4 602 .global p 603 .type p,#object 604 .size p,4 605 .common p,4,4 606 .global D 607 .type D,#object 608 .size D,8 609 .common D,8,8 610 .global d 611 .type d,#object 612 .size d,8 613 .common d,8,8 614 .global f 615 .type f,#object 616 .size f,4 617 .common f,4,4 618 .global L 619 .type L,#object 620 .size L,4 621 .common L,4,4 622 .global I 623 .type I,#object 624 .size I,4 625 .common I,4,4 626 .global S 627 .type S,#object 628 .size S,2 629 .common S,2,2 630 .global C 631 .type C,#object 632 .size C,1 633 .common C,1,1 634 .global l 635 .type l,#object 636 .size l,4 637 .common l,4,4 638 .global i 639 .type i,#object 640 .size i,4 641 .common i,4,4 642 .global s 643 .type s,#object 644 .size s,2 645 .common s,2,2 646 .global c 647 .type c,#object 648 .size c,1 649 .common c,1,1 650 .section ".rodata" 651 .align 8 652 .L37: 653 .word 0x41e00000 654 .word 0x0 655 .align 8 656 .L33: 657 .word 0x40260000 658 .word 0x0 659 .align 8 660 .L23: 661 .word 0x41e00000 662 .word 0x0 663 .align 8 664 .L19: 665 .word 0x40240000 666 .word 0x0 667 .align 4 668 .L9: 669 .word 0x4f000000 670 .align 4 671 .L5: 672 .word 0x41100000 673 .align 8 674 .L4: 675 .word 0x40000000 676 .word 0x0 677 .align 1 678 .L2: 679 .byte 37 680 .byte 100 681 .byte 32 682 .byte 37 683 .byte 100 684 .byte 32 685 .byte 37 686 .byte 100 687 .byte 32 688 .byte 37 689 .byte 108 690 .byte 100 691 .byte 32 692 .byte 37 693 .byte 117 694 .byte 32 695 .byte 37 696 .byte 117 697 .byte 32 698 .byte 37 699 .byte 117 700 .byte 32 701 .byte 37 702 .byte 108 703 .byte 117 704 .byte 32 705 .byte 37 706 .byte 102 707 .byte 32 708 .byte 37 709 .byte 102 710 .byte 32 711 .byte 37 712 .byte 108 713 .byte 102 714 .byte 10 715 .byte 0