| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- 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
|