| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410 |
- GAS LISTING /tmp/ccK7t3Wf.s page 1
- 1 .file "ssdp.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 4D2D 5345 .string "M-SEARCH"
- 10 4152 4348
- 10 00
- 11 .LC1:
- 12 0009 4E4F 5449 .string "NOTIFY"
- 12 4659 00
- 13 .LC2:
- 14 0010 7373 6470 .string "ssdp:alive"
- 14 3A61 6C69
- 14 7665 00
- 15 .section .text.SsdpReceiver,"ax",@progbits
- 16 .type SsdpReceiver, @function
- 17 SsdpReceiver:
- 18 /* prologue: function */
- 19 /* frame size = 0 */
- 20 /* stack size = 0 */
- 21 .L__stack_usage = 0
- 22 0000 8CE6 ldi r24,lo8(108)
- 23 0002 97E0 ldi r25,lo8(7)
- 24 0004 0E94 0000 call HttpuSessionCreate
- 25 0008 8C01 movw r16,r24
- 26 000a C0E0 ldi r28,0
- 27 000c D0E0 ldi r29,0
- 28 000e 7C01 movw r14,r24
- 29 0010 8AEF ldi r24,-6
- 30 0012 E81A sub r14,r24
- 31 0014 8BEF ldi r24,-5
- 32 0016 F80A sbc r15,r24
- 33 .L2:
- 34 0018 48EE ldi r20,lo8(-24)
- 35 001a 53E0 ldi r21,lo8(3)
- 36 001c 60E0 ldi r22,0
- 37 001e 70E0 ldi r23,0
- 38 0020 C801 movw r24,r16
- 39 0022 0E94 0000 call HttpuReceive
- 40 0026 1816 cp __zero_reg__,r24
- 41 0028 1906 cpc __zero_reg__,r25
- 42 002a 04F4 brge .L3
- 43 002c 60E0 ldi r22,0
- 44 002e 70E0 ldi r23,0
- 45 0030 C701 movw r24,r14
- 46 0032 0E94 0000 call HttpuGetHeader
- 47 0036 6C01 movw r12,r24
- 48 0038 48E0 ldi r20,lo8(8)
- 49 003a 50E0 ldi r21,0
- 50 003c 60E0 ldi r22,lo8(.LC0)
- 51 003e 70E0 ldi r23,hi8(.LC0)
- 52 0040 0E94 0000 call strncasecmp
- GAS LISTING /tmp/ccK7t3Wf.s page 2
- 53 0044 892B or r24,r25
- 54 0046 01F4 brne .L4
- 55 0048 E091 0000 lds r30,search_listener
- 56 004c F091 0000 lds r31,search_listener+1
- 57 0050 3097 sbiw r30,0
- 58 0052 01F0 breq .L2
- 59 0054 C801 movw r24,r16
- 60 0056 00C0 rjmp .L13
- 61 .L4:
- 62 0058 46E0 ldi r20,lo8(6)
- 63 005a 50E0 ldi r21,0
- 64 005c 60E0 ldi r22,lo8(.LC1)
- 65 005e 70E0 ldi r23,hi8(.LC1)
- 66 0060 C601 movw r24,r12
- 67 0062 0E94 0000 call strncasecmp
- 68 0066 892B or r24,r25
- 69 0068 01F4 brne .L2
- 70 006a E091 0000 lds r30,notification_listener
- 71 006e F091 0000 lds r31,notification_listener+1
- 72 0072 3097 sbiw r30,0
- 73 0074 01F0 breq .L2
- 74 0076 C701 movw r24,r14
- 75 .L13:
- 76 0078 1995 eicall
- 77 007a 00C0 rjmp .L2
- 78 .L3:
- 79 007c CE01 movw r24,r28
- 80 007e 0197 sbiw r24,1
- 81 0080 1C16 cp __zero_reg__,r28
- 82 0082 1D06 cpc __zero_reg__,r29
- 83 0084 04F4 brge .L15
- 84 .L6:
- 85 0086 EC01 movw r28,r24
- 86 0088 00C0 rjmp .L2
- 87 .L15:
- 88 008a 60E0 ldi r22,lo8(.LC2)
- 89 008c 70E0 ldi r23,hi8(.LC2)
- 90 008e C801 movw r24,r16
- 91 0090 0E94 0000 call SsdpSendNotifications
- 92 0094 00C0 rjmp .L6
- 93 .size SsdpReceiver, .-SsdpReceiver
- 94 .section .rodata.str1.1
- 95 .LC3:
- 96 001b 7373 6470 .string "ssdpd"
- 96 6400
- 97 .section .text.SsdpRegisterListener,"ax",@progbits
- 98 .global SsdpRegisterListener
- 99 .type SsdpRegisterListener, @function
- 100 SsdpRegisterListener:
- 101 /* prologue: function */
- 102 /* frame size = 0 */
- 103 /* stack size = 0 */
- 104 .L__stack_usage = 0
- 105 0000 9093 0000 sts notification_listener+1,r25
- 106 0004 8093 0000 sts notification_listener,r24
- 107 0008 8091 0000 lds r24,rx_thread
- 108 000c 9091 0000 lds r25,rx_thread+1
- GAS LISTING /tmp/ccK7t3Wf.s page 3
- 109 0010 892B or r24,r25
- 110 0012 01F4 brne .L17
- 111 0014 20E8 ldi r18,lo8(-128)
- 112 0016 31E0 ldi r19,lo8(1)
- 113 0018 40E0 ldi r20,0
- 114 001a 50E0 ldi r21,0
- 115 001c 60E0 ldi r22,lo8(gs(SsdpReceiver))
- 116 001e 70E0 ldi r23,hi8(gs(SsdpReceiver))
- 117 0020 80E0 ldi r24,lo8(.LC3)
- 118 0022 90E0 ldi r25,hi8(.LC3)
- 119 0024 0E94 0000 call NutThreadCreate
- 120 0028 9093 0000 sts rx_thread+1,r25
- 121 002c 8093 0000 sts rx_thread,r24
- 122 .L17:
- 123 0030 81E0 ldi r24,lo8(1)
- 124 0032 90E0 ldi r25,0
- 125 0034 2091 0000 lds r18,rx_thread
- 126 0038 3091 0000 lds r19,rx_thread+1
- 127 003c 232B or r18,r19
- 128 003e 01F0 breq .L18
- 129 0040 80E0 ldi r24,0
- 130 0042 90E0 ldi r25,0
- 131 .L18:
- 132 0044 9195 neg r25
- 133 0046 8195 neg r24
- 134 0048 9109 sbc r25,__zero_reg__
- 135 004a 0895 ret
- 136 .size SsdpRegisterListener, .-SsdpRegisterListener
- 137 .section .text.SsdpRegisterResponder,"ax",@progbits
- 138 .global SsdpRegisterResponder
- 139 .type SsdpRegisterResponder, @function
- 140 SsdpRegisterResponder:
- 141 /* prologue: function */
- 142 /* frame size = 0 */
- 143 /* stack size = 0 */
- 144 .L__stack_usage = 0
- 145 0000 9093 0000 sts search_listener+1,r25
- 146 0004 8093 0000 sts search_listener,r24
- 147 0008 8091 0000 lds r24,rx_thread
- 148 000c 9091 0000 lds r25,rx_thread+1
- 149 0010 892B or r24,r25
- 150 0012 01F4 brne .L23
- 151 0014 20E8 ldi r18,lo8(-128)
- 152 0016 31E0 ldi r19,lo8(1)
- 153 0018 40E0 ldi r20,0
- 154 001a 50E0 ldi r21,0
- 155 001c 60E0 ldi r22,lo8(gs(SsdpReceiver))
- 156 001e 70E0 ldi r23,hi8(gs(SsdpReceiver))
- 157 0020 80E0 ldi r24,lo8(.LC3)
- 158 0022 90E0 ldi r25,hi8(.LC3)
- 159 0024 0E94 0000 call NutThreadCreate
- 160 0028 9093 0000 sts rx_thread+1,r25
- 161 002c 8093 0000 sts rx_thread,r24
- 162 .L23:
- 163 0030 81E0 ldi r24,lo8(1)
- 164 0032 90E0 ldi r25,0
- 165 0034 2091 0000 lds r18,rx_thread
- GAS LISTING /tmp/ccK7t3Wf.s page 4
- 166 0038 3091 0000 lds r19,rx_thread+1
- 167 003c 232B or r18,r19
- 168 003e 01F0 breq .L24
- 169 0040 80E0 ldi r24,0
- 170 0042 90E0 ldi r25,0
- 171 .L24:
- 172 0044 9195 neg r25
- 173 0046 8195 neg r24
- 174 0048 9109 sbc r25,__zero_reg__
- 175 004a 0895 ret
- 176 .size SsdpRegisterResponder, .-SsdpRegisterResponder
- 177 .section .text.SsdpUuidSetMac,"ax",@progbits
- 178 .global SsdpUuidSetMac
- 179 .type SsdpUuidSetMac, @function
- 180 SsdpUuidSetMac:
- 181 0000 0F93 push r16
- 182 0002 1F93 push r17
- 183 0004 CF93 push r28
- 184 0006 DF93 push r29
- 185 /* prologue: function */
- 186 /* frame size = 0 */
- 187 /* stack size = 4 */
- 188 .L__stack_usage = 4
- 189 0008 8B01 movw r16,r22
- 190 000a 6DE2 ldi r22,lo8(45)
- 191 000c 70E0 ldi r23,0
- 192 000e 0E94 0000 call strrchr
- 193 0012 0097 sbiw r24,0
- 194 0014 01F0 breq .L28
- 195 0016 DC01 movw r26,r24
- 196 0018 1296 adiw r26,2
- 197 001a E801 movw r28,r16
- 198 001c 0E96 adiw r24,14
- 199 .L30:
- 200 001e 9E01 movw r18,r28
- 201 0020 AD01 movw r20,r26
- 202 0022 4150 subi r20,1
- 203 0024 5109 sbc r21,__zero_reg__
- 204 0026 E991 ld r30,Y+
- 205 0028 E295 swap r30
- 206 002a EF70 andi r30,lo8(15)
- 207 002c F0E0 ldi r31,0
- 208 002e E050 subi r30,lo8(-(hexdigit.2789))
- 209 0030 F040 sbci r31,hi8(-(hexdigit.2789))
- 210 0032 6081 ld r22,Z
- 211 0034 FA01 movw r30,r20
- 212 0036 6083 st Z,r22
- 213 0038 F901 movw r30,r18
- 214 003a 2081 ld r18,Z
- 215 003c E22F mov r30,r18
- 216 003e EF70 andi r30,lo8(15)
- 217 0040 F0E0 ldi r31,0
- 218 0042 E050 subi r30,lo8(-(hexdigit.2789))
- 219 0044 F040 sbci r31,hi8(-(hexdigit.2789))
- 220 0046 2081 ld r18,Z
- 221 0048 2C93 st X,r18
- 222 004a 1296 adiw r26,2
- GAS LISTING /tmp/ccK7t3Wf.s page 5
- 223 004c A817 cp r26,r24
- 224 004e B907 cpc r27,r25
- 225 0050 01F4 brne .L30
- 226 .L28:
- 227 /* epilogue start */
- 228 0052 DF91 pop r29
- 229 0054 CF91 pop r28
- 230 0056 1F91 pop r17
- 231 0058 0F91 pop r16
- 232 005a 0895 ret
- 233 .size SsdpUuidSetMac, .-SsdpUuidSetMac
- 234 .section .text.SsdpSplitWords,"ax",@progbits
- 235 .global SsdpSplitWords
- 236 .type SsdpSplitWords, @function
- 237 SsdpSplitWords:
- 238 0000 AF92 push r10
- 239 0002 BF92 push r11
- 240 0004 CF92 push r12
- 241 0006 DF92 push r13
- 242 0008 EF92 push r14
- 243 000a FF92 push r15
- 244 000c 0F93 push r16
- 245 000e 1F93 push r17
- 246 0010 CF93 push r28
- 247 0012 DF93 push r29
- 248 /* prologue: function */
- 249 /* frame size = 0 */
- 250 /* stack size = 10 */
- 251 .L__stack_usage = 10
- 252 0014 EC01 movw r28,r24
- 253 0016 5901 movw r10,r18
- 254 0018 8A01 movw r16,r20
- 255 001a E12C mov r14,__zero_reg__
- 256 001c F12C mov r15,__zero_reg__
- 257 001e C62E mov r12,r22
- 258 0020 660F lsl r22
- 259 0022 DD08 sbc r13,r13
- 260 .L34:
- 261 0024 EA14 cp r14,r10
- 262 0026 FB04 cpc r15,r11
- 263 0028 04F4 brge .L43
- 264 002a F801 movw r30,r16
- 265 002c C193 st Z+,r28
- 266 002e D193 st Z+,r29
- 267 0030 8F01 movw r16,r30
- 268 0032 8881 ld r24,Y
- 269 0034 8823 tst r24
- 270 0036 01F0 breq .L35
- 271 0038 B601 movw r22,r12
- 272 003a CE01 movw r24,r28
- 273 003c 0E94 0000 call strchr
- 274 0040 0097 sbiw r24,0
- 275 0042 01F4 brne .L36
- 276 0044 CE01 movw r24,r28
- 277 0046 0196 adiw r24,1
- 278 .L37:
- 279 0048 EC01 movw r28,r24
- GAS LISTING /tmp/ccK7t3Wf.s page 6
- 280 004a 0196 adiw r24,1
- 281 004c 2881 ld r18,Y
- 282 004e 2111 cpse r18,__zero_reg__
- 283 0050 00C0 rjmp .L37
- 284 0052 00C0 rjmp .L35
- 285 .L36:
- 286 0054 EC01 movw r28,r24
- 287 0056 2196 adiw r28,1
- 288 0058 FC01 movw r30,r24
- 289 005a 1082 st Z,__zero_reg__
- 290 .L35:
- 291 005c FFEF ldi r31,-1
- 292 005e EF1A sub r14,r31
- 293 0060 FF0A sbc r15,r31
- 294 0062 00C0 rjmp .L34
- 295 .L43:
- 296 /* epilogue start */
- 297 0064 DF91 pop r29
- 298 0066 CF91 pop r28
- 299 0068 1F91 pop r17
- 300 006a 0F91 pop r16
- 301 006c FF90 pop r15
- 302 006e EF90 pop r14
- 303 0070 DF90 pop r13
- 304 0072 CF90 pop r12
- 305 0074 BF90 pop r11
- 306 0076 AF90 pop r10
- 307 0078 0895 ret
- 308 .size SsdpSplitWords, .-SsdpSplitWords
- 309 .section .rodata
- 310 .type hexdigit.2789, @object
- 311 .size hexdigit.2789, 17
- 312 hexdigit.2789:
- 313 0000 3031 3233 .string "0123456789abcdef"
- 313 3435 3637
- 313 3839 6162
- 313 6364 6566
- 313 00
- 314 .local search_listener
- 315 .comm search_listener,2,1
- 316 .local notification_listener
- 317 .comm notification_listener,2,1
- 318 .local rx_thread
- 319 .comm rx_thread,2,1
- 320 .global ct_239_255_255_250
- 321 .type ct_239_255_255_250, @object
- 322 .size ct_239_255_255_250, 16
- 323 ct_239_255_255_250:
- 324 0011 3233 392E .string "239.255.255.250"
- 324 3235 352E
- 324 3235 352E
- 324 3235 3000
- 325 .global ct_upnp_rootdevice
- 326 .type ct_upnp_rootdevice, @object
- 327 .size ct_upnp_rootdevice, 16
- 328 ct_upnp_rootdevice:
- 329 0021 7570 6E70 .string "upnp:rootdevice"
- GAS LISTING /tmp/ccK7t3Wf.s page 7
- 329 3A72 6F6F
- 329 7464 6576
- 329 6963 6500
- 330 .global ct_uuid_
- 331 .type ct_uuid_, @object
- 332 .size ct_uuid_, 6
- 333 ct_uuid_:
- 334 0031 7575 6964 .string "uuid:"
- 334 3A00
- 335 .ident "GCC: (GNU) 5.3.0"
- 336 .global __do_copy_data
- 337 .global __do_clear_bss
- GAS LISTING /tmp/ccK7t3Wf.s page 8
- DEFINED SYMBOLS
- *ABS*:0000000000000000 ssdp.c
- /tmp/ccK7t3Wf.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccK7t3Wf.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccK7t3Wf.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccK7t3Wf.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccK7t3Wf.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccK7t3Wf.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccK7t3Wf.s:17 .text.SsdpReceiver:0000000000000000 SsdpReceiver
- .bss:0000000000000000 search_listener
- /tmp/ccK7t3Wf.s:315 .bss:0000000000000002 notification_listener
- /tmp/ccK7t3Wf.s:100 .text.SsdpRegisterListener:0000000000000000 SsdpRegisterListener
- /tmp/ccK7t3Wf.s:317 .bss:0000000000000004 rx_thread
- /tmp/ccK7t3Wf.s:140 .text.SsdpRegisterResponder:0000000000000000 SsdpRegisterResponder
- /tmp/ccK7t3Wf.s:180 .text.SsdpUuidSetMac:0000000000000000 SsdpUuidSetMac
- /tmp/ccK7t3Wf.s:312 .rodata:0000000000000000 hexdigit.2789
- /tmp/ccK7t3Wf.s:237 .text.SsdpSplitWords:0000000000000000 SsdpSplitWords
- /tmp/ccK7t3Wf.s:323 .rodata:0000000000000011 ct_239_255_255_250
- /tmp/ccK7t3Wf.s:328 .rodata:0000000000000021 ct_upnp_rootdevice
- /tmp/ccK7t3Wf.s:333 .rodata:0000000000000031 ct_uuid_
- UNDEFINED SYMBOLS
- HttpuSessionCreate
- HttpuReceive
- HttpuGetHeader
- strncasecmp
- SsdpSendNotifications
- NutThreadCreate
- strrchr
- strchr
- __do_copy_data
- __do_clear_bss
|