| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- GAS LISTING /tmp/ccqYxKj5.s page 1
- 1 .file "uri.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.UriSchemeRelease,"ax",@progbits
- 9 .global UriSchemeRelease
- 10 .type UriSchemeRelease, @function
- 11 UriSchemeRelease:
- 12 0000 CF93 push r28
- 13 0002 DF93 push r29
- 14 /* prologue: function */
- 15 /* frame size = 0 */
- 16 /* stack size = 2 */
- 17 .L__stack_usage = 2
- 18 0004 EC01 movw r28,r24
- 19 0006 8881 ld r24,Y
- 20 0008 9981 ldd r25,Y+1
- 21 000a 0E94 0000 call free
- 22 000e CE01 movw r24,r28
- 23 /* epilogue start */
- 24 0010 DF91 pop r29
- 25 0012 CF91 pop r28
- 26 0014 0C94 0000 jmp free
- 27 .size UriSchemeRelease, .-UriSchemeRelease
- 28 .section .text.UriSchemeSplit,"ax",@progbits
- 29 .global UriSchemeSplit
- 30 .type UriSchemeSplit, @function
- 31 UriSchemeSplit:
- 32 0000 AF92 push r10
- 33 0002 BF92 push r11
- 34 0004 CF92 push r12
- 35 0006 DF92 push r13
- 36 0008 EF92 push r14
- 37 000a FF92 push r15
- 38 000c 0F93 push r16
- 39 000e 1F93 push r17
- 40 0010 CF93 push r28
- 41 0012 DF93 push r29
- 42 /* prologue: function */
- 43 /* frame size = 0 */
- 44 /* stack size = 10 */
- 45 .L__stack_usage = 10
- 46 0014 7C01 movw r14,r24
- 47 0016 0097 sbiw r24,0
- 48 0018 01F4 brne .+2
- 49 001a 00C0 rjmp .L17
- 50 001c FC01 movw r30,r24
- 51 001e 8081 ld r24,Z
- 52 0020 8823 tst r24
- 53 0022 01F4 brne .+2
- 54 0024 00C0 rjmp .L17
- 55 0026 60E1 ldi r22,lo8(16)
- 56 0028 70E0 ldi r23,0
- 57 002a 81E0 ldi r24,lo8(1)
- GAS LISTING /tmp/ccqYxKj5.s page 2
- 58 002c 90E0 ldi r25,0
- 59 002e 0E94 0000 call calloc
- 60 0032 EC01 movw r28,r24
- 61 0034 892B or r24,r25
- 62 0036 01F4 brne .+2
- 63 0038 00C0 rjmp .L4
- 64 003a 90E0 ldi r25,lo8(scheme_names)
- 65 003c A92E mov r10,r25
- 66 003e 90E0 ldi r25,hi8(scheme_names)
- 67 0040 B92E mov r11,r25
- 68 0042 00E0 ldi r16,0
- 69 0044 10E0 ldi r17,0
- 70 .L5:
- 71 0046 F501 movw r30,r10
- 72 0048 6191 ld r22,Z+
- 73 004a 7191 ld r23,Z+
- 74 004c 5F01 movw r10,r30
- 75 004e 6115 cp r22,__zero_reg__
- 76 0050 7105 cpc r23,__zero_reg__
- 77 0052 01F0 breq .L7
- 78 0054 FB01 movw r30,r22
- 79 0:
- 80 0056 0190 ld __tmp_reg__,Z+
- 81 0058 0020 tst __tmp_reg__
- 82 005a 01F4 brne 0b
- 83 005c 3197 sbiw r30,1
- 84 005e 6F01 movw r12,r30
- 85 0060 C61A sub r12,r22
- 86 0062 D70A sbc r13,r23
- 87 0064 A601 movw r20,r12
- 88 0066 C701 movw r24,r14
- 89 0068 0E94 0000 call strncmp
- 90 006c 892B or r24,r25
- 91 006e 01F4 brne .L6
- 92 0070 EC0C add r14,r12
- 93 0072 FD1C adc r15,r13
- 94 0074 00C0 rjmp .L7
- 95 .L6:
- 96 0076 0F5F subi r16,-1
- 97 0078 1F4F sbci r17,-1
- 98 007a 00C0 rjmp .L5
- 99 .L7:
- 100 007c C701 movw r24,r14
- 101 007e 0E94 0000 call strdup
- 102 0082 FC01 movw r30,r24
- 103 0084 9983 std Y+1,r25
- 104 0086 8883 st Y,r24
- 105 0088 0097 sbiw r24,0
- 106 008a 01F0 breq .L4
- 107 008c 9987 std Y+9,r25
- 108 008e 8887 std Y+8,r24
- 109 0090 DC01 movw r26,r24
- 110 .L9:
- 111 0092 8D91 ld r24,X+
- 112 0094 8823 tst r24
- 113 0096 01F0 breq .L13
- 114 0098 9F01 movw r18,r30
- GAS LISTING /tmp/ccqYxKj5.s page 3
- 115 009a 2F5F subi r18,-1
- 116 009c 3F4F sbci r19,-1
- 117 009e 8A33 cpi r24,lo8(58)
- 118 00a0 01F4 brne .L10
- 119 00a2 1082 st Z,__zero_reg__
- 120 00a4 BB87 std Y+11,r27
- 121 00a6 AA87 std Y+10,r26
- 122 00a8 00C0 rjmp .L11
- 123 .L10:
- 124 00aa 8F32 cpi r24,lo8(47)
- 125 00ac 01F4 brne .L12
- 126 00ae 1082 st Z,__zero_reg__
- 127 00b0 3D87 std Y+13,r19
- 128 00b2 2C87 std Y+12,r18
- 129 00b4 00C0 rjmp .L13
- 130 .L12:
- 131 00b6 8034 cpi r24,lo8(64)
- 132 00b8 01F4 brne .L11
- 133 00ba 1082 st Z,__zero_reg__
- 134 00bc 8885 ldd r24,Y+8
- 135 00be 9985 ldd r25,Y+9
- 136 00c0 9D83 std Y+5,r25
- 137 00c2 8C83 std Y+4,r24
- 138 00c4 8A85 ldd r24,Y+10
- 139 00c6 9B85 ldd r25,Y+11
- 140 00c8 9F83 std Y+7,r25
- 141 00ca 8E83 std Y+6,r24
- 142 00cc B987 std Y+9,r27
- 143 00ce A887 std Y+8,r26
- 144 00d0 1B86 std Y+11,__zero_reg__
- 145 00d2 1A86 std Y+10,__zero_reg__
- 146 .L11:
- 147 00d4 F901 movw r30,r18
- 148 00d6 00C0 rjmp .L9
- 149 .L13:
- 150 00d8 8A85 ldd r24,Y+10
- 151 00da 9B85 ldd r25,Y+11
- 152 00dc 0097 sbiw r24,0
- 153 00de 01F0 breq .L15
- 154 00e0 0E94 0000 call atoi
- 155 00e4 00C0 rjmp .L24
- 156 .L15:
- 157 00e6 000F lsl r16
- 158 00e8 111F rol r17
- 159 00ea F801 movw r30,r16
- 160 00ec E050 subi r30,lo8(-(default_ports))
- 161 00ee F040 sbci r31,hi8(-(default_ports))
- 162 00f0 8081 ld r24,Z
- 163 00f2 9181 ldd r25,Z+1
- 164 .L24:
- 165 00f4 9F87 std Y+15,r25
- 166 00f6 8E87 std Y+14,r24
- 167 00f8 CE01 movw r24,r28
- 168 00fa 00C0 rjmp .L3
- 169 .L4:
- 170 00fc CE01 movw r24,r28
- 171 00fe 0E94 0000 call UriSchemeRelease
- GAS LISTING /tmp/ccqYxKj5.s page 4
- 172 .L17:
- 173 0102 80E0 ldi r24,0
- 174 0104 90E0 ldi r25,0
- 175 .L3:
- 176 /* epilogue start */
- 177 0106 DF91 pop r29
- 178 0108 CF91 pop r28
- 179 010a 1F91 pop r17
- 180 010c 0F91 pop r16
- 181 010e FF90 pop r15
- 182 0110 EF90 pop r14
- 183 0112 DF90 pop r13
- 184 0114 CF90 pop r12
- 185 0116 BF90 pop r11
- 186 0118 AF90 pop r10
- 187 011a 0895 ret
- 188 .size UriSchemeSplit, .-UriSchemeSplit
- 189 .section .rodata
- 190 .type default_ports, @object
- 191 .size default_ports, 14
- 192 default_ports:
- 193 0000 1400 .word 20
- 194 0002 BB01 .word 443
- 195 0004 1900 .word 25
- 196 0006 6E00 .word 110
- 197 0008 A100 .word 161
- 198 000a 1700 .word 23
- 199 000c 5000 .word 80
- 200 .section .rodata.str1.1,"aMS",@progbits,1
- 201 .LC0:
- 202 0000 6674 703A .string "ftp://"
- 202 2F2F 00
- 203 .LC1:
- 204 0007 6874 7470 .string "https://"
- 204 733A 2F2F
- 204 00
- 205 .LC2:
- 206 0010 6D61 696C .string "mailto:"
- 206 746F 3A00
- 207 .LC3:
- 208 0018 706F 703A .string "pop://"
- 208 2F2F 00
- 209 .LC4:
- 210 001f 736E 6D70 .string "snmp://"
- 210 3A2F 2F00
- 211 .LC5:
- 212 0027 7465 6C6E .string "telnet://"
- 212 6574 3A2F
- 212 2F00
- 213 .section .rodata
- 214 .type scheme_names, @object
- 215 .size scheme_names, 14
- 216 scheme_names:
- 217 000e 0000 .word .LC0
- 218 0010 0000 .word .LC1
- 219 0012 0000 .word .LC2
- 220 0014 0000 .word .LC3
- GAS LISTING /tmp/ccqYxKj5.s page 5
- 221 0016 0000 .word .LC4
- 222 0018 0000 .word .LC5
- 223 001a 0000 .word 0
- 224 .ident "GCC: (GNU) 5.3.0"
- 225 .global __do_copy_data
- GAS LISTING /tmp/ccqYxKj5.s page 6
- DEFINED SYMBOLS
- *ABS*:0000000000000000 uri.c
- /tmp/ccqYxKj5.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccqYxKj5.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccqYxKj5.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccqYxKj5.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccqYxKj5.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccqYxKj5.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccqYxKj5.s:11 .text.UriSchemeRelease:0000000000000000 UriSchemeRelease
- /tmp/ccqYxKj5.s:31 .text.UriSchemeSplit:0000000000000000 UriSchemeSplit
- /tmp/ccqYxKj5.s:216 .rodata:000000000000000e scheme_names
- /tmp/ccqYxKj5.s:192 .rodata:0000000000000000 default_ports
- UNDEFINED SYMBOLS
- free
- calloc
- strncmp
- strdup
- atoi
- __do_copy_data
|