GAS LISTING /tmp/ccHyBYRt.s page 1 1 .file "fclose.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.fclose,"ax",@progbits 9 .global fclose 10 .type fclose, @function 11 fclose: 12 0000 EF92 push r14 13 0002 FF92 push r15 14 0004 0F93 push r16 15 0006 1F93 push r17 16 0008 CF93 push r28 17 000a DF93 push r29 18 /* prologue: function */ 19 /* frame size = 0 */ 20 /* stack size = 6 */ 21 .L__stack_usage = 6 22 000c 7C01 movw r14,r24 23 000e 892B or r24,r25 24 0010 01F4 brne .L2 25 .L4: 26 0012 89E0 ldi r24,lo8(9) 27 0014 90E0 ldi r25,0 28 0016 9093 0000 sts errno+1,r25 29 001a 8093 0000 sts errno,r24 30 001e 0FEF ldi r16,lo8(-1) 31 0020 1FEF ldi r17,lo8(-1) 32 0022 00C0 rjmp .L3 33 .L2: 34 0024 E0E0 ldi r30,lo8(__iob) 35 0026 F0E0 ldi r31,hi8(__iob) 36 0028 C0E0 ldi r28,0 37 002a D0E0 ldi r29,0 38 .L5: 39 002c 8191 ld r24,Z+ 40 002e 9191 ld r25,Z+ 41 0030 E816 cp r14,r24 42 0032 F906 cpc r15,r25 43 0034 01F0 breq .L12 44 0036 2196 adiw r28,1 45 0038 C830 cpi r28,8 46 003a D105 cpc r29,__zero_reg__ 47 003c 01F4 brne .L5 48 003e 00C0 rjmp .L4 49 .L12: 50 0040 F701 movw r30,r14 51 0042 8081 ld r24,Z 52 0044 9181 ldd r25,Z+1 53 0046 0E94 0000 call _close 54 004a 01E0 ldi r16,lo8(1) 55 004c 10E0 ldi r17,0 56 004e 892B or r24,r25 57 0050 01F4 brne .L7 GAS LISTING /tmp/ccHyBYRt.s page 2 58 0052 00E0 ldi r16,0 59 0054 10E0 ldi r17,0 60 .L7: 61 0056 1195 neg r17 62 0058 0195 neg r16 63 005a 1109 sbc r17,__zero_reg__ 64 005c C701 movw r24,r14 65 005e 0E94 0000 call free 66 0062 CC0F lsl r28 67 0064 DD1F rol r29 68 0066 C050 subi r28,lo8(-(__iob)) 69 0068 D040 sbci r29,hi8(-(__iob)) 70 006a 1982 std Y+1,__zero_reg__ 71 006c 1882 st Y,__zero_reg__ 72 .L3: 73 006e C801 movw r24,r16 74 /* epilogue start */ 75 0070 DF91 pop r29 76 0072 CF91 pop r28 77 0074 1F91 pop r17 78 0076 0F91 pop r16 79 0078 FF90 pop r15 80 007a EF90 pop r14 81 007c 0895 ret 82 .size fclose, .-fclose 83 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccHyBYRt.s page 3 DEFINED SYMBOLS *ABS*:0000000000000000 fclose.c /tmp/ccHyBYRt.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccHyBYRt.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccHyBYRt.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccHyBYRt.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccHyBYRt.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccHyBYRt.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccHyBYRt.s:11 .text.fclose:0000000000000000 fclose UNDEFINED SYMBOLS errno __iob _close free