| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- GAS LISTING /tmp/ccCHcmOk.s page 1
- 1 .file "dirent.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.opendir,"ax",@progbits
- 9 .global opendir
- 10 .type opendir, @function
- 11 opendir:
- 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 0014 CDB7 in r28,__SP_L__
- 23 0016 DEB7 in r29,__SP_H__
- 24 0018 2997 sbiw r28,9
- 25 001a 0FB6 in __tmp_reg__,__SREG__
- 26 001c F894 cli
- 27 001e DEBF out __SP_H__,r29
- 28 0020 0FBE out __SREG__,__tmp_reg__
- 29 0022 CDBF out __SP_L__,r28
- 30 /* prologue: function */
- 31 /* frame size = 9 */
- 32 /* stack size = 19 */
- 33 .L__stack_usage = 19
- 34 0024 5C01 movw r10,r24
- 35 0026 FC01 movw r30,r24
- 36 0028 DE01 movw r26,r28
- 37 002a 1196 adiw r26,1
- 38 002c 90E0 ldi r25,0
- 39 002e AD01 movw r20,r26
- 40 .L2:
- 41 0030 7F01 movw r14,r30
- 42 0032 2191 ld r18,Z+
- 43 0034 2223 tst r18
- 44 0036 01F0 breq .L3
- 45 0038 2A33 cpi r18,lo8(58)
- 46 003a 01F0 breq .L3
- 47 003c 9830 cpi r25,lo8(8)
- 48 003e 01F0 breq .L3
- 49 0040 2D93 st X+,r18
- 50 0042 9F5F subi r25,lo8(-(1))
- 51 0044 00C0 rjmp .L2
- 52 .L3:
- 53 0046 FA01 movw r30,r20
- 54 0048 E90F add r30,r25
- 55 004a F11D adc r31,__zero_reg__
- 56 004c 1082 st Z,__zero_reg__
- 57 004e CA01 movw r24,r20
- GAS LISTING /tmp/ccCHcmOk.s page 2
- 58 0050 0E94 0000 call NutDeviceLookup
- 59 0054 6C01 movw r12,r24
- 60 0056 892B or r24,r25
- 61 0058 01F4 brne .L5
- 62 005a 83E1 ldi r24,lo8(19)
- 63 005c 90E0 ldi r25,0
- 64 005e 00C0 rjmp .L20
- 65 .L5:
- 66 0060 86E0 ldi r24,lo8(6)
- 67 0062 90E0 ldi r25,0
- 68 0064 0E94 0000 call malloc
- 69 0068 8C01 movw r16,r24
- 70 006a 892B or r24,r25
- 71 006c 01F0 breq .L21
- 72 006e 86E0 ldi r24,lo8(6)
- 73 0070 D801 movw r26,r16
- 74 0:
- 75 0072 1D92 st X+,__zero_reg__
- 76 0074 8A95 dec r24
- 77 0076 01F4 brne 0b
- 78 0078 D501 movw r26,r10
- 79 007a 1196 adiw r26,1
- 80 007c FD01 movw r30,r26
- 81 0:
- 82 007e 0190 ld __tmp_reg__,Z+
- 83 0080 0020 tst __tmp_reg__
- 84 0082 01F4 brne 0b
- 85 0084 3197 sbiw r30,1
- 86 0086 EA1B sub r30,r26
- 87 0088 FB0B sbc r31,r27
- 88 008a E830 cpi r30,8
- 89 008c B1E0 ldi r27,1
- 90 008e FB07 cpc r31,r27
- 91 0090 00F0 brlo .L8
- 92 0092 D801 movw r26,r16
- 93 0094 1596 adiw r26,4+1
- 94 0096 FC93 st X,r31
- 95 0098 EE93 st -X,r30
- 96 009a 1497 sbiw r26,4
- 97 009c 00C0 rjmp .L9
- 98 .L8:
- 99 009e 88E0 ldi r24,lo8(8)
- 100 00a0 91E0 ldi r25,lo8(1)
- 101 00a2 F801 movw r30,r16
- 102 00a4 9583 std Z+5,r25
- 103 00a6 8483 std Z+4,r24
- 104 .L9:
- 105 00a8 D801 movw r26,r16
- 106 00aa 1496 adiw r26,4
- 107 00ac 8D91 ld r24,X+
- 108 00ae 9C91 ld r25,X
- 109 00b0 1597 sbiw r26,4+1
- 110 00b2 0E94 0000 call malloc
- 111 00b6 F801 movw r30,r16
- 112 00b8 9383 std Z+3,r25
- 113 00ba 8283 std Z+2,r24
- 114 00bc 0097 sbiw r24,0
- GAS LISTING /tmp/ccCHcmOk.s page 3
- 115 00be 01F4 brne .L10
- 116 00c0 C801 movw r24,r16
- 117 00c2 0E94 0000 call free
- 118 .L21:
- 119 00c6 8CE0 ldi r24,lo8(12)
- 120 00c8 90E0 ldi r25,0
- 121 .L20:
- 122 00ca 9093 0000 sts errno+1,r25
- 123 00ce 8093 0000 sts errno,r24
- 124 00d2 00C0 rjmp .L19
- 125 .L10:
- 126 00d4 D701 movw r26,r14
- 127 00d6 2C91 ld r18,X
- 128 00d8 2A33 cpi r18,lo8(58)
- 129 00da 01F4 brne .L11
- 130 00dc BFEF ldi r27,-1
- 131 00de EB1A sub r14,r27
- 132 00e0 FB0A sbc r15,r27
- 133 .L11:
- 134 00e2 B701 movw r22,r14
- 135 00e4 0E94 0000 call strcpy
- 136 00e8 D601 movw r26,r12
- 137 00ea 5596 adiw r26,21
- 138 00ec ED91 ld r30,X+
- 139 00ee FC91 ld r31,X
- 140 00f0 5697 sbiw r26,21+1
- 141 00f2 A801 movw r20,r16
- 142 00f4 63E1 ldi r22,lo8(19)
- 143 00f6 71E1 ldi r23,lo8(17)
- 144 00f8 C601 movw r24,r12
- 145 00fa 1995 eicall
- 146 00fc 892B or r24,r25
- 147 00fe 01F0 breq .L12
- 148 0100 F801 movw r30,r16
- 149 0102 8281 ldd r24,Z+2
- 150 0104 9381 ldd r25,Z+3
- 151 0106 0E94 0000 call free
- 152 010a C801 movw r24,r16
- 153 010c 0E94 0000 call free
- 154 .L19:
- 155 0110 80E0 ldi r24,0
- 156 0112 90E0 ldi r25,0
- 157 0114 00C0 rjmp .L6
- 158 .L12:
- 159 0116 C801 movw r24,r16
- 160 .L6:
- 161 /* epilogue start */
- 162 0118 2996 adiw r28,9
- 163 011a 0FB6 in __tmp_reg__,__SREG__
- 164 011c F894 cli
- 165 011e DEBF out __SP_H__,r29
- 166 0120 0FBE out __SREG__,__tmp_reg__
- 167 0122 CDBF out __SP_L__,r28
- 168 0124 DF91 pop r29
- 169 0126 CF91 pop r28
- 170 0128 1F91 pop r17
- 171 012a 0F91 pop r16
- GAS LISTING /tmp/ccCHcmOk.s page 4
- 172 012c FF90 pop r15
- 173 012e EF90 pop r14
- 174 0130 DF90 pop r13
- 175 0132 CF90 pop r12
- 176 0134 BF90 pop r11
- 177 0136 AF90 pop r10
- 178 0138 0895 ret
- 179 .size opendir, .-opendir
- 180 .section .text.closedir,"ax",@progbits
- 181 .global closedir
- 182 .type closedir, @function
- 183 closedir:
- 184 0000 CF93 push r28
- 185 0002 DF93 push r29
- 186 /* prologue: function */
- 187 /* frame size = 0 */
- 188 /* stack size = 2 */
- 189 .L__stack_usage = 2
- 190 0004 EC01 movw r28,r24
- 191 0006 892B or r24,r25
- 192 0008 01F0 breq .L24
- 193 000a E881 ld r30,Y
- 194 000c F981 ldd r31,Y+1
- 195 000e 8081 ld r24,Z
- 196 0010 9181 ldd r25,Z+1
- 197 0012 DC01 movw r26,r24
- 198 0014 5596 adiw r26,21
- 199 0016 ED91 ld r30,X+
- 200 0018 FC91 ld r31,X
- 201 001a 5697 sbiw r26,21+1
- 202 001c AE01 movw r20,r28
- 203 001e 64E1 ldi r22,lo8(20)
- 204 0020 71E1 ldi r23,lo8(17)
- 205 0022 1995 eicall
- 206 0024 8A81 ldd r24,Y+2
- 207 0026 9B81 ldd r25,Y+3
- 208 0028 0097 sbiw r24,0
- 209 002a 01F0 breq .L25
- 210 002c 0E94 0000 call free
- 211 .L25:
- 212 0030 CE01 movw r24,r28
- 213 0032 0E94 0000 call free
- 214 .L24:
- 215 0036 80E0 ldi r24,0
- 216 0038 90E0 ldi r25,0
- 217 /* epilogue start */
- 218 003a DF91 pop r29
- 219 003c CF91 pop r28
- 220 003e 0895 ret
- 221 .size closedir, .-closedir
- 222 .section .text.readdir,"ax",@progbits
- 223 .global readdir
- 224 .type readdir, @function
- 225 readdir:
- 226 0000 CF93 push r28
- 227 0002 DF93 push r29
- 228 /* prologue: function */
- GAS LISTING /tmp/ccCHcmOk.s page 5
- 229 /* frame size = 0 */
- 230 /* stack size = 2 */
- 231 .L__stack_usage = 2
- 232 0004 EC01 movw r28,r24
- 233 0006 E881 ld r30,Y
- 234 0008 F981 ldd r31,Y+1
- 235 000a 8081 ld r24,Z
- 236 000c 9181 ldd r25,Z+1
- 237 000e DC01 movw r26,r24
- 238 0010 5596 adiw r26,21
- 239 0012 ED91 ld r30,X+
- 240 0014 FC91 ld r31,X
- 241 0016 5697 sbiw r26,21+1
- 242 0018 AE01 movw r20,r28
- 243 001a 65E1 ldi r22,lo8(21)
- 244 001c 71E1 ldi r23,lo8(17)
- 245 001e 1995 eicall
- 246 0020 892B or r24,r25
- 247 0022 01F4 brne .L34
- 248 0024 8A81 ldd r24,Y+2
- 249 0026 9B81 ldd r25,Y+3
- 250 0028 00C0 rjmp .L33
- 251 .L34:
- 252 002a 80E0 ldi r24,0
- 253 002c 90E0 ldi r25,0
- 254 .L33:
- 255 /* epilogue start */
- 256 002e DF91 pop r29
- 257 0030 CF91 pop r28
- 258 0032 0895 ret
- 259 .size readdir, .-readdir
- 260 .ident "GCC: (GNU) 5.3.0"
- GAS LISTING /tmp/ccCHcmOk.s page 6
- DEFINED SYMBOLS
- *ABS*:0000000000000000 dirent.c
- /tmp/ccCHcmOk.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccCHcmOk.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccCHcmOk.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccCHcmOk.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccCHcmOk.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccCHcmOk.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccCHcmOk.s:11 .text.opendir:0000000000000000 opendir
- /tmp/ccCHcmOk.s:183 .text.closedir:0000000000000000 closedir
- /tmp/ccCHcmOk.s:225 .text.readdir:0000000000000000 readdir
- UNDEFINED SYMBOLS
- NutDeviceLookup
- malloc
- free
- errno
- strcpy
|