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