| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- GAS LISTING /tmp/ccKrwvXe.s page 1
- 1 .file "dirname.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 .rodata.str1.1,"aMS",@progbits,1
- 9 .LC0:
- 10 0000 2F00 .string "/"
- 11 .LC1:
- 12 0002 2E00 .string "."
- 13 .section .text.dirname,"ax",@progbits
- 14 .global dirname
- 15 .type dirname, @function
- 16 dirname:
- 17 0000 EF92 push r14
- 18 0002 FF92 push r15
- 19 0004 0F93 push r16
- 20 0006 1F93 push r17
- 21 0008 CF93 push r28
- 22 000a DF93 push r29
- 23 /* prologue: function */
- 24 /* frame size = 0 */
- 25 /* stack size = 6 */
- 26 .L__stack_usage = 6
- 27 000c 7C01 movw r14,r24
- 28 000e 0091 0000 lds r16,bname.2206
- 29 0012 1091 0000 lds r17,bname.2206+1
- 30 0016 0115 cp r16,__zero_reg__
- 31 0018 1105 cpc r17,__zero_reg__
- 32 001a 01F0 breq .L2
- 33 .L6:
- 34 001c E114 cp r14,__zero_reg__
- 35 001e F104 cpc r15,__zero_reg__
- 36 0020 01F4 brne .L34
- 37 0022 00C0 rjmp .L3
- 38 .L2:
- 39 0024 80E0 ldi r24,0
- 40 0026 91E0 ldi r25,lo8(1)
- 41 0028 0E94 0000 call malloc
- 42 002c 9093 0000 sts bname.2206+1,r25
- 43 0030 8093 0000 sts bname.2206,r24
- 44 0034 892B or r24,r25
- 45 0036 01F4 brne .L6
- 46 0038 00C0 rjmp .L27
- 47 .L34:
- 48 003a F701 movw r30,r14
- 49 003c 8081 ld r24,Z
- 50 003e 8111 cpse r24,__zero_reg__
- 51 0040 00C0 rjmp .L7
- 52 .L3:
- 53 0042 0091 0000 lds r16,bname.2206
- 54 0046 1091 0000 lds r17,bname.2206+1
- 55 004a 40E0 ldi r20,0
- 56 004c 51E0 ldi r21,lo8(1)
- 57 004e 60E0 ldi r22,lo8(.LC1)
- GAS LISTING /tmp/ccKrwvXe.s page 2
- 58 0050 70E0 ldi r23,hi8(.LC1)
- 59 0052 00C0 rjmp .L37
- 60 .L7:
- 61 0054 F701 movw r30,r14
- 62 0:
- 63 0056 0190 ld __tmp_reg__,Z+
- 64 0058 0020 tst __tmp_reg__
- 65 005a 01F4 brne 0b
- 66 005c 3297 sbiw r30,2
- 67 .L8:
- 68 005e EE16 cp r14,r30
- 69 0060 FF06 cpc r15,r31
- 70 0062 00F4 brsh .L9
- 71 0064 9081 ld r25,Z
- 72 0066 9F32 cpi r25,lo8(47)
- 73 0068 01F4 brne .L12
- 74 006a 3197 sbiw r30,1
- 75 006c 00C0 rjmp .L8
- 76 .L13:
- 77 006e 3197 sbiw r30,1
- 78 0070 EE16 cp r14,r30
- 79 0072 FF06 cpc r15,r31
- 80 0074 00F4 brsh .L9
- 81 .L12:
- 82 0076 9081 ld r25,Z
- 83 0078 9F32 cpi r25,lo8(47)
- 84 007a 01F4 brne .L13
- 85 007c 00C0 rjmp .L39
- 86 .L9:
- 87 007e EE16 cp r14,r30
- 88 0080 FF06 cpc r15,r31
- 89 0082 01F4 brne .L20
- 90 0084 8F32 cpi r24,lo8(47)
- 91 0086 01F0 breq .L23
- 92 0088 60E0 ldi r22,lo8(.LC1)
- 93 008a 70E0 ldi r23,hi8(.LC1)
- 94 008c 00C0 rjmp .L16
- 95 .L39:
- 96 008e EE16 cp r14,r30
- 97 0090 FF06 cpc r15,r31
- 98 0092 01F4 brne .L20
- 99 .L23:
- 100 0094 60E0 ldi r22,lo8(.LC0)
- 101 0096 70E0 ldi r23,hi8(.LC0)
- 102 .L16:
- 103 0098 0091 0000 lds r16,bname.2206
- 104 009c 1091 0000 lds r17,bname.2206+1
- 105 00a0 40E0 ldi r20,0
- 106 00a2 51E0 ldi r21,lo8(1)
- 107 .L37:
- 108 00a4 C801 movw r24,r16
- 109 00a6 0E94 0000 call strncpy
- 110 00aa 00C0 rjmp .L27
- 111 .L17:
- 112 00ac 8081 ld r24,Z
- 113 00ae 8F32 cpi r24,lo8(47)
- 114 00b0 01F4 brne .L21
- GAS LISTING /tmp/ccKrwvXe.s page 3
- 115 .L20:
- 116 00b2 3197 sbiw r30,1
- 117 00b4 EE16 cp r14,r30
- 118 00b6 FF06 cpc r15,r31
- 119 00b8 00F0 brlo .L17
- 120 .L21:
- 121 00ba EF01 movw r28,r30
- 122 00bc CE19 sub r28,r14
- 123 00be DF09 sbc r29,r15
- 124 00c0 CF3F cpi r28,-1
- 125 00c2 D105 cpc r29,__zero_reg__
- 126 00c4 04F0 brlt .L36
- 127 00c6 8FE3 ldi r24,lo8(63)
- 128 00c8 90E0 ldi r25,0
- 129 00ca 9093 0000 sts errno+1,r25
- 130 00ce 8093 0000 sts errno,r24
- 131 00d2 00E0 ldi r16,0
- 132 00d4 10E0 ldi r17,0
- 133 00d6 00C0 rjmp .L27
- 134 .L36:
- 135 00d8 0091 0000 lds r16,bname.2206
- 136 00dc 1091 0000 lds r17,bname.2206+1
- 137 00e0 B701 movw r22,r14
- 138 00e2 C801 movw r24,r16
- 139 00e4 0E94 0000 call strcpy
- 140 00e8 F801 movw r30,r16
- 141 00ea EC0F add r30,r28
- 142 00ec FD1F adc r31,r29
- 143 00ee 1182 std Z+1,__zero_reg__
- 144 .L27:
- 145 00f0 C801 movw r24,r16
- 146 /* epilogue start */
- 147 00f2 DF91 pop r29
- 148 00f4 CF91 pop r28
- 149 00f6 1F91 pop r17
- 150 00f8 0F91 pop r16
- 151 00fa FF90 pop r15
- 152 00fc EF90 pop r14
- 153 00fe 0895 ret
- 154 .size dirname, .-dirname
- 155 .local bname.2206
- 156 .comm bname.2206,2,1
- 157 .ident "GCC: (GNU) 5.3.0"
- 158 .global __do_copy_data
- 159 .global __do_clear_bss
- GAS LISTING /tmp/ccKrwvXe.s page 4
- DEFINED SYMBOLS
- *ABS*:0000000000000000 dirname.c
- /tmp/ccKrwvXe.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccKrwvXe.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccKrwvXe.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccKrwvXe.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccKrwvXe.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccKrwvXe.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccKrwvXe.s:16 .text.dirname:0000000000000000 dirname
- .bss:0000000000000000 bname.2206
- UNDEFINED SYMBOLS
- malloc
- strncpy
- errno
- strcpy
- __do_copy_data
- __do_clear_bss
|