GAS LISTING /tmp/ccrYLilz.s page 1 1 .file "fdopen.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._fdopen,"ax",@progbits 9 .global _fdopen 10 .type _fdopen, @function 11 _fdopen: 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 8C01 movw r16,r24 23 000e CB01 movw r24,r22 24 0010 0E94 0000 call _fmode 25 0014 7C01 movw r14,r24 26 0016 8FEF ldi r24,-1 27 0018 E816 cp r14,r24 28 001a F806 cpc r15,r24 29 001c 01F4 brne .+2 30 001e 00C0 rjmp .L11 31 0020 0830 cpi r16,8 32 0022 1105 cpc r17,__zero_reg__ 33 0024 00F0 brlo .L3 34 0026 D801 movw r26,r16 35 0028 8D91 ld r24,X+ 36 002a 9C91 ld r25,X 37 002c 1197 sbiw r26,1 38 002e 892B or r24,r25 39 0030 01F4 brne .L3 40 0032 1496 adiw r26,4 41 0034 8C91 ld r24,X 42 0036 1497 sbiw r26,4 43 0038 8430 cpi r24,lo8(4) 44 003a 01F4 brne .L3 45 003c E0E0 ldi r30,lo8(__fds) 46 003e F0E0 ldi r31,hi8(__fds) 47 0040 80E0 ldi r24,0 48 0042 90E0 ldi r25,0 49 .L5: 50 0044 8C01 movw r16,r24 51 0046 2191 ld r18,Z+ 52 0048 3191 ld r19,Z+ 53 004a 232B or r18,r19 54 004c 01F0 breq .L16 55 004e 0196 adiw r24,1 56 0050 8830 cpi r24,8 57 0052 9105 cpc r25,__zero_reg__ GAS LISTING /tmp/ccrYLilz.s page 2 58 0054 01F4 brne .L5 59 0056 88E1 ldi r24,lo8(24) 60 0058 90E0 ldi r25,0 61 005a 00C0 rjmp .L14 62 .L16: 63 005c FC01 movw r30,r24 64 005e EE0F lsl r30 65 0060 FF1F rol r31 66 0062 E050 subi r30,lo8(-(__fds)) 67 0064 F040 sbci r31,hi8(-(__fds)) 68 0066 B183 std Z+1,r27 69 0068 A083 st Z,r26 70 .L3: 71 006a E0E0 ldi r30,lo8(__iob) 72 006c F0E0 ldi r31,hi8(__iob) 73 006e C0E0 ldi r28,0 74 0070 D0E0 ldi r29,0 75 .L7: 76 0072 8191 ld r24,Z+ 77 0074 9191 ld r25,Z+ 78 0076 892B or r24,r25 79 0078 01F0 breq .L17 80 007a 2196 adiw r28,1 81 007c C830 cpi r28,8 82 007e D105 cpc r29,__zero_reg__ 83 0080 01F4 brne .L7 84 0082 87E1 ldi r24,lo8(23) 85 0084 90E0 ldi r25,0 86 .L14: 87 0086 9093 0000 sts errno+1,r25 88 008a 8093 0000 sts errno,r24 89 008e 00C0 rjmp .L11 90 .L17: 91 0090 87E0 ldi r24,lo8(7) 92 0092 90E0 ldi r25,0 93 0094 0E94 0000 call malloc 94 0098 FC01 movw r30,r24 95 009a CC0F lsl r28 96 009c DD1F rol r29 97 009e C050 subi r28,lo8(-(__iob)) 98 00a0 D040 sbci r29,hi8(-(__iob)) 99 00a2 F983 std Y+1,r31 100 00a4 E883 st Y,r30 101 00a6 3097 sbiw r30,0 102 00a8 01F0 breq .L9 103 00aa 1183 std Z+1,r17 104 00ac 0083 st Z,r16 105 00ae F382 std Z+3,r15 106 00b0 E282 std Z+2,r14 107 00b2 1482 std Z+4,__zero_reg__ 108 00b4 1682 std Z+6,__zero_reg__ 109 00b6 1582 std Z+5,__zero_reg__ 110 00b8 00C0 rjmp .L10 111 .L9: 112 00ba 8CE0 ldi r24,lo8(12) 113 00bc 90E0 ldi r25,0 114 00be 9093 0000 sts errno+1,r25 GAS LISTING /tmp/ccrYLilz.s page 3 115 00c2 8093 0000 sts errno,r24 116 .L10: 117 00c6 CF01 movw r24,r30 118 00c8 00C0 rjmp .L2 119 .L11: 120 00ca 80E0 ldi r24,0 121 00cc 90E0 ldi r25,0 122 .L2: 123 /* epilogue start */ 124 00ce DF91 pop r29 125 00d0 CF91 pop r28 126 00d2 1F91 pop r17 127 00d4 0F91 pop r16 128 00d6 FF90 pop r15 129 00d8 EF90 pop r14 130 00da 0895 ret 131 .size _fdopen, .-_fdopen 132 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccrYLilz.s page 4 DEFINED SYMBOLS *ABS*:0000000000000000 fdopen.c /tmp/ccrYLilz.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccrYLilz.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccrYLilz.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccrYLilz.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccrYLilz.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccrYLilz.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccrYLilz.s:11 .text._fdopen:0000000000000000 _fdopen UNDEFINED SYMBOLS _fmode __fds __iob errno malloc