cf.sbk (1922B)
1 .global main 2 .section ".text" 3 .align 4 4 main: 5 save %sp,-96,%sp 6 cmp %i0,1; bg .L2; nop 7 set .L4,%i2 8 ld [%i2],%f31 9 st %f31,[%fp+-4] 10 ba .L3; nop 11 .L2: 12 ld [%i1+4],%o0 13 call atof; nop 14 fmovs %f0,%f31 15 set .L5,%i2 16 ld [%i2],%f30 17 fdivs %f31,%f30,%f31 18 st %f31,[%fp+-4] 19 .L3: 20 mov %g0,%i5 21 .L6: 22 mov %i5,%i2 23 add %i2,1,%i5 24 sll %i2,2,%i2 25 set f,%l7 26 set .L4,%l6 27 ld [%l6],%f31 28 st %f31,[%i2+%l7] 29 .L7: 30 cmp %i5,127; ble .L6; nop 31 mov %g0,%i4 32 ba .L11; nop 33 .L10: 34 sll %i3,2,%i2 35 set f,%l7 36 add %i2,%l7,%i2 37 ld [%i2],%f31 38 set .L13,%l7 39 ld [%l7],%f30 40 fadds %f31,%f30,%f31 41 st %f31,[%i2] 42 add %i4,1,%i4 43 .L11: 44 call getchar; nop 45 mov %o0,%i3 46 cmp %o0,-1; bne .L10; nop 47 set .L14,%o0 48 call printf; nop 49 mov %g0,%i5 50 .L15: 51 sll %i5,2,%i2 52 set f,%l7 53 ld [%i2+%l7],%f31 54 set .L4,%i2 55 ld [%i2],%f30 56 fcmpes %f31,%f30; nop; fbue .L19; nop 57 st %i4,[%sp+64]; ld [%sp+64],%f30; fitos %f30,%f30 58 fdivs %f31,%f30,%f31 59 ld [%fp+-4],%f30 60 fcmpes %f31,%f30; nop; fbul .L19; nop 61 cmp %i5,32; bg .L21; nop 62 set .L23,%o0 63 mov %i5,%o1 64 call printf; nop 65 ba .L22; nop 66 .L21: 67 set .L24,%o0 68 mov %i5,%o1 69 call printf; nop 70 .L22: 71 set .L25,%o0 72 set .L5,%i2 73 ld [%i2],%f31 74 sll %i5,2,%i2 75 set f,%l7 76 ld [%i2+%l7],%f30 77 fmuls %f31,%f30,%f31 78 st %i4,[%sp+64]; ld [%sp+64],%f30; fitos %f30,%f30 79 fdivs %f31,%f30,%f31 80 fstod %f31,%f30 81 st %f30,[%sp+4*1+68] 82 st %f31,[%sp+4*2+68] 83 ld [%sp+4*1+68],%o1 84 ld [%sp+4*2+68],%o2 85 call printf; nop 86 .L19: 87 .L16: 88 add %i5,1,%i5 89 cmp %i5,127; ble .L15; nop 90 mov %g0,%i0 91 .L1: 92 ret; restore 93 .type main,#function 94 .size main,.-main 95 .section ".bss" 96 .global f 97 .type f,#object 98 .size f,512 99 .common f,512,4 100 .section ".rodata" 101 .align 1 102 .L25: 103 .byte 9 104 .byte 37 105 .byte 46 106 .byte 49 107 .byte 102 108 .byte 10 109 .byte 0 110 .align 1 111 .L24: 112 .byte 37 113 .byte 99 114 .byte 0 115 .align 1 116 .L23: 117 .byte 37 118 .byte 48 119 .byte 51 120 .byte 111 121 .byte 0 122 .align 1 123 .L14: 124 .byte 99 125 .byte 104 126 .byte 97 127 .byte 114 128 .byte 9 129 .byte 102 130 .byte 114 131 .byte 101 132 .byte 113 133 .byte 10 134 .byte 0 135 .align 4 136 .L13: 137 .word 0x3f800000 138 .align 4 139 .L5: 140 .word 0x42c80000 141 .align 4 142 .L4: 143 .word 0x0