| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- GAS LISTING /tmp/cc3EqpUM.s page 1
- 1 .file "fopen.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.fopen,"ax",@progbits
- 9 .global fopen
- 10 .type fopen, @function
- 11 fopen:
- 12 0000 AF92 push r10
- 13 0002 BF92 push r11
- 14 0004 CF92 push r12
- 15 0006 DF92 push r13
- 16 0008 EF92 push r14
- 17 000a FF92 push r15
- 18 000c 0F93 push r16
- 19 000e 1F93 push r17
- 20 0010 CF93 push r28
- 21 0012 DF93 push r29
- 22 /* prologue: function */
- 23 /* frame size = 0 */
- 24 /* stack size = 10 */
- 25 .L__stack_usage = 10
- 26 0014 6C01 movw r12,r24
- 27 0016 CB01 movw r24,r22
- 28 0018 0E94 0000 call _fmode
- 29 001c 7C01 movw r14,r24
- 30 001e 0196 adiw r24,1
- 31 0020 01F0 breq .L12
- 32 0022 E0E0 ldi r30,lo8(__iob)
- 33 0024 F0E0 ldi r31,hi8(__iob)
- 34 0026 C0E0 ldi r28,0
- 35 0028 D0E0 ldi r29,0
- 36 .L4:
- 37 002a 0191 ld r16,Z+
- 38 002c 1191 ld r17,Z+
- 39 002e 0115 cp r16,__zero_reg__
- 40 0030 1105 cpc r17,__zero_reg__
- 41 0032 01F0 breq .L14
- 42 0034 2196 adiw r28,1
- 43 0036 C830 cpi r28,8
- 44 0038 D105 cpc r29,__zero_reg__
- 45 003a 01F4 brne .L4
- 46 003c 87E1 ldi r24,lo8(23)
- 47 003e 90E0 ldi r25,0
- 48 0040 9093 0000 sts errno+1,r25
- 49 0044 8093 0000 sts errno,r24
- 50 .L12:
- 51 0048 00E0 ldi r16,0
- 52 004a 10E0 ldi r17,0
- 53 004c 00C0 rjmp .L3
- 54 .L14:
- 55 004e 87E0 ldi r24,lo8(7)
- 56 0050 90E0 ldi r25,0
- 57 0052 0E94 0000 call malloc
- GAS LISTING /tmp/cc3EqpUM.s page 2
- 58 0056 5C01 movw r10,r24
- 59 0058 CC0F lsl r28
- 60 005a DD1F rol r29
- 61 005c C050 subi r28,lo8(-(__iob))
- 62 005e D040 sbci r29,hi8(-(__iob))
- 63 0060 B982 std Y+1,r11
- 64 0062 A882 st Y,r10
- 65 0064 A114 cp r10,__zero_reg__
- 66 0066 B104 cpc r11,__zero_reg__
- 67 0068 01F0 breq .L12
- 68 006a B701 movw r22,r14
- 69 006c C601 movw r24,r12
- 70 006e 0E94 0000 call _open
- 71 0072 9C01 movw r18,r24
- 72 0074 F501 movw r30,r10
- 73 0076 9183 std Z+1,r25
- 74 0078 8083 st Z,r24
- 75 007a 8881 ld r24,Y
- 76 007c 9981 ldd r25,Y+1
- 77 007e 2F3F cpi r18,-1
- 78 0080 3F4F sbci r19,-1
- 79 0082 01F4 brne .L7
- 80 0084 0E94 0000 call free
- 81 0088 1982 std Y+1,__zero_reg__
- 82 008a 1882 st Y,__zero_reg__
- 83 008c 00C0 rjmp .L3
- 84 .L7:
- 85 008e 8C01 movw r16,r24
- 86 0090 F801 movw r30,r16
- 87 0092 F382 std Z+3,r15
- 88 0094 E282 std Z+2,r14
- 89 0096 1482 std Z+4,__zero_reg__
- 90 0098 1682 std Z+6,__zero_reg__
- 91 009a 1582 std Z+5,__zero_reg__
- 92 .L3:
- 93 009c C801 movw r24,r16
- 94 /* epilogue start */
- 95 009e DF91 pop r29
- 96 00a0 CF91 pop r28
- 97 00a2 1F91 pop r17
- 98 00a4 0F91 pop r16
- 99 00a6 FF90 pop r15
- 100 00a8 EF90 pop r14
- 101 00aa DF90 pop r13
- 102 00ac CF90 pop r12
- 103 00ae BF90 pop r11
- 104 00b0 AF90 pop r10
- 105 00b2 0895 ret
- 106 .size fopen, .-fopen
- 107 .global __iob
- 108 .data
- 109 .type __iob, @object
- 110 .size __iob, 16
- 111 __iob:
- 112 0000 0100 .word 1
- 113 0002 0200 .word 2
- 114 0004 0300 .word 3
- GAS LISTING /tmp/cc3EqpUM.s page 3
- 115 0006 0000 0000 .zero 10
- 115 0000 0000
- 115 0000
- 116 .ident "GCC: (GNU) 5.3.0"
- 117 .global __do_copy_data
- GAS LISTING /tmp/cc3EqpUM.s page 4
- DEFINED SYMBOLS
- *ABS*:0000000000000000 fopen.c
- /tmp/cc3EqpUM.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cc3EqpUM.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cc3EqpUM.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cc3EqpUM.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cc3EqpUM.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cc3EqpUM.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cc3EqpUM.s:11 .text.fopen:0000000000000000 fopen
- /tmp/cc3EqpUM.s:111 .data:0000000000000000 __iob
- UNDEFINED SYMBOLS
- _fmode
- errno
- malloc
- _open
- free
- __do_copy_data
|