| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- GAS LISTING /tmp/cchNQc7b.s page 1
- 1 .file "fgetc.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.fgetc,"ax",@progbits
- 9 .global fgetc
- 10 .type fgetc, @function
- 11 fgetc:
- 12 0000 0F93 push r16
- 13 0002 1F93 push r17
- 14 0004 CF93 push r28
- 15 0006 DF93 push r29
- 16 0008 1F92 push __zero_reg__
- 17 000a CDB7 in r28,__SP_L__
- 18 000c DEB7 in r29,__SP_H__
- 19 /* prologue: function */
- 20 /* frame size = 1 */
- 21 /* stack size = 5 */
- 22 .L__stack_usage = 5
- 23 000e 8C01 movw r16,r24
- 24 0010 FC01 movw r30,r24
- 25 0012 8481 ldd r24,Z+4
- 26 0014 83FF sbrs r24,3
- 27 0016 00C0 rjmp .L2
- 28 0018 877F andi r24,lo8(-9)
- 29 001a 8483 std Z+4,r24
- 30 001c 8581 ldd r24,Z+5
- 31 001e 9681 ldd r25,Z+6
- 32 0020 00C0 rjmp .L3
- 33 .L2:
- 34 0022 41E0 ldi r20,lo8(1)
- 35 0024 50E0 ldi r21,0
- 36 0026 BE01 movw r22,r28
- 37 0028 6F5F subi r22,-1
- 38 002a 7F4F sbci r23,-1
- 39 002c F801 movw r30,r16
- 40 002e 8081 ld r24,Z
- 41 0030 9181 ldd r25,Z+1
- 42 0032 0E94 0000 call _read
- 43 0036 9C01 movw r18,r24
- 44 0038 0197 sbiw r24,1
- 45 003a 01F0 breq .L4
- 46 003c F801 movw r30,r16
- 47 003e 9481 ldd r25,Z+4
- 48 0040 232B or r18,r19
- 49 0042 01F0 breq .L5
- 50 0044 9061 ori r25,lo8(16)
- 51 0046 00C0 rjmp .L6
- 52 .L5:
- 53 0048 9062 ori r25,lo8(32)
- 54 004a F801 movw r30,r16
- 55 .L6:
- 56 004c 9483 std Z+4,r25
- 57 004e 8FEF ldi r24,lo8(-1)
- GAS LISTING /tmp/cchNQc7b.s page 2
- 58 0050 9FEF ldi r25,lo8(-1)
- 59 0052 00C0 rjmp .L3
- 60 .L4:
- 61 0054 8981 ldd r24,Y+1
- 62 0056 90E0 ldi r25,0
- 63 .L3:
- 64 /* epilogue start */
- 65 0058 0F90 pop __tmp_reg__
- 66 005a DF91 pop r29
- 67 005c CF91 pop r28
- 68 005e 1F91 pop r17
- 69 0060 0F91 pop r16
- 70 0062 0895 ret
- 71 .size fgetc, .-fgetc
- 72 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/cchNQc7b.s page 3
- DEFINED SYMBOLS
- *ABS*:0000000000000000 fgetc.c
- /tmp/cchNQc7b.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cchNQc7b.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cchNQc7b.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cchNQc7b.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cchNQc7b.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cchNQc7b.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cchNQc7b.s:11 .text.fgetc:0000000000000000 fgetc
- UNDEFINED SYMBOLS
- _read
|