fields.sbk (3757B)
1 .section ".data" 2 .global x 3 .type x,#object 4 .size x,16 5 .align 4 6 x: 7 .word 0x1 8 .byte 0x2 9 .skip 3 10 .byte 0x0 11 .byte 0x34 12 .skip 2 13 .byte 0xa 14 .byte 0x6 15 .skip 2 16 .global i 17 .type i,#object 18 .size i,4 19 .align 4 20 i: 21 .word 0x10 22 .global y 23 .type y,#object 24 .size y,8 25 .align 4 26 y: 27 .byte 0xe0 28 .skip 3 29 .byte 0x0 30 .byte 0x0 31 .byte 0x0 32 .byte 0x9 33 .global main 34 .section ".text" 35 .align 4 36 main: 37 save %sp,-96,%sp 38 set .L4,%o0 39 set x,%i5 40 ld [%i5],%o1 41 set x+4,%i5 42 ldsb [%i5],%o2 43 set x+8,%i5 44 ld [%i5],%i5 45 sra %i5,20,%o3 46 set x+8,%i5 47 ld [%i5],%i5 48 sll %i5,12,%i5 49 sra %i5,28,%o4 50 set x+12,%i5 51 ld [%i5],%i5 52 sll %i5,4,%i5 53 sra %i5,29,%o5 54 set x+13,%i5 55 ldsb [%i5],%i5 56 st %i5,[%sp+4*6+68] 57 call printf; nop 58 set .L10,%o0 59 set y,%i5 60 ld [%i5],%i5 61 srl %i5,30,%i4 62 set 3,%i3 63 and %i4,%i3,%o1 64 srl %i5,26,%i5 65 set 15,%i4 66 and %i5,%i4,%o2 67 set y+4,%i5 68 ld [%i5],%o3 69 call printf; nop 70 set x+8,%i5 71 ld [%i5],%i4 72 set 0xfff0ffff,%i3 73 and %i4,%i3,%i4 74 set i,%i3 75 ld [%i3],%i3 76 sll %i3,28,%i3 77 sra %i3,28,%i3 78 sll %i3,16,%i3 79 set 0xf0000,%i2 80 and %i3,%i2,%i3 81 or %i4,%i3,%i4 82 st %i4,[%i5] 83 set x+12,%i5 84 ld [%i5],%i4 85 set 0xf1ffffff,%i3 86 and %i4,%i3,%i4 87 st %i4,[%i5] 88 set .L4,%o0 89 set x,%i5 90 ld [%i5],%o1 91 set x+4,%i5 92 ldsb [%i5],%o2 93 set x+8,%i5 94 ld [%i5],%i5 95 sra %i5,20,%o3 96 set x+8,%i5 97 ld [%i5],%i5 98 sll %i5,12,%i5 99 sra %i5,28,%o4 100 set x+12,%i5 101 ld [%i5],%i5 102 sll %i5,4,%i5 103 sra %i5,29,%o5 104 set x+13,%i5 105 ldsb [%i5],%i5 106 st %i5,[%sp+4*6+68] 107 call printf; nop 108 set y,%i5 109 ld [%i5],%i4 110 set 0x3fffffff,%i3 111 and %i4,%i3,%i4 112 set 0x80000000,%i3 113 or %i4,%i3,%i4 114 st %i4,[%i5] 115 set y+4,%i5 116 set i,%i4 117 ld [%i4],%i4 118 st %i4,[%i5] 119 set .L10,%o0 120 set y,%i5 121 ld [%i5],%i5 122 srl %i5,30,%i4 123 set 3,%i3 124 and %i4,%i3,%o1 125 srl %i5,26,%i5 126 set 15,%i4 127 and %i5,%i4,%o2 128 set y+4,%i5 129 ld [%i5],%o3 130 call printf; nop 131 set x,%o0 132 call f2; nop 133 mov %g0,%i0 134 .L3: 135 ret; restore 136 .type main,#function 137 .size main,.-main 138 .global f1 139 .align 4 140 f1: 141 save %sp,-96,%sp 142 ld [%i0],%i5 143 set 0xc3ffffff,%i4 144 and %i5,%i4,%i5 145 st %i5,[%i0] 146 ld [%i0],%i5 147 set 0x3fffffff,%i4 148 and %i5,%i4,%i5 149 set 3,%i4 150 and %g0,%i4,%i4 151 sll %i4,30,%i4 152 set 0xc0000000,%i3 153 and %i4,%i3,%i4 154 or %i5,%i4,%i5 155 st %i5,[%i0] 156 ld [%i0],%i5 157 set 0x3c000000,%i4 158 and %i5,%i4,%i5 159 cmp %i5,%g0; be .L22; nop 160 set .L24,%o0 161 call printf; nop 162 .L22: 163 ld [%i0],%i5 164 set 0xc0000000,%i4 165 or %i5,%i4,%i5 166 st %i5,[%i0] 167 ld [%i0],%i5 168 set 0x3c000000,%i4 169 or %i5,%i4,%i5 170 st %i5,[%i0] 171 set .L25,%o0 172 ld [%i0],%i5 173 srl %i5,30,%i4 174 set 3,%i3 175 and %i4,%i3,%o1 176 srl %i5,26,%i5 177 set 15,%i4 178 and %i5,%i4,%o2 179 call printf; nop 180 mov %g0,%i0 181 .L21: 182 ret; restore 183 .type f1,#function 184 .size f1,.-f1 185 .global f2 186 .align 4 187 f2: 188 save %sp,-96,%sp 189 set i,%i4 190 ld [%i4],%i4 191 cmp %i4,0; bne .L28; nop 192 set 1,%i5 193 ba .L29; nop 194 .L28: 195 mov %g0,%i5 196 .L29: 197 ld [%i0],%i4 198 set 0x3fffffff,%i3 199 and %i4,%i3,%i4 200 mov %i5,%i3 201 set 3,%i2 202 and %i3,%i2,%i3 203 sll %i3,30,%i3 204 set 0xc0000000,%i2 205 and %i3,%i2,%i3 206 or %i4,%i3,%i4 207 st %i4,[%i0] 208 mov %i0,%o0 209 call f1; nop 210 ld [%i0],%i4 211 set 0xc3ffffff,%i3 212 and %i4,%i3,%i4 213 mov %g0,%i3 214 set 15,%i2 215 and %i3,%i2,%i3 216 sll %i3,26,%i3 217 set 0x3c000000,%i2 218 and %i3,%i2,%i3 219 or %i4,%i3,%i4 220 st %i4,[%i0] 221 mov %g0,%i0 222 .L26: 223 ret; restore 224 .type f2,#function 225 .size f2,.-f2 226 .section ".rodata" 227 .align 1 228 .L25: 229 .byte 112 230 .byte 45 231 .byte 62 232 .byte 97 233 .byte 32 234 .byte 61 235 .byte 32 236 .byte 48 237 .byte 120 238 .byte 37 239 .byte 120 240 .byte 44 241 .byte 32 242 .byte 112 243 .byte 45 244 .byte 62 245 .byte 98 246 .byte 32 247 .byte 61 248 .byte 32 249 .byte 48 250 .byte 120 251 .byte 37 252 .byte 120 253 .byte 10 254 .byte 0 255 .align 1 256 .L24: 257 .byte 112 258 .byte 45 259 .byte 62 260 .byte 98 261 .byte 32 262 .byte 33 263 .byte 61 264 .byte 32 265 .byte 48 266 .byte 33 267 .byte 10 268 .byte 0 269 .align 1 270 .L10: 271 .byte 121 272 .byte 32 273 .byte 61 274 .byte 32 275 .byte 37 276 .byte 100 277 .byte 32 278 .byte 37 279 .byte 100 280 .byte 32 281 .byte 37 282 .byte 100 283 .byte 10 284 .byte 0 285 .align 1 286 .L4: 287 .byte 120 288 .byte 32 289 .byte 61 290 .byte 32 291 .byte 37 292 .byte 100 293 .byte 32 294 .byte 37 295 .byte 100 296 .byte 32 297 .byte 37 298 .byte 100 299 .byte 32 300 .byte 37 301 .byte 100 302 .byte 32 303 .byte 37 304 .byte 100 305 .byte 32 306 .byte 37 307 .byte 100 308 .byte 10 309 .byte 0