| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231 |
- GAS LISTING /tmp/ccbk85jl.s page 1
- 1 .file "ssdpc.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.CallObservers,"ax",@progbits
- 9 .type CallObservers, @function
- 10 CallObservers:
- 11 0000 FF92 push r15
- 12 0002 0F93 push r16
- 13 0004 1F93 push r17
- 14 0006 CF93 push r28
- 15 0008 DF93 push r29
- 16 /* prologue: function */
- 17 /* frame size = 0 */
- 18 /* stack size = 5 */
- 19 .L__stack_usage = 5
- 20 000a 8C01 movw r16,r24
- 21 000c F62E mov r15,r22
- 22 000e C091 0000 lds r28,ssdp_observer_root
- 23 0012 D091 0000 lds r29,ssdp_observer_root+1
- 24 .L2:
- 25 0016 2097 sbiw r28,0
- 26 0018 01F0 breq .L9
- 27 001a 6A81 ldd r22,Y+2
- 28 001c 7B81 ldd r23,Y+3
- 29 001e F801 movw r30,r16
- 30 0020 8481 ldd r24,Z+4
- 31 0022 9581 ldd r25,Z+5
- 32 0024 0E94 0000 call strcmp
- 33 0028 892B or r24,r25
- 34 002a 01F4 brne .L7
- 35 002c 6C81 ldd r22,Y+4
- 36 002e 7D81 ldd r23,Y+5
- 37 0030 F801 movw r30,r16
- 38 0032 8681 ldd r24,Z+6
- 39 0034 9781 ldd r25,Z+7
- 40 0036 0E94 0000 call strcmp
- 41 003a 892B or r24,r25
- 42 003c 01F4 brne .L7
- 43 003e EE81 ldd r30,Y+6
- 44 0040 FF81 ldd r31,Y+7
- 45 0042 6F2D mov r22,r15
- 46 0044 C801 movw r24,r16
- 47 0046 1995 eicall
- 48 0048 00C0 rjmp .L3
- 49 .L7:
- 50 004a 80E0 ldi r24,0
- 51 004c 90E0 ldi r25,0
- 52 .L3:
- 53 004e 0990 ld __tmp_reg__,Y+
- 54 0050 D881 ld r29,Y
- 55 0052 C02D mov r28,__tmp_reg__
- 56 0054 0097 sbiw r24,0
- 57 0056 01F0 breq .L2
- GAS LISTING /tmp/ccbk85jl.s page 2
- 58 0058 00C0 rjmp .L4
- 59 .L9:
- 60 005a 80E0 ldi r24,0
- 61 005c 90E0 ldi r25,0
- 62 .L4:
- 63 /* epilogue start */
- 64 005e DF91 pop r29
- 65 0060 CF91 pop r28
- 66 0062 1F91 pop r17
- 67 0064 0F91 pop r16
- 68 0066 FF90 pop r15
- 69 0068 0895 ret
- 70 .size CallObservers, .-CallObservers
- 71 .section .rodata.str1.1,"aMS",@progbits,1
- 72 .LC0:
- 73 0000 5553 4E00 .string "USN"
- 74 .section .text.SsdpUuidFromHeader,"ax",@progbits
- 75 .type SsdpUuidFromHeader, @function
- 76 SsdpUuidFromHeader:
- 77 0000 EF92 push r14
- 78 0002 FF92 push r15
- 79 0004 0F93 push r16
- 80 0006 1F93 push r17
- 81 0008 CF93 push r28
- 82 000a DF93 push r29
- 83 /* prologue: function */
- 84 /* frame size = 0 */
- 85 /* stack size = 6 */
- 86 .L__stack_usage = 6
- 87 000c EC01 movw r28,r24
- 88 000e 8091 0000 lds r24,uuid.2973
- 89 0012 9091 0000 lds r25,uuid.2973+1
- 90 0016 0E94 0000 call free
- 91 001a 1092 0000 sts uuid.2973+1,__zero_reg__
- 92 001e 1092 0000 sts uuid.2973,__zero_reg__
- 93 0022 60E0 ldi r22,lo8(.LC0)
- 94 0024 70E0 ldi r23,hi8(.LC0)
- 95 0026 CE01 movw r24,r28
- 96 0028 0E94 0000 call HttpuGetHeader
- 97 002c 8C01 movw r16,r24
- 98 002e FC01 movw r30,r24
- 99 0030 8081 ld r24,Z
- 100 0032 8823 tst r24
- 101 0034 01F0 breq .L11
- 102 0036 45E0 ldi r20,lo8(5)
- 103 0038 50E0 ldi r21,0
- 104 003a 60E0 ldi r22,lo8(ct_uuid_)
- 105 003c 70E0 ldi r23,hi8(ct_uuid_)
- 106 003e C801 movw r24,r16
- 107 0040 0E94 0000 call strncmp
- 108 0044 892B or r24,r25
- 109 0046 01F4 brne .L12
- 110 0048 0B5F subi r16,-5
- 111 004a 1F4F sbci r17,-1
- 112 .L12:
- 113 004c 6AE3 ldi r22,lo8(58)
- 114 004e 70E0 ldi r23,0
- GAS LISTING /tmp/ccbk85jl.s page 3
- 115 0050 C801 movw r24,r16
- 116 0052 0E94 0000 call strchr
- 117 0056 9093 0000 sts uuid.2973+1,r25
- 118 005a 8093 0000 sts uuid.2973,r24
- 119 005e 0097 sbiw r24,0
- 120 0060 01F0 breq .L13
- 121 0062 EC01 movw r28,r24
- 122 0064 C01B sub r28,r16
- 123 0066 D10B sbc r29,r17
- 124 0068 CE01 movw r24,r28
- 125 006a 0196 adiw r24,1
- 126 006c 0E94 0000 call malloc
- 127 0070 7C01 movw r14,r24
- 128 0072 9093 0000 sts uuid.2973+1,r25
- 129 0076 8093 0000 sts uuid.2973,r24
- 130 007a AE01 movw r20,r28
- 131 007c B801 movw r22,r16
- 132 007e 0E94 0000 call memcpy
- 133 0082 CE0D add r28,r14
- 134 0084 DF1D adc r29,r15
- 135 0086 1882 st Y,__zero_reg__
- 136 0088 00C0 rjmp .L11
- 137 .L13:
- 138 008a C801 movw r24,r16
- 139 008c 0E94 0000 call strdup
- 140 0090 9093 0000 sts uuid.2973+1,r25
- 141 0094 8093 0000 sts uuid.2973,r24
- 142 .L11:
- 143 0098 8091 0000 lds r24,uuid.2973
- 144 009c 9091 0000 lds r25,uuid.2973+1
- 145 /* epilogue start */
- 146 00a0 DF91 pop r29
- 147 00a2 CF91 pop r28
- 148 00a4 1F91 pop r17
- 149 00a6 0F91 pop r16
- 150 00a8 FF90 pop r15
- 151 00aa EF90 pop r14
- 152 00ac 0895 ret
- 153 .size SsdpUuidFromHeader, .-SsdpUuidFromHeader
- 154 .section .rodata.str1.1
- 155 .LC1:
- 156 0004 4C4F 4341 .string "LOCATION"
- 156 5449 4F4E
- 156 00
- 157 .LC2:
- 158 000d 4341 4348 .string "CACHE-CONTROL"
- 158 452D 434F
- 158 4E54 524F
- 158 4C00
- 159 .section .text.CacheDevice,"ax",@progbits
- 160 .type CacheDevice, @function
- 161 CacheDevice:
- 162 0000 AF92 push r10
- 163 0002 BF92 push r11
- 164 0004 CF92 push r12
- 165 0006 DF92 push r13
- 166 0008 EF92 push r14
- GAS LISTING /tmp/ccbk85jl.s page 4
- 167 000a FF92 push r15
- 168 000c 0F93 push r16
- 169 000e 1F93 push r17
- 170 0010 CF93 push r28
- 171 0012 DF93 push r29
- 172 /* prologue: function */
- 173 /* frame size = 0 */
- 174 /* stack size = 10 */
- 175 .L__stack_usage = 10
- 176 0014 6C01 movw r12,r24
- 177 0016 8B01 movw r16,r22
- 178 0018 7A01 movw r14,r20
- 179 001a 5901 movw r10,r18
- 180 001c C091 0000 lds r28,ssdp_device_cache
- 181 0020 D091 0000 lds r29,ssdp_device_cache+1
- 182 .L18:
- 183 0024 2097 sbiw r28,0
- 184 0026 01F0 breq .L43
- 185 0028 B601 movw r22,r12
- 186 002a 8E81 ldd r24,Y+6
- 187 002c 9F81 ldd r25,Y+7
- 188 002e 0E94 0000 call strcmp
- 189 0032 892B or r24,r25
- 190 0034 01F0 breq .L19
- 191 0036 0990 ld __tmp_reg__,Y+
- 192 0038 D881 ld r29,Y
- 193 003a C02D mov r28,__tmp_reg__
- 194 003c 00C0 rjmp .L18
- 195 .L43:
- 196 003e 62E1 ldi r22,lo8(18)
- 197 0040 70E0 ldi r23,0
- 198 0042 81E0 ldi r24,lo8(1)
- 199 0044 90E0 ldi r25,0
- 200 0046 0E94 0000 call calloc
- 201 004a EC01 movw r28,r24
- 202 004c 892B or r24,r25
- 203 004e 01F4 brne .+2
- 204 0050 00C0 rjmp .L33
- 205 0052 C601 movw r24,r12
- 206 0054 0E94 0000 call strdup
- 207 0058 9F83 std Y+7,r25
- 208 005a 8E83 std Y+6,r24
- 209 005c 60E0 ldi r22,lo8(.LC1)
- 210 005e 70E0 ldi r23,hi8(.LC1)
- 211 0060 C501 movw r24,r10
- 212 0062 0E94 0000 call HttpuGetHeader
- 213 0066 FC01 movw r30,r24
- 214 0068 2081 ld r18,Z
- 215 006a 2223 tst r18
- 216 006c 01F0 breq .L28
- 217 006e 0E94 0000 call strdup
- 218 0072 00C0 rjmp .L22
- 219 .L28:
- 220 0074 80E0 ldi r24,0
- 221 0076 90E0 ldi r25,0
- 222 .L22:
- 223 0078 9987 std Y+9,r25
- GAS LISTING /tmp/ccbk85jl.s page 5
- 224 007a 8887 std Y+8,r24
- 225 007c 60E0 ldi r22,lo8(.LC2)
- 226 007e 70E0 ldi r23,hi8(.LC2)
- 227 0080 C501 movw r24,r10
- 228 0082 0E94 0000 call HttpuGetHeader
- 229 0086 6DE3 ldi r22,lo8(61)
- 230 0088 70E0 ldi r23,0
- 231 008a 0E94 0000 call strchr
- 232 008e 0097 sbiw r24,0
- 233 0090 01F0 breq .L23
- 234 0092 0196 adiw r24,1
- 235 0094 0E94 0000 call atoi
- 236 0098 9F87 std Y+15,r25
- 237 009a 8E87 std Y+14,r24
- 238 .L23:
- 239 009c 8091 0000 lds r24,ssdp_device_cache
- 240 00a0 9091 0000 lds r25,ssdp_device_cache+1
- 241 00a4 9983 std Y+1,r25
- 242 00a6 8883 st Y,r24
- 243 00a8 D093 0000 sts ssdp_device_cache+1,r29
- 244 00ac C093 0000 sts ssdp_device_cache,r28
- 245 .L19:
- 246 00b0 8A85 ldd r24,Y+10
- 247 00b2 9B85 ldd r25,Y+11
- 248 00b4 892B or r24,r25
- 249 00b6 01F4 brne .L24
- 250 00b8 0115 cp r16,__zero_reg__
- 251 00ba 1105 cpc r17,__zero_reg__
- 252 00bc 01F0 breq .L24
- 253 00be C801 movw r24,r16
- 254 00c0 0E94 0000 call strdup
- 255 00c4 9B87 std Y+11,r25
- 256 00c6 8A87 std Y+10,r24
- 257 .L24:
- 258 00c8 8C85 ldd r24,Y+12
- 259 00ca 9D85 ldd r25,Y+13
- 260 00cc 892B or r24,r25
- 261 00ce 01F4 brne .L33
- 262 00d0 E114 cp r14,__zero_reg__
- 263 00d2 F104 cpc r15,__zero_reg__
- 264 00d4 01F0 breq .L33
- 265 00d6 C701 movw r24,r14
- 266 00d8 0E94 0000 call strdup
- 267 00dc 9D87 std Y+13,r25
- 268 00de 8C87 std Y+12,r24
- 269 .L33:
- 270 00e0 CE01 movw r24,r28
- 271 /* epilogue start */
- 272 00e2 DF91 pop r29
- 273 00e4 CF91 pop r28
- 274 00e6 1F91 pop r17
- 275 00e8 0F91 pop r16
- 276 00ea FF90 pop r15
- 277 00ec EF90 pop r14
- 278 00ee DF90 pop r13
- 279 00f0 CF90 pop r12
- 280 00f2 BF90 pop r11
- GAS LISTING /tmp/ccbk85jl.s page 6
- 281 00f4 AF90 pop r10
- 282 00f6 0895 ret
- 283 .size CacheDevice, .-CacheDevice
- 284 .section .text.CacheService,"ax",@progbits
- 285 .type CacheService, @function
- 286 CacheService:
- 287 0000 AF92 push r10
- 288 0002 BF92 push r11
- 289 0004 CF92 push r12
- 290 0006 DF92 push r13
- 291 0008 EF92 push r14
- 292 000a FF92 push r15
- 293 000c 0F93 push r16
- 294 000e 1F93 push r17
- 295 0010 CF93 push r28
- 296 0012 DF93 push r29
- 297 /* prologue: function */
- 298 /* frame size = 0 */
- 299 /* stack size = 10 */
- 300 .L__stack_usage = 10
- 301 0014 7B01 movw r14,r22
- 302 0016 6A01 movw r12,r20
- 303 0018 40E0 ldi r20,0
- 304 001a 50E0 ldi r21,0
- 305 001c 60E0 ldi r22,0
- 306 001e 70E0 ldi r23,0
- 307 0020 0E94 0000 call CacheDevice
- 308 0024 8C01 movw r16,r24
- 309 0026 0097 sbiw r24,0
- 310 0028 01F0 breq .L54
- 311 002a FC01 movw r30,r24
- 312 002c B480 ldd r11,Z+4
- 313 002e A580 ldd r10,Z+5
- 314 0030 CB2D mov r28,r11
- 315 0032 DA2D mov r29,r10
- 316 .L47:
- 317 0034 2097 sbiw r28,0
- 318 0036 01F0 breq .L58
- 319 0038 B701 movw r22,r14
- 320 003a 8C81 ldd r24,Y+4
- 321 003c 9D81 ldd r25,Y+5
- 322 003e 0E94 0000 call strcmp
- 323 0042 892B or r24,r25
- 324 0044 01F4 brne .L48
- 325 0046 B601 movw r22,r12
- 326 0048 8E81 ldd r24,Y+6
- 327 004a 9F81 ldd r25,Y+7
- 328 004c 0E94 0000 call strcmp
- 329 0050 892B or r24,r25
- 330 0052 01F0 breq .L54
- 331 .L48:
- 332 0054 0990 ld __tmp_reg__,Y+
- 333 0056 D881 ld r29,Y
- 334 0058 C02D mov r28,__tmp_reg__
- 335 005a 00C0 rjmp .L47
- 336 .L58:
- 337 005c 6AE0 ldi r22,lo8(10)
- GAS LISTING /tmp/ccbk85jl.s page 7
- 338 005e 70E0 ldi r23,0
- 339 0060 81E0 ldi r24,lo8(1)
- 340 0062 90E0 ldi r25,0
- 341 0064 0E94 0000 call calloc
- 342 0068 EC01 movw r28,r24
- 343 006a 892B or r24,r25
- 344 006c 01F0 breq .L54
- 345 006e 1B83 std Y+3,r17
- 346 0070 0A83 std Y+2,r16
- 347 0072 C701 movw r24,r14
- 348 0074 0E94 0000 call strdup
- 349 0078 9D83 std Y+5,r25
- 350 007a 8C83 std Y+4,r24
- 351 007c C601 movw r24,r12
- 352 007e 0E94 0000 call strdup
- 353 0082 9F83 std Y+7,r25
- 354 0084 8E83 std Y+6,r24
- 355 0086 B882 st Y,r11
- 356 0088 A982 std Y+1,r10
- 357 008a F801 movw r30,r16
- 358 008c D583 std Z+5,r29
- 359 008e C483 std Z+4,r28
- 360 0090 60E0 ldi r22,0
- 361 0092 CE01 movw r24,r28
- 362 0094 0E94 0000 call CallObservers
- 363 .L54:
- 364 0098 C801 movw r24,r16
- 365 /* epilogue start */
- 366 009a DF91 pop r29
- 367 009c CF91 pop r28
- 368 009e 1F91 pop r17
- 369 00a0 0F91 pop r16
- 370 00a2 FF90 pop r15
- 371 00a4 EF90 pop r14
- 372 00a6 DF90 pop r13
- 373 00a8 CF90 pop r12
- 374 00aa BF90 pop r11
- 375 00ac AF90 pop r10
- 376 00ae 0895 ret
- 377 .size CacheService, .-CacheService
- 378 .section .rodata.str1.1
- 379 .LC3:
- 380 001b 4E54 00 .string "NT"
- 381 .LC4:
- 382 001e 4E54 5300 .string "NTS"
- 383 .LC5:
- 384 0022 7373 6470 .string "ssdp:byebye"
- 384 3A62 7965
- 384 6279 6500
- 385 .LC6:
- 386 002e 7373 6470 .string "ssdp:alive"
- 386 3A61 6C69
- 386 7665 00
- 387 .LC7:
- 388 0039 7572 6E00 .string "urn"
- 389 .LC8:
- 390 003d 7365 7276 .string "service"
- GAS LISTING /tmp/ccbk85jl.s page 8
- 390 6963 6500
- 391 .section .text.NotificationListener,"ax",@progbits
- 392 .type NotificationListener, @function
- 393 NotificationListener:
- 394 0000 8F92 push r8
- 395 0002 9F92 push r9
- 396 0004 AF92 push r10
- 397 0006 BF92 push r11
- 398 0008 CF92 push r12
- 399 000a DF92 push r13
- 400 000c EF92 push r14
- 401 000e FF92 push r15
- 402 0010 0F93 push r16
- 403 0012 1F93 push r17
- 404 0014 CF93 push r28
- 405 0016 DF93 push r29
- 406 0018 CDB7 in r28,__SP_L__
- 407 001a DEB7 in r29,__SP_H__
- 408 001c 2A97 sbiw r28,10
- 409 001e 0FB6 in __tmp_reg__,__SREG__
- 410 0020 F894 cli
- 411 0022 DEBF out __SP_H__,r29
- 412 0024 0FBE out __SREG__,__tmp_reg__
- 413 0026 CDBF out __SP_L__,r28
- 414 /* prologue: function */
- 415 /* frame size = 10 */
- 416 /* stack size = 22 */
- 417 .L__stack_usage = 22
- 418 0028 7C01 movw r14,r24
- 419 002a 60E0 ldi r22,lo8(.LC3)
- 420 002c 70E0 ldi r23,hi8(.LC3)
- 421 002e 0E94 0000 call HttpuGetHeader
- 422 0032 5C01 movw r10,r24
- 423 0034 60E0 ldi r22,lo8(.LC4)
- 424 0036 70E0 ldi r23,hi8(.LC4)
- 425 0038 C701 movw r24,r14
- 426 003a 0E94 0000 call HttpuGetHeader
- 427 003e 8C01 movw r16,r24
- 428 0040 C701 movw r24,r14
- 429 0042 0E94 0000 call SsdpUuidFromHeader
- 430 0046 6C01 movw r12,r24
- 431 0048 F501 movw r30,r10
- 432 004a 8081 ld r24,Z
- 433 004c 8823 tst r24
- 434 004e 01F4 brne .+2
- 435 0050 00C0 rjmp .L59
- 436 0052 F801 movw r30,r16
- 437 0054 8081 ld r24,Z
- 438 0056 8823 tst r24
- 439 0058 01F4 brne .+2
- 440 005a 00C0 rjmp .L59
- 441 005c C114 cp r12,__zero_reg__
- 442 005e D104 cpc r13,__zero_reg__
- 443 0060 01F4 brne .+2
- 444 0062 00C0 rjmp .L59
- 445 0064 60E0 ldi r22,lo8(.LC5)
- 446 0066 70E0 ldi r23,hi8(.LC5)
- GAS LISTING /tmp/ccbk85jl.s page 9
- 447 0068 C801 movw r24,r16
- 448 006a 0E94 0000 call strcmp
- 449 006e 892B or r24,r25
- 450 0070 01F4 brne .L61
- 451 0072 0091 0000 lds r16,ssdp_device_cache
- 452 0076 1091 0000 lds r17,ssdp_device_cache+1
- 453 007a 80E0 ldi r24,lo8(ssdp_device_cache)
- 454 007c A82E mov r10,r24
- 455 007e 80E0 ldi r24,hi8(ssdp_device_cache)
- 456 0080 B82E mov r11,r24
- 457 .L62:
- 458 0082 0115 cp r16,__zero_reg__
- 459 0084 1105 cpc r17,__zero_reg__
- 460 0086 01F4 brne .+2
- 461 0088 00C0 rjmp .L59
- 462 008a B601 movw r22,r12
- 463 008c F801 movw r30,r16
- 464 008e 8681 ldd r24,Z+6
- 465 0090 9781 ldd r25,Z+7
- 466 0092 0E94 0000 call strcmp
- 467 0096 892B or r24,r25
- 468 0098 01F4 brne .+2
- 469 009a 00C0 rjmp .L63
- 470 009c 5801 movw r10,r16
- 471 009e F801 movw r30,r16
- 472 00a0 0081 ld r16,Z
- 473 00a2 1181 ldd r17,Z+1
- 474 00a4 00C0 rjmp .L62
- 475 .L61:
- 476 00a6 60E0 ldi r22,lo8(.LC6)
- 477 00a8 70E0 ldi r23,hi8(.LC6)
- 478 00aa C801 movw r24,r16
- 479 00ac 0E94 0000 call strcmp
- 480 00b0 892B or r24,r25
- 481 00b2 01F0 breq .+2
- 482 00b4 00C0 rjmp .L59
- 483 00b6 C501 movw r24,r10
- 484 00b8 0E94 0000 call strdup
- 485 00bc 25E0 ldi r18,lo8(5)
- 486 00be 30E0 ldi r19,0
- 487 00c0 AE01 movw r20,r28
- 488 00c2 4F5F subi r20,-1
- 489 00c4 5F4F sbci r21,-1
- 490 00c6 6AE3 ldi r22,lo8(58)
- 491 00c8 0E94 0000 call SsdpSplitWords
- 492 00cc 60E0 ldi r22,lo8(.LC7)
- 493 00ce 70E0 ldi r23,hi8(.LC7)
- 494 00d0 8981 ldd r24,Y+1
- 495 00d2 9A81 ldd r25,Y+2
- 496 00d4 0E94 0000 call strcmp
- 497 00d8 892B or r24,r25
- 498 00da 01F4 brne .L67
- 499 00dc 60E0 ldi r22,lo8(.LC8)
- 500 00de 70E0 ldi r23,hi8(.LC8)
- 501 00e0 8D81 ldd r24,Y+5
- 502 00e2 9E81 ldd r25,Y+6
- 503 00e4 0E94 0000 call strcmp
- GAS LISTING /tmp/ccbk85jl.s page 10
- 504 00e8 892B or r24,r25
- 505 00ea 01F4 brne .L67
- 506 00ec 0091 0000 lds r16,ssdp_observer_root
- 507 00f0 1091 0000 lds r17,ssdp_observer_root+1
- 508 00f4 AB80 ldd r10,Y+3
- 509 00f6 BC80 ldd r11,Y+4
- 510 00f8 8F80 ldd r8,Y+7
- 511 00fa 9884 ldd r9,Y+8
- 512 .L68:
- 513 00fc 0115 cp r16,__zero_reg__
- 514 00fe 1105 cpc r17,__zero_reg__
- 515 0100 01F0 breq .L67
- 516 0102 F801 movw r30,r16
- 517 0104 6281 ldd r22,Z+2
- 518 0106 7381 ldd r23,Z+3
- 519 0108 C501 movw r24,r10
- 520 010a 0E94 0000 call strcmp
- 521 010e 892B or r24,r25
- 522 0110 01F4 brne .L69
- 523 0112 F801 movw r30,r16
- 524 0114 6481 ldd r22,Z+4
- 525 0116 7581 ldd r23,Z+5
- 526 0118 C401 movw r24,r8
- 527 011a 0E94 0000 call strcmp
- 528 011e 892B or r24,r25
- 529 0120 01F4 brne .L69
- 530 0122 9701 movw r18,r14
- 531 0124 A401 movw r20,r8
- 532 0126 B501 movw r22,r10
- 533 0128 C601 movw r24,r12
- 534 012a 0E94 0000 call CacheService
- 535 012e 00C0 rjmp .L67
- 536 .L69:
- 537 0130 F801 movw r30,r16
- 538 0132 0081 ld r16,Z
- 539 0134 1181 ldd r17,Z+1
- 540 0136 00C0 rjmp .L68
- 541 .L67:
- 542 0138 8981 ldd r24,Y+1
- 543 013a 9A81 ldd r25,Y+2
- 544 .L82:
- 545 013c 0E94 0000 call free
- 546 0140 00C0 rjmp .L59
- 547 .L63:
- 548 0142 F801 movw r30,r16
- 549 0144 E480 ldd r14,Z+4
- 550 0146 F580 ldd r15,Z+5
- 551 .L72:
- 552 0148 E114 cp r14,__zero_reg__
- 553 014a F104 cpc r15,__zero_reg__
- 554 014c 01F0 breq .L83
- 555 014e F701 movw r30,r14
- 556 0150 C080 ld r12,Z
- 557 0152 D180 ldd r13,Z+1
- 558 0154 61E0 ldi r22,lo8(1)
- 559 0156 C701 movw r24,r14
- 560 0158 0E94 0000 call CallObservers
- GAS LISTING /tmp/ccbk85jl.s page 11
- 561 015c F701 movw r30,r14
- 562 015e 8481 ldd r24,Z+4
- 563 0160 9581 ldd r25,Z+5
- 564 0162 0E94 0000 call free
- 565 0166 F701 movw r30,r14
- 566 0168 8681 ldd r24,Z+6
- 567 016a 9781 ldd r25,Z+7
- 568 016c 0E94 0000 call free
- 569 0170 C701 movw r24,r14
- 570 0172 0E94 0000 call free
- 571 0176 7601 movw r14,r12
- 572 0178 00C0 rjmp .L72
- 573 .L83:
- 574 017a F801 movw r30,r16
- 575 017c 8681 ldd r24,Z+6
- 576 017e 9781 ldd r25,Z+7
- 577 0180 0E94 0000 call free
- 578 0184 F801 movw r30,r16
- 579 0186 8085 ldd r24,Z+8
- 580 0188 9185 ldd r25,Z+9
- 581 018a 0E94 0000 call free
- 582 018e F801 movw r30,r16
- 583 0190 8285 ldd r24,Z+10
- 584 0192 9385 ldd r25,Z+11
- 585 0194 0E94 0000 call free
- 586 0198 F801 movw r30,r16
- 587 019a 8485 ldd r24,Z+12
- 588 019c 9585 ldd r25,Z+13
- 589 019e 0E94 0000 call free
- 590 01a2 F801 movw r30,r16
- 591 01a4 8081 ld r24,Z
- 592 01a6 9181 ldd r25,Z+1
- 593 01a8 F501 movw r30,r10
- 594 01aa 9183 std Z+1,r25
- 595 01ac 8083 st Z,r24
- 596 01ae C801 movw r24,r16
- 597 01b0 00C0 rjmp .L82
- 598 .L59:
- 599 /* epilogue start */
- 600 01b2 2A96 adiw r28,10
- 601 01b4 0FB6 in __tmp_reg__,__SREG__
- 602 01b6 F894 cli
- 603 01b8 DEBF out __SP_H__,r29
- 604 01ba 0FBE out __SREG__,__tmp_reg__
- 605 01bc CDBF out __SP_L__,r28
- 606 01be DF91 pop r29
- 607 01c0 CF91 pop r28
- 608 01c2 1F91 pop r17
- 609 01c4 0F91 pop r16
- 610 01c6 FF90 pop r15
- 611 01c8 EF90 pop r14
- 612 01ca DF90 pop r13
- 613 01cc CF90 pop r12
- 614 01ce BF90 pop r11
- 615 01d0 AF90 pop r10
- 616 01d2 9F90 pop r9
- 617 01d4 8F90 pop r8
- GAS LISTING /tmp/ccbk85jl.s page 12
- 618 01d6 0895 ret
- 619 .size NotificationListener, .-NotificationListener
- 620 .section .rodata.str1.1
- 621 .LC9:
- 622 0045 4D2D 5345 .string "M-SEARCH * HTTP/1.1"
- 622 4152 4348
- 622 202A 2048
- 622 5454 502F
- 622 312E 3100
- 623 .LC10:
- 624 0059 3A31 3930 .string ":1900"
- 624 3000
- 625 .LC11:
- 626 005f 486F 7374 .string "Host"
- 626 00
- 627 .LC12:
- 628 0064 2273 7364 .string "\"ssdp:discover\""
- 628 703A 6469
- 628 7363 6F76
- 628 6572 2200
- 629 .LC13:
- 630 0074 4D41 4E00 .string "MAN"
- 631 .LC14:
- 632 0078 2564 00 .string "%d"
- 633 .LC15:
- 634 007b 4D58 00 .string "MX"
- 635 .LC16:
- 636 007e 5354 00 .string "ST"
- 637 .LC17:
- 638 0081 7572 6E3A .string "urn:"
- 638 00
- 639 .LC18:
- 640 0086 6465 7669 .string "device"
- 640 6365 00
- 641 .section .text.SsdpDiscoverDevices,"ax",@progbits
- 642 .global SsdpDiscoverDevices
- 643 .type SsdpDiscoverDevices, @function
- 644 SsdpDiscoverDevices:
- 645 0000 6F92 push r6
- 646 0002 7F92 push r7
- 647 0004 8F92 push r8
- 648 0006 9F92 push r9
- 649 0008 BF92 push r11
- 650 000a CF92 push r12
- 651 000c DF92 push r13
- 652 000e EF92 push r14
- 653 0010 FF92 push r15
- 654 0012 0F93 push r16
- 655 0014 1F93 push r17
- 656 0016 CF93 push r28
- 657 0018 DF93 push r29
- 658 001a CDB7 in r28,__SP_L__
- 659 001c DEB7 in r29,__SP_H__
- 660 001e 2A97 sbiw r28,10
- 661 0020 0FB6 in __tmp_reg__,__SREG__
- 662 0022 F894 cli
- 663 0024 DEBF out __SP_H__,r29
- GAS LISTING /tmp/ccbk85jl.s page 13
- 664 0026 0FBE out __SREG__,__tmp_reg__
- 665 0028 CDBF out __SP_L__,r28
- 666 /* prologue: function */
- 667 /* frame size = 10 */
- 668 /* stack size = 23 */
- 669 .L__stack_usage = 23
- 670 002a F82E mov r15,r24
- 671 002c E92E mov r14,r25
- 672 002e B62E mov r11,r22
- 673 0030 80E0 ldi r24,0
- 674 0032 90E0 ldi r25,0
- 675 0034 0E94 0000 call HttpuSessionCreate
- 676 0038 8C01 movw r16,r24
- 677 003a 892B or r24,r25
- 678 003c 01F4 brne .+2
- 679 003e 00C0 rjmp .L94
- 680 0040 1F92 push __zero_reg__
- 681 0042 1F92 push __zero_reg__
- 682 0044 80E0 ldi r24,lo8(.LC9)
- 683 0046 90E0 ldi r25,hi8(.LC9)
- 684 0048 9F93 push r25
- 685 004a 8F93 push r24
- 686 004c 1F92 push __zero_reg__
- 687 004e 1F92 push __zero_reg__
- 688 0050 1F93 push r17
- 689 0052 0F93 push r16
- 690 0054 0E94 0000 call HttpuAddHeader
- 691 0058 1F92 push __zero_reg__
- 692 005a 1F92 push __zero_reg__
- 693 005c 80E0 ldi r24,lo8(.LC10)
- 694 005e 90E0 ldi r25,hi8(.LC10)
- 695 0060 9F93 push r25
- 696 0062 8F93 push r24
- 697 0064 80E0 ldi r24,lo8(ct_239_255_255_250)
- 698 0066 90E0 ldi r25,hi8(ct_239_255_255_250)
- 699 0068 9F93 push r25
- 700 006a 8F93 push r24
- 701 006c 80E0 ldi r24,lo8(.LC11)
- 702 006e 90E0 ldi r25,hi8(.LC11)
- 703 0070 9F93 push r25
- 704 0072 8F93 push r24
- 705 0074 1F93 push r17
- 706 0076 0F93 push r16
- 707 0078 0E94 0000 call HttpuAddHeader
- 708 007c 1F92 push __zero_reg__
- 709 007e 1F92 push __zero_reg__
- 710 0080 80E0 ldi r24,lo8(.LC12)
- 711 0082 90E0 ldi r25,hi8(.LC12)
- 712 0084 9F93 push r25
- 713 0086 8F93 push r24
- 714 0088 80E0 ldi r24,lo8(.LC13)
- 715 008a 90E0 ldi r25,hi8(.LC13)
- 716 008c 9F93 push r25
- 717 008e 8F93 push r24
- 718 0090 1F93 push r17
- 719 0092 0F93 push r16
- 720 0094 0E94 0000 call HttpuAddHeader
- GAS LISTING /tmp/ccbk85jl.s page 14
- 721 0098 8B2D mov r24,r11
- 722 009a 0B2C mov __tmp_reg__,r11
- 723 009c 000C lsl r0
- 724 009e 990B sbc r25,r25
- 725 00a0 9F93 push r25
- 726 00a2 BF92 push r11
- 727 00a4 80E0 ldi r24,lo8(.LC14)
- 728 00a6 90E0 ldi r25,hi8(.LC14)
- 729 00a8 9F93 push r25
- 730 00aa 8F93 push r24
- 731 00ac CE01 movw r24,r28
- 732 00ae 0196 adiw r24,1
- 733 00b0 4C01 movw r8,r24
- 734 00b2 9F93 push r25
- 735 00b4 8F93 push r24
- 736 00b6 0E94 0000 call sprintf
- 737 00ba 0FB6 in __tmp_reg__,__SREG__
- 738 00bc F894 cli
- 739 00be DEBF out __SP_H__,r29
- 740 00c0 0FBE out __SREG__,__tmp_reg__
- 741 00c2 CDBF out __SP_L__,r28
- 742 00c4 1F92 push __zero_reg__
- 743 00c6 1F92 push __zero_reg__
- 744 00c8 9F92 push r9
- 745 00ca 8F92 push r8
- 746 00cc 80E0 ldi r24,lo8(.LC15)
- 747 00ce 90E0 ldi r25,hi8(.LC15)
- 748 00d0 9F93 push r25
- 749 00d2 8F93 push r24
- 750 00d4 1F93 push r17
- 751 00d6 0F93 push r16
- 752 00d8 0E94 0000 call HttpuAddHeader
- 753 00dc 1F92 push __zero_reg__
- 754 00de 1F92 push __zero_reg__
- 755 00e0 EF92 push r14
- 756 00e2 FF92 push r15
- 757 00e4 80E0 ldi r24,lo8(.LC16)
- 758 00e6 90E0 ldi r25,hi8(.LC16)
- 759 00e8 9F93 push r25
- 760 00ea 8F93 push r24
- 761 00ec 1F93 push r17
- 762 00ee 0F93 push r16
- 763 00f0 0E94 0000 call HttpuAddHeader
- 764 00f4 80E0 ldi r24,lo8(ct_239_255_255_250)
- 765 00f6 90E0 ldi r25,hi8(ct_239_255_255_250)
- 766 00f8 0E94 0000 call inet_addr
- 767 00fc AB01 movw r20,r22
- 768 00fe BC01 movw r22,r24
- 769 0100 2CE6 ldi r18,lo8(108)
- 770 0102 37E0 ldi r19,lo8(7)
- 771 0104 C801 movw r24,r16
- 772 0106 0E94 0000 call HttpuSend
- 773 010a 0FB6 in __tmp_reg__,__SREG__
- 774 010c F894 cli
- 775 010e DEBF out __SP_H__,r29
- 776 0110 0FBE out __SREG__,__tmp_reg__
- 777 0112 CDBF out __SP_L__,r28
- GAS LISTING /tmp/ccbk85jl.s page 15
- 778 0114 EE24 clr r14
- 779 0116 EA94 dec r14
- 780 0118 FE2C mov r15,r14
- 781 011a 6801 movw r12,r16
- 782 011c 9AEF ldi r25,-6
- 783 011e C91A sub r12,r25
- 784 0120 9BEF ldi r25,-5
- 785 0122 D90A sbc r13,r25
- 786 .L86:
- 787 0124 BB20 tst r11
- 788 0126 01F4 brne .+2
- 789 0128 00C0 rjmp .L87
- 790 012a 48EE ldi r20,lo8(-24)
- 791 012c 53E0 ldi r21,lo8(3)
- 792 012e 60E0 ldi r22,0
- 793 0130 70E0 ldi r23,0
- 794 0132 C801 movw r24,r16
- 795 0134 0E94 0000 call HttpuReceive
- 796 0138 7C01 movw r14,r24
- 797 013a 97FD sbrc r25,7
- 798 013c 00C0 rjmp .L87
- 799 013e 892B or r24,r25
- 800 0140 01F4 brne .L88
- 801 0142 BA94 dec r11
- 802 0144 00C0 rjmp .L89
- 803 .L88:
- 804 0146 60E0 ldi r22,0
- 805 0148 70E0 ldi r23,0
- 806 014a C601 movw r24,r12
- 807 014c 0E94 0000 call HttpuGetHeader
- 808 0150 0996 adiw r24,9
- 809 0152 0E94 0000 call atoi
- 810 0156 883C cpi r24,-56
- 811 0158 9105 cpc r25,__zero_reg__
- 812 015a 01F0 breq .+2
- 813 015c 00C0 rjmp .L89
- 814 015e C601 movw r24,r12
- 815 0160 0E94 0000 call SsdpUuidFromHeader
- 816 0164 7C01 movw r14,r24
- 817 0166 892B or r24,r25
- 818 0168 01F4 brne .+2
- 819 016a 00C0 rjmp .L89
- 820 016c 60E0 ldi r22,lo8(.LC16)
- 821 016e 70E0 ldi r23,hi8(.LC16)
- 822 0170 C601 movw r24,r12
- 823 0172 0E94 0000 call HttpuGetHeader
- 824 0176 3C01 movw r6,r24
- 825 0178 60E0 ldi r22,lo8(ct_upnp_rootdevice)
- 826 017a 70E0 ldi r23,hi8(ct_upnp_rootdevice)
- 827 017c 0E94 0000 call strcasecmp
- 828 0180 892B or r24,r25
- 829 0182 01F4 brne .L90
- 830 0184 9601 movw r18,r12
- 831 0186 40E0 ldi r20,0
- 832 0188 50E0 ldi r21,0
- 833 018a 60E0 ldi r22,0
- 834 018c 70E0 ldi r23,0
- GAS LISTING /tmp/ccbk85jl.s page 16
- 835 018e C701 movw r24,r14
- 836 0190 0E94 0000 call CacheDevice
- 837 0194 00C0 rjmp .L89
- 838 .L90:
- 839 0196 44E0 ldi r20,lo8(4)
- 840 0198 50E0 ldi r21,0
- 841 019a 60E0 ldi r22,lo8(.LC17)
- 842 019c 70E0 ldi r23,hi8(.LC17)
- 843 019e C301 movw r24,r6
- 844 01a0 0E94 0000 call strncasecmp
- 845 01a4 892B or r24,r25
- 846 01a6 01F4 brne .L89
- 847 01a8 C301 movw r24,r6
- 848 01aa 0E94 0000 call strdup
- 849 01ae 25E0 ldi r18,lo8(5)
- 850 01b0 30E0 ldi r19,0
- 851 01b2 A401 movw r20,r8
- 852 01b4 6AE3 ldi r22,lo8(58)
- 853 01b6 0E94 0000 call SsdpSplitWords
- 854 01ba 6D80 ldd r6,Y+5
- 855 01bc 7E80 ldd r7,Y+6
- 856 01be 60E0 ldi r22,lo8(.LC18)
- 857 01c0 70E0 ldi r23,hi8(.LC18)
- 858 01c2 C301 movw r24,r6
- 859 01c4 0E94 0000 call strcmp
- 860 01c8 892B or r24,r25
- 861 01ca 01F4 brne .L91
- 862 01cc 4F81 ldd r20,Y+7
- 863 01ce 5885 ldd r21,Y+8
- 864 01d0 6B81 ldd r22,Y+3
- 865 01d2 7C81 ldd r23,Y+4
- 866 01d4 9601 movw r18,r12
- 867 01d6 C701 movw r24,r14
- 868 01d8 0E94 0000 call CacheDevice
- 869 01dc 00C0 rjmp .L92
- 870 .L91:
- 871 01de 60E0 ldi r22,lo8(.LC8)
- 872 01e0 70E0 ldi r23,hi8(.LC8)
- 873 01e2 C301 movw r24,r6
- 874 01e4 0E94 0000 call strcmp
- 875 01e8 892B or r24,r25
- 876 01ea 01F4 brne .L92
- 877 01ec 4F81 ldd r20,Y+7
- 878 01ee 5885 ldd r21,Y+8
- 879 01f0 6B81 ldd r22,Y+3
- 880 01f2 7C81 ldd r23,Y+4
- 881 01f4 9601 movw r18,r12
- 882 01f6 C701 movw r24,r14
- 883 01f8 0E94 0000 call CacheService
- 884 .L92:
- 885 01fc 8981 ldd r24,Y+1
- 886 01fe 9A81 ldd r25,Y+2
- 887 0200 0E94 0000 call free
- 888 .L89:
- 889 0204 E12C mov r14,__zero_reg__
- 890 0206 F12C mov r15,__zero_reg__
- 891 0208 00C0 rjmp .L86
- GAS LISTING /tmp/ccbk85jl.s page 17
- 892 .L87:
- 893 020a C801 movw r24,r16
- 894 020c 0E94 0000 call HttpuSessionDestroy
- 895 0210 00C0 rjmp .L85
- 896 .L94:
- 897 0212 EE24 clr r14
- 898 0214 EA94 dec r14
- 899 0216 FE2C mov r15,r14
- 900 .L85:
- 901 0218 C701 movw r24,r14
- 902 /* epilogue start */
- 903 021a 2A96 adiw r28,10
- 904 021c 0FB6 in __tmp_reg__,__SREG__
- 905 021e F894 cli
- 906 0220 DEBF out __SP_H__,r29
- 907 0222 0FBE out __SREG__,__tmp_reg__
- 908 0224 CDBF out __SP_L__,r28
- 909 0226 DF91 pop r29
- 910 0228 CF91 pop r28
- 911 022a 1F91 pop r17
- 912 022c 0F91 pop r16
- 913 022e FF90 pop r15
- 914 0230 EF90 pop r14
- 915 0232 DF90 pop r13
- 916 0234 CF90 pop r12
- 917 0236 BF90 pop r11
- 918 0238 9F90 pop r9
- 919 023a 8F90 pop r8
- 920 023c 7F90 pop r7
- 921 023e 6F90 pop r6
- 922 0240 0895 ret
- 923 .size SsdpDiscoverDevices, .-SsdpDiscoverDevices
- 924 .section .rodata.str1.1
- 925 .LC19:
- 926 008d 7572 6E3A .string "urn:%s:service:%s:1"
- 926 2573 3A73
- 926 6572 7669
- 926 6365 3A25
- 926 733A 3100
- 927 .section .text.SsdpRegisterServiceObserver,"ax",@progbits
- 928 .global SsdpRegisterServiceObserver
- 929 .type SsdpRegisterServiceObserver, @function
- 930 SsdpRegisterServiceObserver:
- 931 0000 6F92 push r6
- 932 0002 7F92 push r7
- 933 0004 8F92 push r8
- 934 0006 9F92 push r9
- 935 0008 AF92 push r10
- 936 000a BF92 push r11
- 937 000c DF92 push r13
- 938 000e EF92 push r14
- 939 0010 FF92 push r15
- 940 0012 0F93 push r16
- 941 0014 1F93 push r17
- 942 0016 CF93 push r28
- 943 0018 DF93 push r29
- 944 /* prologue: function */
- GAS LISTING /tmp/ccbk85jl.s page 18
- 945 /* frame size = 0 */
- 946 /* stack size = 13 */
- 947 .L__stack_usage = 13
- 948 001a 4C01 movw r8,r24
- 949 001c 162F mov r17,r22
- 950 001e D72E mov r13,r23
- 951 0020 042F mov r16,r20
- 952 0022 F52E mov r15,r21
- 953 0024 E22E mov r14,r18
- 954 0026 88E0 ldi r24,lo8(8)
- 955 0028 90E0 ldi r25,0
- 956 002a 0E94 0000 call malloc
- 957 002e EC01 movw r28,r24
- 958 0030 892B or r24,r25
- 959 0032 01F4 brne .+2
- 960 0034 00C0 rjmp .L112
- 961 0036 812F mov r24,r17
- 962 0038 9D2D mov r25,r13
- 963 003a 0E94 0000 call strdup
- 964 003e 3C01 movw r6,r24
- 965 0040 9B83 std Y+3,r25
- 966 0042 8A83 std Y+2,r24
- 967 0044 802F mov r24,r16
- 968 0046 9F2D mov r25,r15
- 969 0048 0E94 0000 call strdup
- 970 004c 5C01 movw r10,r24
- 971 004e 9D83 std Y+5,r25
- 972 0050 8C83 std Y+4,r24
- 973 0052 6114 cp r6,__zero_reg__
- 974 0054 7104 cpc r7,__zero_reg__
- 975 0056 01F4 brne .+2
- 976 0058 00C0 rjmp .L101
- 977 005a 892B or r24,r25
- 978 005c 01F4 brne .+2
- 979 005e 00C0 rjmp .L101
- 980 0060 9F82 std Y+7,r9
- 981 0062 8E82 std Y+6,r8
- 982 0064 8091 0000 lds r24,ssdp_observer_root
- 983 0068 9091 0000 lds r25,ssdp_observer_root+1
- 984 006c 9983 std Y+1,r25
- 985 006e 8883 st Y,r24
- 986 0070 D093 0000 sts ssdp_observer_root+1,r29
- 987 0074 C093 0000 sts ssdp_observer_root,r28
- 988 0078 A12F mov r26,r17
- 989 007a BD2D mov r27,r13
- 990 007c FD01 movw r30,r26
- 991 0:
- 992 007e 0190 ld __tmp_reg__,Z+
- 993 0080 0020 tst __tmp_reg__
- 994 0082 01F4 brne 0b
- 995 0084 3197 sbiw r30,1
- 996 0086 CF01 movw r24,r30
- 997 0088 8A1B sub r24,r26
- 998 008a 9B0B sbc r25,r27
- 999 008c A02F mov r26,r16
- 1000 008e BF2D mov r27,r15
- 1001 0090 FD01 movw r30,r26
- GAS LISTING /tmp/ccbk85jl.s page 19
- 1002 0:
- 1003 0092 0190 ld __tmp_reg__,Z+
- 1004 0094 0020 tst __tmp_reg__
- 1005 0096 01F4 brne 0b
- 1006 0098 3197 sbiw r30,1
- 1007 009a EA1B sub r30,r26
- 1008 009c FB0B sbc r31,r27
- 1009 009e 8E0F add r24,r30
- 1010 00a0 9F1F adc r25,r31
- 1011 00a2 4096 adiw r24,16
- 1012 00a4 0E94 0000 call malloc
- 1013 00a8 EC01 movw r28,r24
- 1014 00aa 892B or r24,r25
- 1015 00ac 01F0 breq .L112
- 1016 00ae FF92 push r15
- 1017 00b0 0F93 push r16
- 1018 00b2 DF92 push r13
- 1019 00b4 1F93 push r17
- 1020 00b6 80E0 ldi r24,lo8(.LC19)
- 1021 00b8 90E0 ldi r25,hi8(.LC19)
- 1022 00ba 9F93 push r25
- 1023 00bc 8F93 push r24
- 1024 00be DF93 push r29
- 1025 00c0 CF93 push r28
- 1026 00c2 0E94 0000 call sprintf
- 1027 00c6 6E2D mov r22,r14
- 1028 00c8 CE01 movw r24,r28
- 1029 00ca 0E94 0000 call SsdpDiscoverDevices
- 1030 00ce 8C01 movw r16,r24
- 1031 00d0 CE01 movw r24,r28
- 1032 00d2 0E94 0000 call free
- 1033 00d6 8DB7 in r24,__SP_L__
- 1034 00d8 9EB7 in r25,__SP_H__
- 1035 00da 0896 adiw r24,8
- 1036 00dc 0FB6 in __tmp_reg__,__SREG__
- 1037 00de F894 cli
- 1038 00e0 9EBF out __SP_H__,r25
- 1039 00e2 0FBE out __SREG__,__tmp_reg__
- 1040 00e4 8DBF out __SP_L__,r24
- 1041 00e6 0115 cp r16,__zero_reg__
- 1042 00e8 1105 cpc r17,__zero_reg__
- 1043 00ea 01F4 brne .L100
- 1044 00ec 80E0 ldi r24,lo8(gs(NotificationListener))
- 1045 00ee 90E0 ldi r25,hi8(gs(NotificationListener))
- 1046 /* epilogue start */
- 1047 00f0 DF91 pop r29
- 1048 00f2 CF91 pop r28
- 1049 00f4 1F91 pop r17
- 1050 00f6 0F91 pop r16
- 1051 00f8 FF90 pop r15
- 1052 00fa EF90 pop r14
- 1053 00fc DF90 pop r13
- 1054 00fe BF90 pop r11
- 1055 0100 AF90 pop r10
- 1056 0102 9F90 pop r9
- 1057 0104 8F90 pop r8
- 1058 0106 7F90 pop r7
- GAS LISTING /tmp/ccbk85jl.s page 20
- 1059 0108 6F90 pop r6
- 1060 010a 0C94 0000 jmp SsdpRegisterListener
- 1061 .L101:
- 1062 010e C301 movw r24,r6
- 1063 0110 0E94 0000 call free
- 1064 0114 C501 movw r24,r10
- 1065 0116 0E94 0000 call free
- 1066 011a CE01 movw r24,r28
- 1067 011c 0E94 0000 call free
- 1068 .L112:
- 1069 0120 0FEF ldi r16,lo8(-1)
- 1070 0122 1FEF ldi r17,lo8(-1)
- 1071 .L100:
- 1072 0124 C801 movw r24,r16
- 1073 /* epilogue start */
- 1074 0126 DF91 pop r29
- 1075 0128 CF91 pop r28
- 1076 012a 1F91 pop r17
- 1077 012c 0F91 pop r16
- 1078 012e FF90 pop r15
- 1079 0130 EF90 pop r14
- 1080 0132 DF90 pop r13
- 1081 0134 BF90 pop r11
- 1082 0136 AF90 pop r10
- 1083 0138 9F90 pop r9
- 1084 013a 8F90 pop r8
- 1085 013c 7F90 pop r7
- 1086 013e 6F90 pop r6
- 1087 0140 0895 ret
- 1088 .size SsdpRegisterServiceObserver, .-SsdpRegisterServiceObserver
- 1089 .local uuid.2973
- 1090 .comm uuid.2973,2,1
- 1091 .local ssdp_observer_root
- 1092 .comm ssdp_observer_root,2,1
- 1093 .local ssdp_device_cache
- 1094 .comm ssdp_device_cache,2,1
- 1095 .ident "GCC: (GNU) 5.3.0"
- 1096 .global __do_copy_data
- 1097 .global __do_clear_bss
- GAS LISTING /tmp/ccbk85jl.s page 21
- DEFINED SYMBOLS
- *ABS*:0000000000000000 ssdpc.c
- /tmp/ccbk85jl.s:2 *ABS*:000000000000003e __SP_H__
- /tmp/ccbk85jl.s:3 *ABS*:000000000000003d __SP_L__
- /tmp/ccbk85jl.s:4 *ABS*:000000000000003f __SREG__
- /tmp/ccbk85jl.s:5 *ABS*:000000000000003b __RAMPZ__
- /tmp/ccbk85jl.s:6 *ABS*:0000000000000000 __tmp_reg__
- /tmp/ccbk85jl.s:7 *ABS*:0000000000000001 __zero_reg__
- /tmp/ccbk85jl.s:10 .text.CallObservers:0000000000000000 CallObservers
- /tmp/ccbk85jl.s:1090 .bss:0000000000000002 ssdp_observer_root
- /tmp/ccbk85jl.s:76 .text.SsdpUuidFromHeader:0000000000000000 SsdpUuidFromHeader
- .bss:0000000000000000 uuid.2973
- /tmp/ccbk85jl.s:161 .text.CacheDevice:0000000000000000 CacheDevice
- /tmp/ccbk85jl.s:1092 .bss:0000000000000004 ssdp_device_cache
- /tmp/ccbk85jl.s:286 .text.CacheService:0000000000000000 CacheService
- /tmp/ccbk85jl.s:393 .text.NotificationListener:0000000000000000 NotificationListener
- /tmp/ccbk85jl.s:644 .text.SsdpDiscoverDevices:0000000000000000 SsdpDiscoverDevices
- /tmp/ccbk85jl.s:930 .text.SsdpRegisterServiceObserver:0000000000000000 SsdpRegisterServiceObserver
- UNDEFINED SYMBOLS
- strcmp
- free
- HttpuGetHeader
- ct_uuid_
- strncmp
- strchr
- malloc
- memcpy
- strdup
- calloc
- atoi
- SsdpSplitWords
- HttpuSessionCreate
- HttpuAddHeader
- ct_239_255_255_250
- sprintf
- inet_addr
- HttpuSend
- HttpuReceive
- ct_upnp_rootdevice
- strcasecmp
- strncasecmp
- HttpuSessionDestroy
- SsdpRegisterListener
- __do_copy_data
- __do_clear_bss
|