| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- GAS LISTING /tmp/cctF4E3d.s page 1
- 1 .file "basename.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 2E00 .string "."
- 11 .LC1:
- 12 0002 2F00 .string "/"
- 13 .section .text.basename,"ax",@progbits
- 14 .global basename
- 15 .type basename, @function
- 16 basename:
- 17 0000 0F93 push r16
- 18 0002 1F93 push r17
- 19 0004 CF93 push r28
- 20 0006 DF93 push r29
- 21 /* prologue: function */
- 22 /* frame size = 0 */
- 23 /* stack size = 4 */
- 24 .L__stack_usage = 4
- 25 0008 EC01 movw r28,r24
- 26 000a 0091 0000 lds r16,bname.2206
- 27 000e 1091 0000 lds r17,bname.2206+1
- 28 0012 0115 cp r16,__zero_reg__
- 29 0014 1105 cpc r17,__zero_reg__
- 30 0016 01F0 breq .L2
- 31 .L6:
- 32 0018 2097 sbiw r28,0
- 33 001a 01F4 brne .L26
- 34 001c 00C0 rjmp .L3
- 35 .L2:
- 36 001e 80E0 ldi r24,0
- 37 0020 91E0 ldi r25,lo8(1)
- 38 0022 0E94 0000 call malloc
- 39 0026 9093 0000 sts bname.2206+1,r25
- 40 002a 8093 0000 sts bname.2206,r24
- 41 002e 892B or r24,r25
- 42 0030 01F4 brne .L6
- 43 0032 00C0 rjmp .L18
- 44 .L26:
- 45 0034 8881 ld r24,Y
- 46 0036 8111 cpse r24,__zero_reg__
- 47 0038 00C0 rjmp .L7
- 48 .L3:
- 49 003a 0091 0000 lds r16,bname.2206
- 50 003e 1091 0000 lds r17,bname.2206+1
- 51 0042 60E0 ldi r22,lo8(.LC0)
- 52 0044 70E0 ldi r23,hi8(.LC0)
- 53 0046 00C0 rjmp .L27
- 54 .L7:
- 55 0048 FE01 movw r30,r28
- 56 0:
- 57 004a 0190 ld __tmp_reg__,Z+
- GAS LISTING /tmp/cctF4E3d.s page 2
- 58 004c 0020 tst __tmp_reg__
- 59 004e 01F4 brne 0b
- 60 0050 3297 sbiw r30,2
- 61 .L8:
- 62 0052 CE17 cp r28,r30
- 63 0054 DF07 cpc r29,r31
- 64 0056 00F4 brsh .L9
- 65 0058 8081 ld r24,Z
- 66 005a 8F32 cpi r24,lo8(47)
- 67 005c 01F4 brne .L12
- 68 005e 3197 sbiw r30,1
- 69 0060 00C0 rjmp .L8
- 70 .L9:
- 71 0062 EC17 cp r30,r28
- 72 0064 FD07 cpc r31,r29
- 73 0066 01F4 brne .L12
- 74 0068 8081 ld r24,Z
- 75 006a 8F32 cpi r24,lo8(47)
- 76 006c 01F4 brne .L16
- 77 006e 0091 0000 lds r16,bname.2206
- 78 0072 1091 0000 lds r17,bname.2206+1
- 79 0076 60E0 ldi r22,lo8(.LC1)
- 80 0078 70E0 ldi r23,hi8(.LC1)
- 81 .L27:
- 82 007a C801 movw r24,r16
- 83 007c 0E94 0000 call strcpy
- 84 0080 00C0 rjmp .L18
- 85 .L16:
- 86 0082 BF01 movw r22,r30
- 87 .L13:
- 88 0084 EF01 movw r28,r30
- 89 0086 C61B sub r28,r22
- 90 0088 D70B sbc r29,r23
- 91 008a CE3F cpi r28,-2
- 92 008c D105 cpc r29,__zero_reg__
- 93 008e 04F0 brlt .L15
- 94 0090 8FE3 ldi r24,lo8(63)
- 95 0092 90E0 ldi r25,0
- 96 0094 9093 0000 sts errno+1,r25
- 97 0098 8093 0000 sts errno,r24
- 98 009c 00E0 ldi r16,0
- 99 009e 10E0 ldi r17,0
- 100 00a0 00C0 rjmp .L18
- 101 .L15:
- 102 00a2 0091 0000 lds r16,bname.2206
- 103 00a6 1091 0000 lds r17,bname.2206+1
- 104 00aa C801 movw r24,r16
- 105 00ac 0E94 0000 call strcpy
- 106 00b0 F801 movw r30,r16
- 107 00b2 EC0F add r30,r28
- 108 00b4 FD1F adc r31,r29
- 109 00b6 1182 std Z+1,__zero_reg__
- 110 00b8 00C0 rjmp .L18
- 111 .L12:
- 112 00ba DF01 movw r26,r30
- 113 .L14:
- 114 00bc BD01 movw r22,r26
- GAS LISTING /tmp/cctF4E3d.s page 3
- 115 00be CA17 cp r28,r26
- 116 00c0 DB07 cpc r29,r27
- 117 00c2 00F4 brsh .L13
- 118 00c4 8E91 ld r24,-X
- 119 00c6 8F32 cpi r24,lo8(47)
- 120 00c8 01F4 brne .L14
- 121 00ca 00C0 rjmp .L13
- 122 .L18:
- 123 00cc C801 movw r24,r16
- 124 /* epilogue start */
- 125 00ce DF91 pop r29
- 126 00d0 CF91 pop r28
- 127 00d2 1F91 pop r17
- 128 00d4 0F91 pop r16
- 129 00d6 0895 ret
- 130 .size basename, .-basename
- 131 .local bname.2206
- 132 .comm bname.2206,2,1
- 133 .ident "GCC: (GNU) 5.3.0"
- 134 .global __do_copy_data
- 135 .global __do_clear_bss
- GAS LISTING /tmp/cctF4E3d.s page 4
- DEFINED SYMBOLS
- *ABS*:0000000000000000 basename.c
- /tmp/cctF4E3d.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/cctF4E3d.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/cctF4E3d.s:4 *ABS*:000000000000003f __SREG__
- /tmp/cctF4E3d.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/cctF4E3d.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/cctF4E3d.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/cctF4E3d.s:16 .text.basename:0000000000000000 basename
- .bss:0000000000000000 bname.2206
- UNDEFINED SYMBOLS
- malloc
- strcpy
- errno
- __do_copy_data
- __do_clear_bss
|