GAS LISTING /tmp/cc5T5uTd.s page 1 1 .file "putf.c" 2 __SP_H__ = 0x3e 3 __SP_L__ = 0x3d 4 __SREG__ = 0x3f 5 __RAMPZ__ = 0x3b 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .section .text._putpad,"ax",@progbits 9 .type _putpad, @function 10 _putpad: 11 0000 CF92 push r12 12 0002 DF92 push r13 13 0004 EF92 push r14 14 0006 FF92 push r15 15 0008 0F93 push r16 16 000a 1F93 push r17 17 000c CF93 push r28 18 000e DF93 push r29 19 /* prologue: function */ 20 /* frame size = 0 */ 21 /* stack size = 8 */ 22 .L__stack_usage = 8 23 0010 8C01 movw r16,r24 24 0012 7B01 movw r14,r22 25 0014 6A01 movw r12,r20 26 0016 E901 movw r28,r18 27 .L2: 28 0018 C131 cpi r28,17 29 001a D105 cpc r29,__zero_reg__ 30 001c 04F0 brlt .L6 31 001e 40E1 ldi r20,lo8(16) 32 0020 50E0 ldi r21,0 33 0022 B601 movw r22,r12 34 0024 C701 movw r24,r14 35 0026 F801 movw r30,r16 36 0028 1995 eicall 37 002a 6097 sbiw r28,16 38 002c 00C0 rjmp .L2 39 .L6: 40 002e 1C16 cp __zero_reg__,r28 41 0030 1D06 cpc __zero_reg__,r29 42 0032 04F4 brge .L1 43 0034 AE01 movw r20,r28 44 0036 B601 movw r22,r12 45 0038 C701 movw r24,r14 46 003a F801 movw r30,r16 47 /* epilogue start */ 48 003c DF91 pop r29 49 003e CF91 pop r28 50 0040 1F91 pop r17 51 0042 0F91 pop r16 52 0044 FF90 pop r15 53 0046 EF90 pop r14 54 0048 DF90 pop r13 55 004a CF90 pop r12 56 004c 1994 eijmp 57 .L1: GAS LISTING /tmp/cc5T5uTd.s page 2 58 /* epilogue start */ 59 004e DF91 pop r29 60 0050 CF91 pop r28 61 0052 1F91 pop r17 62 0054 0F91 pop r16 63 0056 FF90 pop r15 64 0058 EF90 pop r14 65 005a DF90 pop r13 66 005c CF90 pop r12 67 005e 0895 ret 68 .size _putpad, .-_putpad 69 .section .text.va_args_ulval,"ax",@progbits 70 .global va_args_ulval 71 .type va_args_ulval, @function 72 va_args_ulval: 73 /* prologue: function */ 74 /* frame size = 0 */ 75 /* stack size = 0 */ 76 .L__stack_usage = 0 77 0000 DB01 movw r26,r22 78 0002 ED91 ld r30,X+ 79 0004 FC91 ld r31,X 80 0006 1197 sbiw r26,1 81 0008 83FF sbrs r24,3 82 000a 00C0 rjmp .L8 83 000c CF01 movw r24,r30 84 000e 0496 adiw r24,4 85 0010 8D93 st X+,r24 86 0012 9C93 st X,r25 87 0014 6081 ld r22,Z 88 0016 7181 ldd r23,Z+1 89 0018 8281 ldd r24,Z+2 90 001a 9381 ldd r25,Z+3 91 001c 0895 ret 92 .L8: 93 001e 86FF sbrs r24,6 94 0020 00C0 rjmp .L10 95 0022 CF01 movw r24,r30 96 0024 0296 adiw r24,2 97 0026 8D93 st X+,r24 98 0028 9C93 st X,r25 99 002a 6081 ld r22,Z 100 002c 7181 ldd r23,Z+1 101 002e 80E0 ldi r24,0 102 0030 90E0 ldi r25,0 103 0032 0895 ret 104 .L10: 105 0034 CF01 movw r24,r30 106 0036 0296 adiw r24,2 107 0038 8D93 st X+,r24 108 003a 9C93 st X,r25 109 003c 6081 ld r22,Z 110 003e 7181 ldd r23,Z+1 111 0040 072E mov __tmp_reg__,r23 112 0042 000C lsl r0 113 0044 880B sbc r24,r24 114 0046 990B sbc r25,r25 GAS LISTING /tmp/cc5T5uTd.s page 3 115 0048 0895 ret 116 .size va_args_ulval, .-va_args_ulval 117 .section .rodata.str1.1,"aMS",@progbits,1 118 .LC0: 119 0000 286E 756C .string "(null)" 119 6C29 00 120 .section .text._putf,"ax",@progbits 121 .global _putf 122 .type _putf, @function 123 _putf: 124 0000 2F92 push r2 125 0002 3F92 push r3 126 0004 4F92 push r4 127 0006 5F92 push r5 128 0008 6F92 push r6 129 000a 7F92 push r7 130 000c 8F92 push r8 131 000e 9F92 push r9 132 0010 AF92 push r10 133 0012 BF92 push r11 134 0014 CF92 push r12 135 0016 DF92 push r13 136 0018 EF92 push r14 137 001a FF92 push r15 138 001c 0F93 push r16 139 001e 1F93 push r17 140 0020 CF93 push r28 141 0022 DF93 push r29 142 0024 CDB7 in r28,__SP_L__ 143 0026 DEB7 in r29,__SP_H__ 144 0028 A697 sbiw r28,38 145 002a 0FB6 in __tmp_reg__,__SREG__ 146 002c F894 cli 147 002e DEBF out __SP_H__,r29 148 0030 0FBE out __SREG__,__tmp_reg__ 149 0032 CDBF out __SP_L__,r28 150 /* prologue: function */ 151 /* frame size = 38 */ 152 /* stack size = 56 */ 153 .L__stack_usage = 56 154 0034 9DA3 std Y+37,r25 155 0036 8CA3 std Y+36,r24 156 0038 7BA3 std Y+35,r23 157 003a 6AA3 std Y+34,r22 158 003c 58A3 std Y+32,r21 159 003e 4F8F std Y+31,r20 160 0040 5901 movw r10,r18 161 0042 1B8F std Y+27,r17 162 0044 0A8F std Y+26,r16 163 0046 212C mov r2,__zero_reg__ 164 0048 312C mov r3,__zero_reg__ 165 004a CE01 movw r24,r28 166 004c 0196 adiw r24,1 167 004e 2C01 movw r4,r24 168 0050 DE01 movw r26,r28 169 0052 5996 adiw r26,25 170 0054 BD8F std Y+29,r27 GAS LISTING /tmp/cc5T5uTd.s page 4 171 0056 AC8F std Y+28,r26 172 .L12: 173 0058 F501 movw r30,r10 174 .L14: 175 005a 7F01 movw r14,r30 176 005c BFEF ldi r27,-1 177 005e EB1A sub r14,r27 178 0060 FB0A sbc r15,r27 179 0062 D080 ld r13,Z 180 0064 DD20 tst r13 181 0066 01F0 breq .L13 182 0068 25E2 ldi r18,lo8(37) 183 006a D216 cp r13,r18 184 006c 01F0 breq .L13 185 006e F701 movw r30,r14 186 0070 00C0 rjmp .L14 187 .L13: 188 0072 8F01 movw r16,r30 189 0074 0A19 sub r16,r10 190 0076 1B09 sbc r17,r11 191 0078 01F0 breq .L15 192 007a A801 movw r20,r16 193 007c B501 movw r22,r10 194 007e 8F8D ldd r24,Y+31 195 0080 98A1 ldd r25,Y+32 196 0082 ECA1 ldd r30,Y+36 197 0084 FDA1 ldd r31,Y+37 198 0086 1995 eicall 199 0088 200E add r2,r16 200 008a 311E adc r3,r17 201 .L15: 202 008c DD20 tst r13 203 008e 01F4 brne .+2 204 0090 00C0 rjmp .L117 205 0092 D701 movw r26,r14 206 0094 198E std Y+25,__zero_reg__ 207 0096 EA8D ldd r30,Y+26 208 0098 FB8D ldd r31,Y+27 209 009a 30E0 ldi r19,0 210 009c 50E0 ldi r21,0 211 009e 40E0 ldi r20,0 212 00a0 EE24 clr r14 213 00a2 EA94 dec r14 214 00a4 FE2C mov r15,r14 215 00a6 612C mov r6,__zero_reg__ 216 00a8 712C mov r7,__zero_reg__ 217 00aa 1E8E std Y+30,__zero_reg__ 218 .L17: 219 00ac 5D01 movw r10,r26 220 00ae 2FEF ldi r18,-1 221 00b0 A21A sub r10,r18 222 00b2 B20A sbc r11,r18 223 00b4 1C91 ld r17,X 224 00b6 19A3 std Y+33,r17 225 00b8 1032 cpi r17,lo8(32) 226 00ba 01F4 brne .L18 227 00bc 4111 cpse r20,__zero_reg__ GAS LISTING /tmp/cc5T5uTd.s page 5 228 00be 00C0 rjmp .L19 229 00c0 51E0 ldi r21,lo8(1) 230 00c2 40E2 ldi r20,lo8(32) 231 00c4 00C0 rjmp .L19 232 .L18: 233 00c6 1B32 cpi r17,lo8(43) 234 00c8 01F4 brne .L174 235 00ca 51E0 ldi r21,lo8(1) 236 00cc 4BE2 ldi r20,lo8(43) 237 .L19: 238 00ce D501 movw r26,r10 239 00d0 00C0 rjmp .L17 240 .L174: 241 00d2 1D32 cpi r17,lo8(45) 242 00d4 01F4 brne .L21 243 00d6 6E8D ldd r22,Y+30 244 00d8 6460 ori r22,lo8(4) 245 00da 6E8F std Y+30,r22 246 00dc 00C0 rjmp .L19 247 .L21: 248 00de 1332 cpi r17,lo8(35) 249 00e0 01F4 brne .L22 250 00e2 8E8D ldd r24,Y+30 251 00e4 8160 ori r24,lo8(1) 252 00e6 00C0 rjmp .L168 253 .L22: 254 00e8 1033 cpi r17,lo8(48) 255 00ea 01F4 brne .L23 256 00ec 9E8D ldd r25,Y+30 257 00ee 9061 ori r25,lo8(16) 258 00f0 9E8F std Y+30,r25 259 00f2 00C0 rjmp .L19 260 .L23: 261 00f4 1C36 cpi r17,lo8(108) 262 00f6 01F4 brne .L24 263 00f8 1196 adiw r26,1 264 00fa 8C91 ld r24,X 265 00fc 1197 sbiw r26,1 266 00fe 8C36 cpi r24,lo8(108) 267 0100 01F4 brne .L25 268 0102 2E8D ldd r18,Y+30 269 0104 2062 ori r18,lo8(32) 270 0106 2E8F std Y+30,r18 271 0108 5D01 movw r10,r26 272 010a 62E0 ldi r22,2 273 010c A60E add r10,r22 274 010e B11C adc r11,__zero_reg__ 275 0110 00C0 rjmp .L19 276 .L25: 277 0112 8E8D ldd r24,Y+30 278 0114 8860 ori r24,lo8(8) 279 .L168: 280 0116 8E8F std Y+30,r24 281 0118 00C0 rjmp .L19 282 .L24: 283 011a 1A37 cpi r17,lo8(122) 284 011c 01F0 breq .L19 GAS LISTING /tmp/cc5T5uTd.s page 6 285 011e 1A32 cpi r17,lo8(42) 286 0120 01F4 brne .L26 287 0122 CF01 movw r24,r30 288 0124 0296 adiw r24,2 289 0126 6080 ld r6,Z 290 0128 7180 ldd r7,Z+1 291 012a 77FE sbrs r7,7 292 012c 00C0 rjmp .L167 293 012e AE8D ldd r26,Y+30 294 0130 A460 ori r26,lo8(4) 295 0132 AE8F std Y+30,r26 296 0134 7194 neg r7 297 0136 6194 neg r6 298 0138 7108 sbc r7,__zero_reg__ 299 .L167: 300 013a FC01 movw r30,r24 301 013c 31E0 ldi r19,lo8(1) 302 013e 00C0 rjmp .L19 303 .L26: 304 0140 1E32 cpi r17,lo8(46) 305 0142 01F4 brne .L27 306 0144 1196 adiw r26,1 307 0146 8C91 ld r24,X 308 0148 1197 sbiw r26,1 309 014a 8A32 cpi r24,lo8(42) 310 014c 01F0 breq .L28 311 014e C501 movw r24,r10 312 0150 E12C mov r14,__zero_reg__ 313 0152 F12C mov r15,__zero_reg__ 314 0154 00C0 rjmp .L29 315 .L28: 316 0156 5D01 movw r10,r26 317 0158 22E0 ldi r18,2 318 015a A20E add r10,r18 319 015c B11C adc r11,__zero_reg__ 320 015e CF01 movw r24,r30 321 0160 0296 adiw r24,2 322 0162 E080 ld r14,Z 323 0164 F180 ldd r15,Z+1 324 0166 F7FE sbrs r15,7 325 0168 00C0 rjmp .L175 326 016a FC01 movw r30,r24 327 016c 31E0 ldi r19,lo8(1) 328 016e EE24 clr r14 329 0170 EA94 dec r14 330 0172 FE2C mov r15,r14 331 0174 00C0 rjmp .L19 332 .L175: 333 0176 31E0 ldi r19,lo8(1) 334 0178 00C0 rjmp .L30 335 .L29: 336 017a 5C01 movw r10,r24 337 017c DC01 movw r26,r24 338 017e 2C91 ld r18,X 339 0180 0196 adiw r24,1 340 0182 60ED ldi r22,lo8(-48) 341 0184 620F add r22,r18 GAS LISTING /tmp/cc5T5uTd.s page 7 342 0186 6A30 cpi r22,lo8(10) 343 0188 00F4 brsh .L176 344 018a AAE0 ldi r26,lo8(10) 345 018c AE9D mul r26,r14 346 018e B001 movw r22,r0 347 0190 AF9D mul r26,r15 348 0192 700D add r23,r0 349 0194 1124 clr __zero_reg__ 350 0196 E22E mov r14,r18 351 0198 220F lsl r18 352 019a FF08 sbc r15,r15 353 019c B0E3 ldi r27,48 354 019e EB1A sub r14,r27 355 01a0 F108 sbc r15,__zero_reg__ 356 01a2 E60E add r14,r22 357 01a4 F71E adc r15,r23 358 01a6 00C0 rjmp .L29 359 .L176: 360 01a8 CF01 movw r24,r30 361 .L30: 362 01aa FC01 movw r30,r24 363 01ac 00C0 rjmp .L19 364 .L27: 365 01ae 8FEC ldi r24,lo8(-49) 366 01b0 810F add r24,r17 367 01b2 8930 cpi r24,lo8(9) 368 01b4 00F4 brsh .L32 369 01b6 612E mov r6,r17 370 01b8 712C mov r7,__zero_reg__ 371 01ba B0E3 ldi r27,48 372 01bc 6B1A sub r6,r27 373 01be 7108 sbc r7,__zero_reg__ 374 01c0 D501 movw r26,r10 375 .L33: 376 01c2 5D01 movw r10,r26 377 01c4 2D91 ld r18,X+ 378 01c6 80ED ldi r24,lo8(-48) 379 01c8 820F add r24,r18 380 01ca 8A30 cpi r24,lo8(10) 381 01cc 00F0 brlo .+2 382 01ce 00C0 rjmp .L19 383 01d0 6AE0 ldi r22,lo8(10) 384 01d2 669D mul r22,r6 385 01d4 C001 movw r24,r0 386 01d6 679D mul r22,r7 387 01d8 900D add r25,r0 388 01da 1124 clr __zero_reg__ 389 01dc 622E mov r6,r18 390 01de 220F lsl r18 391 01e0 7708 sbc r7,r7 392 01e2 20E3 ldi r18,48 393 01e4 621A sub r6,r18 394 01e6 7108 sbc r7,__zero_reg__ 395 01e8 680E add r6,r24 396 01ea 791E adc r7,r25 397 01ec 00C0 rjmp .L33 398 .L32: GAS LISTING /tmp/cc5T5uTd.s page 8 399 01ee 5111 cpse r21,__zero_reg__ 400 01f0 498F std Y+25,r20 401 .L35: 402 01f2 3323 tst r19 403 01f4 01F0 breq .L36 404 01f6 FB8F std Y+27,r31 405 01f8 EA8F std Y+26,r30 406 .L36: 407 01fa 1836 cpi r17,lo8(104) 408 01fc 04F4 brge .L38 409 01fe 1536 cpi r17,lo8(101) 410 0200 04F0 brlt .+2 411 0202 00C0 rjmp .L39 412 0204 1035 cpi r17,lo8(80) 413 0206 01F0 breq .L40 414 0208 04F4 brge .L41 415 020a 1534 cpi r17,lo8(69) 416 020c 01F4 brne .+2 417 020e 00C0 rjmp .L39 418 0210 1734 cpi r17,lo8(71) 419 0212 01F4 brne .+2 420 0214 00C0 rjmp .L39 421 0216 00C0 rjmp .L37 422 .L41: 423 0218 1336 cpi r17,lo8(99) 424 021a 01F0 breq .L42 425 021c 04F0 brlt .+2 426 021e 00C0 rjmp .L43 427 0220 1835 cpi r17,lo8(88) 428 0222 01F4 brne .+2 429 0224 00C0 rjmp .L44 430 0226 00C0 rjmp .L37 431 .L38: 432 0228 1037 cpi r17,lo8(112) 433 022a 01F4 brne .+2 434 022c 00C0 rjmp .L44 435 022e 04F4 brge .L45 436 0230 1936 cpi r17,lo8(105) 437 0232 01F4 brne .+2 438 0234 00C0 rjmp .L43 439 0236 1F36 cpi r17,lo8(111) 440 0238 01F4 brne .+2 441 023a 00C0 rjmp .L46 442 023c 00C0 rjmp .L37 443 .L45: 444 023e 1537 cpi r17,lo8(117) 445 0240 01F4 brne .+2 446 0242 00C0 rjmp .L47 447 0244 1837 cpi r17,lo8(120) 448 0246 01F4 brne .+2 449 0248 00C0 rjmp .L44 450 024a 1337 cpi r17,lo8(115) 451 024c 01F0 breq .+2 452 024e 00C0 rjmp .L37 453 0250 EA8D ldd r30,Y+26 454 0252 FB8D ldd r31,Y+27 455 0254 CF01 movw r24,r30 GAS LISTING /tmp/cc5T5uTd.s page 9 456 0256 0296 adiw r24,2 457 0258 9B8F std Y+27,r25 458 025a 8A8F std Y+26,r24 459 025c 0081 ld r16,Z 460 025e 1181 ldd r17,Z+1 461 0260 00C0 rjmp .L51 462 .L42: 463 0262 EA8D ldd r30,Y+26 464 0264 FB8D ldd r31,Y+27 465 0266 CF01 movw r24,r30 466 0268 0296 adiw r24,2 467 026a 9B8F std Y+27,r25 468 026c 8A8F std Y+26,r24 469 026e 8081 ld r24,Z 470 0270 8983 std Y+1,r24 471 0272 00C0 rjmp .L170 472 .L40: 473 0274 EA8D ldd r30,Y+26 474 0276 FB8D ldd r31,Y+27 475 0278 CF01 movw r24,r30 476 027a 0296 adiw r24,2 477 027c 9B8F std Y+27,r25 478 027e 8A8F std Y+26,r24 479 0280 C080 ld r12,Z 480 0282 D180 ldd r13,Z+1 481 0284 C114 cp r12,__zero_reg__ 482 0286 D104 cpc r13,__zero_reg__ 483 0288 01F0 breq .L92 484 028a C601 movw r24,r12 485 028c 0E94 0000 call __strlen_P 486 0290 0196 adiw r24,1 487 0292 0E94 0000 call malloc 488 0296 8C01 movw r16,r24 489 0298 B601 movw r22,r12 490 029a 0E94 0000 call strcpy_P 491 .L51: 492 029e 0115 cp r16,__zero_reg__ 493 02a0 1105 cpc r17,__zero_reg__ 494 02a2 01F4 brne .L50 495 02a4 00C0 rjmp .L169 496 .L92: 497 02a6 63E7 ldi r22,lo8(115) 498 02a8 69A3 std Y+33,r22 499 .L169: 500 02aa 00E0 ldi r16,lo8(.LC0) 501 02ac 10E0 ldi r17,hi8(.LC0) 502 .L50: 503 02ae 8FEF ldi r24,-1 504 02b0 E816 cp r14,r24 505 02b2 F806 cpc r15,r24 506 02b4 01F0 breq .L52 507 02b6 A701 movw r20,r14 508 02b8 60E0 ldi r22,0 509 02ba 70E0 ldi r23,0 510 02bc C801 movw r24,r16 511 02be 0E94 0000 call memchr 512 02c2 0097 sbiw r24,0 GAS LISTING /tmp/cc5T5uTd.s page 10 513 02c4 01F0 breq .L53 514 02c6 801B sub r24,r16 515 02c8 910B sbc r25,r17 516 02ca 8E15 cp r24,r14 517 02cc 9F05 cpc r25,r15 518 02ce 04F4 brge .L53 519 02d0 7C01 movw r14,r24 520 02d2 00C0 rjmp .L53 521 .L52: 522 02d4 F801 movw r30,r16 523 0: 524 02d6 0190 ld __tmp_reg__,Z+ 525 02d8 0020 tst __tmp_reg__ 526 02da 01F4 brne 0b 527 02dc 3197 sbiw r30,1 528 02de 7F01 movw r14,r30 529 02e0 E01A sub r14,r16 530 02e2 F10A sbc r15,r17 531 .L53: 532 02e4 198E std Y+25,__zero_reg__ 533 02e6 6701 movw r12,r14 534 02e8 E12C mov r14,__zero_reg__ 535 02ea F12C mov r15,__zero_reg__ 536 02ec 00C0 rjmp .L49 537 .L47: 538 02ee 198E std Y+25,__zero_reg__ 539 02f0 9E8D ldd r25,Y+30 540 02f2 9064 ori r25,lo8(64) 541 02f4 9E8F std Y+30,r25 542 .L43: 543 02f6 AE8D ldd r26,Y+30 544 02f8 A5FF sbrs r26,5 545 02fa 00C0 rjmp .L55 546 02fc 8A8D ldd r24,Y+26 547 02fe 9B8D ldd r25,Y+27 548 0300 0896 adiw r24,8 549 0302 9B8F std Y+27,r25 550 0304 8A8F std Y+26,r24 551 0306 60E0 ldi r22,lo8(__c.2540) 552 0308 70E0 ldi r23,hi8(__c.2540) 553 030a 00C0 rjmp .L172 554 .L55: 555 030c BE01 movw r22,r28 556 030e 665E subi r22,-26 557 0310 7F4F sbci r23,-1 558 0312 BE8D ldd r27,Y+30 559 0314 8B2F mov r24,r27 560 0316 90E0 ldi r25,0 561 0318 0E94 0000 call va_args_ulval 562 031c 1537 cpi r17,lo8(117) 563 031e 01F0 breq .L56 564 0320 97FF sbrs r25,7 565 0322 00C0 rjmp .L56 566 0324 9095 com r25 567 0326 8095 com r24 568 0328 7095 com r23 569 032a 6195 neg r22 GAS LISTING /tmp/cc5T5uTd.s page 11 570 032c 7F4F sbci r23,lo8(-1) 571 032e 8F4F sbci r24,lo8(-1) 572 0330 9F4F sbci r25,lo8(-1) 573 0332 2DE2 ldi r18,lo8(45) 574 0334 298F std Y+25,r18 575 .L56: 576 0336 EFEF ldi r30,-1 577 0338 EE16 cp r14,r30 578 033a FE06 cpc r15,r30 579 033c 01F0 breq .L57 580 033e FE8D ldd r31,Y+30 581 0340 FF7E andi r31,lo8(-17) 582 0342 FE8F std Y+30,r31 583 0344 6115 cp r22,__zero_reg__ 584 0346 7105 cpc r23,__zero_reg__ 585 0348 8105 cpc r24,__zero_reg__ 586 034a 9105 cpc r25,__zero_reg__ 587 034c 01F4 brne .L58 588 034e E114 cp r14,__zero_reg__ 589 0350 F104 cpc r15,__zero_reg__ 590 0352 01F4 brne .+2 591 0354 00C0 rjmp .L173 592 0356 00C0 rjmp .L59 593 .L57: 594 0358 6115 cp r22,__zero_reg__ 595 035a 7105 cpc r23,__zero_reg__ 596 035c 8105 cpc r24,__zero_reg__ 597 035e 9105 cpc r25,__zero_reg__ 598 0360 01F0 breq .L59 599 .L58: 600 0362 6A30 cpi r22,10 601 0364 7105 cpc r23,__zero_reg__ 602 0366 8105 cpc r24,__zero_reg__ 603 0368 9105 cpc r25,__zero_reg__ 604 036a 00F4 brsh .L61 605 .L59: 606 036c 605D subi r22,lo8(-(48)) 607 036e 688F std Y+24,r22 608 0370 8E01 movw r16,r28 609 0372 085E subi r16,-24 610 0374 1F4F sbci r17,-1 611 0376 00C0 rjmp .L67 612 .L61: 613 0378 8E01 movw r16,r28 614 037a 075E subi r16,-25 615 037c 1F4F sbci r17,-1 616 .L62: 617 037e 2AE0 ldi r18,lo8(10) 618 0380 30E0 ldi r19,0 619 0382 40E0 ldi r20,0 620 0384 50E0 ldi r21,0 621 0386 0E94 0000 call __udivmodsi4 622 038a 605D subi r22,lo8(-(48)) 623 038c D801 movw r26,r16 624 038e 6E93 st -X,r22 625 0390 8D01 movw r16,r26 626 0392 B901 movw r22,r18 GAS LISTING /tmp/cc5T5uTd.s page 12 627 0394 CA01 movw r24,r20 628 0396 6115 cp r22,__zero_reg__ 629 0398 7105 cpc r23,__zero_reg__ 630 039a 8105 cpc r24,__zero_reg__ 631 039c 9105 cpc r25,__zero_reg__ 632 039e 01F4 brne .L62 633 03a0 00C0 rjmp .L67 634 .L46: 635 03a2 BE8D ldd r27,Y+30 636 03a4 B5FF sbrs r27,5 637 03a6 00C0 rjmp .L63 638 03a8 8A8D ldd r24,Y+26 639 03aa 9B8D ldd r25,Y+27 640 03ac 0896 adiw r24,8 641 03ae 9B8F std Y+27,r25 642 03b0 8A8F std Y+26,r24 643 03b2 60E0 ldi r22,lo8(__c.2545) 644 03b4 70E0 ldi r23,hi8(__c.2545) 645 03b6 00C0 rjmp .L172 646 .L63: 647 03b8 BE01 movw r22,r28 648 03ba 665E subi r22,-26 649 03bc 7F4F sbci r23,-1 650 03be EE8D ldd r30,Y+30 651 03c0 8E2F mov r24,r30 652 03c2 90E0 ldi r25,0 653 03c4 0E94 0000 call va_args_ulval 654 03c8 198E std Y+25,__zero_reg__ 655 03ca FFEF ldi r31,-1 656 03cc EF16 cp r14,r31 657 03ce FF06 cpc r15,r31 658 03d0 01F0 breq .L64 659 03d2 2E8D ldd r18,Y+30 660 03d4 2F7E andi r18,lo8(-17) 661 03d6 2E8F std Y+30,r18 662 03d8 6115 cp r22,__zero_reg__ 663 03da 7105 cpc r23,__zero_reg__ 664 03dc 8105 cpc r24,__zero_reg__ 665 03de 9105 cpc r25,__zero_reg__ 666 03e0 01F4 brne .L65 667 03e2 E114 cp r14,__zero_reg__ 668 03e4 F104 cpc r15,__zero_reg__ 669 03e6 01F0 breq .+2 670 03e8 00C0 rjmp .L66 671 .L173: 672 03ea 8E01 movw r16,r28 673 03ec 075E subi r16,-25 674 03ee 1F4F sbci r17,-1 675 03f0 00C0 rjmp .L67 676 .L64: 677 03f2 6115 cp r22,__zero_reg__ 678 03f4 7105 cpc r23,__zero_reg__ 679 03f6 8105 cpc r24,__zero_reg__ 680 03f8 9105 cpc r25,__zero_reg__ 681 03fa 01F4 brne .+2 682 03fc 00C0 rjmp .L66 683 .L65: GAS LISTING /tmp/cc5T5uTd.s page 13 684 03fe 8E01 movw r16,r28 685 0400 075E subi r16,-25 686 0402 1F4F sbci r17,-1 687 .L68: 688 0404 262F mov r18,r22 689 0406 2770 andi r18,lo8(7) 690 0408 205D subi r18,lo8(-(48)) 691 040a D801 movw r26,r16 692 040c 2E93 st -X,r18 693 040e 8D01 movw r16,r26 694 0410 E3E0 ldi r30,3 695 1: 696 0412 9695 lsr r25 697 0414 8795 ror r24 698 0416 7795 ror r23 699 0418 6795 ror r22 700 041a EA95 dec r30 701 041c 01F4 brne 1b 702 041e 6115 cp r22,__zero_reg__ 703 0420 7105 cpc r23,__zero_reg__ 704 0422 8105 cpc r24,__zero_reg__ 705 0424 9105 cpc r25,__zero_reg__ 706 0426 01F4 brne .L68 707 .L86: 708 0428 BE8D ldd r27,Y+30 709 042a B0FF sbrs r27,0 710 042c 00C0 rjmp .L67 711 042e 2033 cpi r18,lo8(48) 712 0430 01F0 breq .L67 713 0432 F801 movw r30,r16 714 0434 80E3 ldi r24,lo8(48) 715 0436 8293 st -Z,r24 716 0438 8F01 movw r16,r30 717 .L67: 718 043a CC8C ldd r12,Y+28 719 043c DD8C ldd r13,Y+29 720 043e 00C0 rjmp .L75 721 .L44: 722 0440 EE8D ldd r30,Y+30 723 0442 E5FF sbrs r30,5 724 0444 00C0 rjmp .L69 725 0446 8A8D ldd r24,Y+26 726 0448 9B8D ldd r25,Y+27 727 044a 0896 adiw r24,8 728 044c 9B8F std Y+27,r25 729 044e 8A8F std Y+26,r24 730 0450 60E0 ldi r22,lo8(__c.2552) 731 0452 70E0 ldi r23,hi8(__c.2552) 732 .L172: 733 0454 C201 movw r24,r4 734 0456 0E94 0000 call strcpy_P 735 045a 52E0 ldi r21,lo8(2) 736 045c C52E mov r12,r21 737 045e D12C mov r13,__zero_reg__ 738 0460 00C0 rjmp .L171 739 .L69: 740 0462 1037 cpi r17,lo8(112) GAS LISTING /tmp/cc5T5uTd.s page 14 741 0464 01F4 brne .L70 742 0466 EA8D ldd r30,Y+26 743 0468 FB8D ldd r31,Y+27 744 046a CF01 movw r24,r30 745 046c 0296 adiw r24,2 746 046e 9B8F std Y+27,r25 747 0470 8A8F std Y+26,r24 748 0472 4081 ld r20,Z 749 0474 5181 ldd r21,Z+1 750 0476 BA01 movw r22,r20 751 0478 80E0 ldi r24,0 752 047a 90E0 ldi r25,0 753 047c FE8D ldd r31,Y+30 754 047e F160 ori r31,lo8(1) 755 0480 FE8F std Y+30,r31 756 0482 28E7 ldi r18,lo8(120) 757 0484 29A3 std Y+33,r18 758 0486 00C0 rjmp .L71 759 .L70: 760 0488 BE01 movw r22,r28 761 048a 665E subi r22,-26 762 048c 7F4F sbci r23,-1 763 048e AE8D ldd r26,Y+30 764 0490 8A2F mov r24,r26 765 0492 90E0 ldi r25,0 766 0494 0E94 0000 call va_args_ulval 767 .L71: 768 0498 198E std Y+25,__zero_reg__ 769 049a BFEF ldi r27,-1 770 049c EB16 cp r14,r27 771 049e FB06 cpc r15,r27 772 04a0 01F0 breq .L72 773 04a2 EE8D ldd r30,Y+30 774 04a4 EF7E andi r30,lo8(-17) 775 04a6 EE8F std Y+30,r30 776 .L72: 777 04a8 F9A1 ldd r31,Y+33 778 04aa F837 cpi r31,lo8(120) 779 04ac 01F4 brne .L93 780 04ae 20E0 ldi r18,lo8(HEXDIGIT+16) 781 04b0 30E0 ldi r19,hi8(HEXDIGIT+16) 782 04b2 00C0 rjmp .L73 783 .L93: 784 04b4 20E0 ldi r18,lo8(HEXDIGIT) 785 04b6 30E0 ldi r19,hi8(HEXDIGIT) 786 .L73: 787 04b8 8E01 movw r16,r28 788 04ba 075E subi r16,-25 789 04bc 1F4F sbci r17,-1 790 04be 6801 movw r12,r16 791 .L74: 792 04c0 FB01 movw r30,r22 793 04c2 EF70 andi r30,15 794 04c4 FF27 clr r31 795 04c6 E20F add r30,r18 796 04c8 F31F adc r31,r19 797 /* #APP */ GAS LISTING /tmp/cc5T5uTd.s page 15 798 ; 484 "../../nut/crt/putf.c" 1 799 04ca E491 lpm r30, Z 800 801 ; 0 "" 2 802 /* #NOAPP */ 803 04cc D801 movw r26,r16 804 04ce EE93 st -X,r30 805 04d0 8D01 movw r16,r26 806 04d2 44E0 ldi r20,4 807 1: 808 04d4 9695 lsr r25 809 04d6 8795 ror r24 810 04d8 7795 ror r23 811 04da 6795 ror r22 812 04dc 4A95 dec r20 813 04de 01F4 brne 1b 814 04e0 6115 cp r22,__zero_reg__ 815 04e2 7105 cpc r23,__zero_reg__ 816 04e4 8105 cpc r24,__zero_reg__ 817 04e6 9105 cpc r25,__zero_reg__ 818 04e8 01F4 brne .L74 819 04ea BE8D ldd r27,Y+30 820 04ec B0FF sbrs r27,0 821 04ee 00C0 rjmp .L75 822 04f0 F801 movw r30,r16 823 04f2 3197 sbiw r30,1 824 04f4 29A1 ldd r18,Y+33 825 04f6 2083 st Z,r18 826 04f8 3197 sbiw r30,1 827 04fa 80E3 ldi r24,lo8(48) 828 04fc 8083 st Z,r24 829 04fe 8F01 movw r16,r30 830 .L75: 831 0500 C01A sub r12,r16 832 0502 D10A sbc r13,r17 833 0504 00C0 rjmp .L49 834 .L39: 835 0506 8A8D ldd r24,Y+26 836 0508 9B8D ldd r25,Y+27 837 050a 0496 adiw r24,4 838 050c 9B8F std Y+27,r25 839 050e 8A8F std Y+26,r24 840 0510 60E0 ldi r22,lo8(__c.2564) 841 0512 70E0 ldi r23,hi8(__c.2564) 842 0514 C201 movw r24,r4 843 0516 0E94 0000 call strcpy_P 844 051a F201 movw r30,r4 845 0: 846 051c 0190 ld __tmp_reg__,Z+ 847 051e 0020 tst __tmp_reg__ 848 0520 01F4 brne 0b 849 0522 3197 sbiw r30,1 850 0524 6F01 movw r12,r30 851 0526 C418 sub r12,r4 852 0528 D508 sbc r13,r5 853 .L171: 854 052a E12C mov r14,__zero_reg__ GAS LISTING /tmp/cc5T5uTd.s page 16 855 052c F12C mov r15,__zero_reg__ 856 052e 8201 movw r16,r4 857 0530 00C0 rjmp .L49 858 .L37: 859 0532 1123 tst r17 860 0534 01F4 brne .+2 861 0536 00C0 rjmp .L117 862 0538 1983 std Y+1,r17 863 .L170: 864 053a 198E std Y+25,__zero_reg__ 865 053c CC24 clr r12 866 053e C394 inc r12 867 0540 D12C mov r13,__zero_reg__ 868 0542 E12C mov r14,__zero_reg__ 869 0544 F12C mov r15,__zero_reg__ 870 0546 8E01 movw r16,r28 871 0548 0F5F subi r16,-1 872 054a 1F4F sbci r17,-1 873 .L49: 874 054c 4701 movw r8,r14 875 054e EC14 cp r14,r12 876 0550 FD04 cpc r15,r13 877 0552 04F4 brge .L76 878 0554 4601 movw r8,r12 879 .L76: 880 0556 898D ldd r24,Y+25 881 0558 8823 tst r24 882 055a 01F0 breq .L77 883 055c 6FEF ldi r22,-1 884 055e 861A sub r8,r22 885 0560 960A sbc r9,r22 886 .L77: 887 0562 8E8D ldd r24,Y+30 888 0564 8471 andi r24,lo8(20) 889 0566 8EA3 std Y+38,r24 890 0568 8111 cpse r24,__zero_reg__ 891 056a 00C0 rjmp .L78 892 056c 9301 movw r18,r6 893 056e 2819 sub r18,r8 894 0570 3909 sbc r19,r9 895 0572 40E0 ldi r20,lo8(blanks) 896 0574 50E0 ldi r21,hi8(blanks) 897 0576 6F8D ldd r22,Y+31 898 0578 78A1 ldd r23,Y+32 899 057a 8AA1 ldd r24,Y+34 900 057c 9BA1 ldd r25,Y+35 901 057e 0E94 0000 call _putpad 902 .L78: 903 0582 898D ldd r24,Y+25 904 0584 8823 tst r24 905 0586 01F0 breq .L79 906 0588 41E0 ldi r20,lo8(1) 907 058a 50E0 ldi r21,0 908 058c BE01 movw r22,r28 909 058e 675E subi r22,-25 910 0590 7F4F sbci r23,-1 911 0592 8F8D ldd r24,Y+31 GAS LISTING /tmp/cc5T5uTd.s page 17 912 0594 98A1 ldd r25,Y+32 913 0596 ECA1 ldd r30,Y+36 914 0598 FDA1 ldd r31,Y+37 915 059a 1995 eicall 916 .L79: 917 059c FEA1 ldd r31,Y+38 918 059e F031 cpi r31,lo8(16) 919 05a0 01F4 brne .L80 920 05a2 9301 movw r18,r6 921 05a4 2819 sub r18,r8 922 05a6 3909 sbc r19,r9 923 05a8 40E0 ldi r20,lo8(zeroes) 924 05aa 50E0 ldi r21,hi8(zeroes) 925 05ac 6F8D ldd r22,Y+31 926 05ae 78A1 ldd r23,Y+32 927 05b0 8AA1 ldd r24,Y+34 928 05b2 9BA1 ldd r25,Y+35 929 05b4 0E94 0000 call _putpad 930 .L80: 931 05b8 9701 movw r18,r14 932 05ba 2C19 sub r18,r12 933 05bc 3D09 sbc r19,r13 934 05be 40E0 ldi r20,lo8(zeroes) 935 05c0 50E0 ldi r21,hi8(zeroes) 936 05c2 6F8D ldd r22,Y+31 937 05c4 78A1 ldd r23,Y+32 938 05c6 8AA1 ldd r24,Y+34 939 05c8 9BA1 ldd r25,Y+35 940 05ca 0E94 0000 call _putpad 941 05ce C114 cp r12,__zero_reg__ 942 05d0 D104 cpc r13,__zero_reg__ 943 05d2 01F0 breq .L81 944 05d4 A601 movw r20,r12 945 05d6 B801 movw r22,r16 946 05d8 8F8D ldd r24,Y+31 947 05da 98A1 ldd r25,Y+32 948 05dc ECA1 ldd r30,Y+36 949 05de FDA1 ldd r31,Y+37 950 05e0 1995 eicall 951 .L81: 952 05e2 F9A1 ldd r31,Y+33 953 05e4 F035 cpi r31,lo8(80) 954 05e6 01F4 brne .L82 955 05e8 C801 movw r24,r16 956 05ea 0E94 0000 call free 957 .L82: 958 05ee 2E8D ldd r18,Y+30 959 05f0 22FF sbrs r18,2 960 05f2 00C0 rjmp .L83 961 05f4 9301 movw r18,r6 962 05f6 2819 sub r18,r8 963 05f8 3909 sbc r19,r9 964 05fa 40E0 ldi r20,lo8(blanks) 965 05fc 50E0 ldi r21,hi8(blanks) 966 05fe 6F8D ldd r22,Y+31 967 0600 78A1 ldd r23,Y+32 968 0602 8AA1 ldd r24,Y+34 GAS LISTING /tmp/cc5T5uTd.s page 18 969 0604 9BA1 ldd r25,Y+35 970 0606 0E94 0000 call _putpad 971 .L83: 972 060a 6814 cp r6,r8 973 060c 7904 cpc r7,r9 974 060e 04F0 brlt .L84 975 0610 260C add r2,r6 976 0612 371C adc r3,r7 977 0614 00C0 rjmp .L12 978 .L84: 979 0616 280C add r2,r8 980 0618 391C adc r3,r9 981 061a 00C0 rjmp .L12 982 .L66: 983 061c 80E3 ldi r24,lo8(48) 984 061e 888F std Y+24,r24 985 0620 20E3 ldi r18,lo8(48) 986 0622 8E01 movw r16,r28 987 0624 085E subi r16,-24 988 0626 1F4F sbci r17,-1 989 0628 00C0 rjmp .L86 990 .L117: 991 062a C101 movw r24,r2 992 /* epilogue start */ 993 062c A696 adiw r28,38 994 062e 0FB6 in __tmp_reg__,__SREG__ 995 0630 F894 cli 996 0632 DEBF out __SP_H__,r29 997 0634 0FBE out __SREG__,__tmp_reg__ 998 0636 CDBF out __SP_L__,r28 999 0638 DF91 pop r29 1000 063a CF91 pop r28 1001 063c 1F91 pop r17 1002 063e 0F91 pop r16 1003 0640 FF90 pop r15 1004 0642 EF90 pop r14 1005 0644 DF90 pop r13 1006 0646 CF90 pop r12 1007 0648 BF90 pop r11 1008 064a AF90 pop r10 1009 064c 9F90 pop r9 1010 064e 8F90 pop r8 1011 0650 7F90 pop r7 1012 0652 6F90 pop r6 1013 0654 5F90 pop r5 1014 0656 4F90 pop r4 1015 0658 3F90 pop r3 1016 065a 2F90 pop r2 1017 065c 0895 ret 1018 .size _putf, .-_putf 1019 .section .progmem.data,"a",@progbits 1020 .type __c.2564, @object 1021 .size __c.2564, 3 1022 __c.2564: 1023 0000 4E41 00 .string "NA" 1024 .type __c.2552, @object 1025 .size __c.2552, 3 GAS LISTING /tmp/cc5T5uTd.s page 19 1026 __c.2552: 1027 0003 4E41 00 .string "NA" 1028 .type __c.2545, @object 1029 .size __c.2545, 3 1030 __c.2545: 1031 0006 4E41 00 .string "NA" 1032 .type __c.2540, @object 1033 .size __c.2540, 3 1034 __c.2540: 1035 0009 4E41 00 .string "NA" 1036 .type HEXDIGIT, @object 1037 .size HEXDIGIT, 32 1038 HEXDIGIT: 1039 000c 30 .byte 48 1040 000d 31 .byte 49 1041 000e 32 .byte 50 1042 000f 33 .byte 51 1043 0010 34 .byte 52 1044 0011 35 .byte 53 1045 0012 36 .byte 54 1046 0013 37 .byte 55 1047 0014 38 .byte 56 1048 0015 39 .byte 57 1049 0016 41 .byte 65 1050 0017 42 .byte 66 1051 0018 43 .byte 67 1052 0019 44 .byte 68 1053 001a 45 .byte 69 1054 001b 46 .byte 70 1055 001c 30 .byte 48 1056 001d 31 .byte 49 1057 001e 32 .byte 50 1058 001f 33 .byte 51 1059 0020 34 .byte 52 1060 0021 35 .byte 53 1061 0022 36 .byte 54 1062 0023 37 .byte 55 1063 0024 38 .byte 56 1064 0025 39 .byte 57 1065 0026 61 .byte 97 1066 0027 62 .byte 98 1067 0028 63 .byte 99 1068 0029 64 .byte 100 1069 002a 65 .byte 101 1070 002b 66 .byte 102 1071 .type zeroes, @object 1072 .size zeroes, 16 1073 zeroes: 1074 002c 30 .byte 48 1075 002d 30 .byte 48 1076 002e 30 .byte 48 1077 002f 30 .byte 48 1078 0030 30 .byte 48 1079 0031 30 .byte 48 1080 0032 30 .byte 48 1081 0033 30 .byte 48 1082 0034 30 .byte 48 GAS LISTING /tmp/cc5T5uTd.s page 20 1083 0035 30 .byte 48 1084 0036 30 .byte 48 1085 0037 30 .byte 48 1086 0038 30 .byte 48 1087 0039 30 .byte 48 1088 003a 30 .byte 48 1089 003b 30 .byte 48 1090 .type blanks, @object 1091 .size blanks, 16 1092 blanks: 1093 003c 20 .byte 32 1094 003d 20 .byte 32 1095 003e 20 .byte 32 1096 003f 20 .byte 32 1097 0040 20 .byte 32 1098 0041 20 .byte 32 1099 0042 20 .byte 32 1100 0043 20 .byte 32 1101 0044 20 .byte 32 1102 0045 20 .byte 32 1103 0046 20 .byte 32 1104 0047 20 .byte 32 1105 0048 20 .byte 32 1106 0049 20 .byte 32 1107 004a 20 .byte 32 1108 004b 20 .byte 32 1109 .ident "GCC: (GNU) 5.3.0" 1110 .global __do_copy_data GAS LISTING /tmp/cc5T5uTd.s page 21 DEFINED SYMBOLS *ABS*:0000000000000000 putf.c /tmp/cc5T5uTd.s:2 *ABS*:000000000000003e __SP_H__ /tmp/cc5T5uTd.s:3 *ABS*:000000000000003d __SP_L__ /tmp/cc5T5uTd.s:4 *ABS*:000000000000003f __SREG__ /tmp/cc5T5uTd.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/cc5T5uTd.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/cc5T5uTd.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/cc5T5uTd.s:10 .text._putpad:0000000000000000 _putpad /tmp/cc5T5uTd.s:72 .text.va_args_ulval:0000000000000000 va_args_ulval /tmp/cc5T5uTd.s:123 .text._putf:0000000000000000 _putf /tmp/cc5T5uTd.s:1034 .progmem.data:0000000000000009 __c.2540 /tmp/cc5T5uTd.s:1030 .progmem.data:0000000000000006 __c.2545 /tmp/cc5T5uTd.s:1026 .progmem.data:0000000000000003 __c.2552 /tmp/cc5T5uTd.s:1038 .progmem.data:000000000000000c HEXDIGIT /tmp/cc5T5uTd.s:1022 .progmem.data:0000000000000000 __c.2564 /tmp/cc5T5uTd.s:1092 .progmem.data:000000000000003c blanks /tmp/cc5T5uTd.s:1073 .progmem.data:000000000000002c zeroes UNDEFINED SYMBOLS __strlen_P malloc strcpy_P memchr __udivmodsi4 free __do_copy_data