GAS LISTING /tmp/ccZEvyHc.s page 1 1 .file "fgets.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.fgets,"ax",@progbits 9 .global fgets 10 .type fgets, @function 11 fgets: 12 0000 CF92 push r12 13 0002 DF92 push r13 14 0004 EF92 push r14 15 0006 FF92 push r15 16 0008 0F93 push r16 17 000a 1F93 push r17 18 000c CF93 push r28 19 000e DF93 push r29 20 /* prologue: function */ 21 /* frame size = 0 */ 22 /* stack size = 8 */ 23 .L__stack_usage = 8 24 0010 8C01 movw r16,r24 25 0012 6A01 movw r12,r20 26 0014 7B01 movw r14,r22 27 0016 C02F mov r28,r16 28 0018 D12F mov r29,r17 29 .L2: 30 001a 82E0 ldi r24,2 31 001c E816 cp r14,r24 32 001e F104 cpc r15,__zero_reg__ 33 0020 04F0 brlt .L5 34 0022 C601 movw r24,r12 35 0024 0E94 0000 call fgetc 36 0028 8F3F cpi r24,-1 37 002a 2FEF ldi r18,-1 38 002c 9207 cpc r25,r18 39 002e 01F4 brne .L3 40 0030 1882 st Y,__zero_reg__ 41 0032 80E0 ldi r24,0 42 0034 90E0 ldi r25,0 43 0036 00C0 rjmp .L4 44 .L3: 45 0038 2196 adiw r28,1 46 003a FE01 movw r30,r28 47 003c 3197 sbiw r30,1 48 003e 8083 st Z,r24 49 0040 21E0 ldi r18,1 50 0042 E21A sub r14,r18 51 0044 F108 sbc r15,__zero_reg__ 52 0046 0A97 sbiw r24,10 53 0048 01F4 brne .L2 54 .L5: 55 004a 1882 st Y,__zero_reg__ 56 004c C801 movw r24,r16 57 .L4: GAS LISTING /tmp/ccZEvyHc.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 fgets, .-fgets 69 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccZEvyHc.s page 3 DEFINED SYMBOLS *ABS*:0000000000000000 fgets.c /tmp/ccZEvyHc.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccZEvyHc.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccZEvyHc.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccZEvyHc.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccZEvyHc.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccZEvyHc.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccZEvyHc.s:11 .text.fgets:0000000000000000 fgets UNDEFINED SYMBOLS fgetc