GAS LISTING /tmp/ccOKKvfw.s page 1 1 .file "soapc.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.ReadUntilChars.constprop.2,"ax",@progbits 9 .type ReadUntilChars.constprop.2, @function 10 ReadUntilChars.constprop.2: 11 0000 7F92 push r7 12 0002 8F92 push r8 13 0004 9F92 push r9 14 0006 AF92 push r10 15 0008 BF92 push r11 16 000a CF92 push r12 17 000c DF92 push r13 18 000e EF92 push r14 19 0010 FF92 push r15 20 0012 0F93 push r16 21 0014 1F93 push r17 22 0016 CF93 push r28 23 0018 DF93 push r29 24 /* prologue: function */ 25 /* frame size = 0 */ 26 /* stack size = 13 */ 27 .L__stack_usage = 13 28 001a 4C01 movw r8,r24 29 001c 6B01 movw r12,r22 30 001e EA01 movw r28,r20 31 0020 5901 movw r10,r18 32 0022 E12C mov r14,__zero_reg__ 33 0024 F12C mov r15,__zero_reg__ 34 0026 00E0 ldi r16,0 35 0028 10E0 ldi r17,0 36 .L2: 37 002a 0A15 cp r16,r10 38 002c 1B05 cpc r17,r11 39 002e 04F4 brge .L6 40 0030 C401 movw r24,r8 41 0032 0E94 0000 call fgetc 42 0036 782E mov r7,r24 43 0038 0115 cp r16,__zero_reg__ 44 003a 1105 cpc r17,__zero_reg__ 45 003c 01F4 brne .L3 46 003e 80E2 ldi r24,lo8(32) 47 0040 7812 cpse r7,r24 48 0042 00C0 rjmp .L3 49 0044 8FEF ldi r24,-1 50 0046 E81A sub r14,r24 51 0048 F80A sbc r15,r24 52 004a 00C0 rjmp .L2 53 .L3: 54 004c 0F5F subi r16,-1 55 004e 1F4F sbci r17,-1 56 0050 C114 cp r12,__zero_reg__ 57 0052 D104 cpc r13,__zero_reg__ GAS LISTING /tmp/ccOKKvfw.s page 2 58 0054 01F0 breq .L5 59 0056 672D mov r22,r7 60 0058 072C mov __tmp_reg__,r7 61 005a 000C lsl r0 62 005c 770B sbc r23,r23 63 005e C601 movw r24,r12 64 0060 0E94 0000 call strchr 65 0064 892B or r24,r25 66 0066 01F4 brne .L6 67 .L5: 68 0068 2097 sbiw r28,0 69 006a 01F0 breq .L2 70 006c 7882 st Y,r7 71 006e 2196 adiw r28,1 72 0070 00C0 rjmp .L2 73 .L6: 74 0072 2097 sbiw r28,0 75 0074 01F0 breq .L8 76 0076 1882 st Y,__zero_reg__ 77 .L8: 78 0078 C701 movw r24,r14 79 007a 800F add r24,r16 80 007c 911F adc r25,r17 81 /* epilogue start */ 82 007e DF91 pop r29 83 0080 CF91 pop r28 84 0082 1F91 pop r17 85 0084 0F91 pop r16 86 0086 FF90 pop r15 87 0088 EF90 pop r14 88 008a DF90 pop r13 89 008c CF90 pop r12 90 008e BF90 pop r11 91 0090 AF90 pop r10 92 0092 9F90 pop r9 93 0094 8F90 pop r8 94 0096 7F90 pop r7 95 0098 0895 ret 96 .size ReadUntilChars.constprop.2, .-ReadUntilChars.constprop.2 97 .section .rodata.str1.1,"aMS",@progbits,1 98 .LC0: 99 0000 3C3F 786D .string "\r\n\r\n" 101 7320 786D 101 6C6E 733A 101 753D 2275 101 726E 3A25 102 .LC2: 103 00cb 3C25 733E .string "<%s>%s\r\n" 103 2573 3C2F 103 2573 3E0D 103 0A00 GAS LISTING /tmp/ccOKKvfw.s page 3 104 .LC3: 105 00d9 3C25 7320 .string "<%s />\r\n" 105 2F3E 0D0A 105 00 106 .LC4: 107 00e2 3C2F 753A .string "\r\n" 107 2573 3E0D 107 0A00 108 .LC5: 109 00ec 3C2F 733A .string "\r\n\r\n" 109 426F 6479 109 3E0D 0A3C 109 2F73 3A45 109 6E76 656C 110 .LC6: 111 0107 504F 5354 .string "POST %s HTTP/1.1\r\n" 111 2025 7320 111 4854 5450 111 2F31 2E31 111 0D0A 00 112 .LC7: 113 011a 484F 5354 .string "HOST: %s:%s\r\n" 113 3A20 2573 113 3A25 730D 113 0A00 114 .LC8: 115 0128 436F 6E74 .string "Content-Type: text/xml; charset=\"utf-8\"\r\n" 115 656E 742D 115 5479 7065 115 3A20 7465 115 7874 2F78 116 .LC9: 117 0152 534F 4150 .string "SOAPACTION: \"urn:%s#%s\"\r\n" 117 4143 5449 117 4F4E 3A20 117 2275 726E 117 3A25 7323 118 .LC10: 119 016c 436F 6E74 .string "Content-Length: %d\r\n\r\n" 119 656E 742D 119 4C65 6E67 119 7468 3A20 119 2564 0D0A 120 .LC11: 121 0183 434F 4E54 .string "CONTENT-LENGTH" 121 454E 542D 121 4C45 4E47 121 5448 00 122 .LC12: 123 0192 3C00 .string "<" 124 .LC13: 125 0194 3E00 .string ">" 126 .LC14: 127 0196 456E 7665 .string "Envelope" 127 6C6F 7065 127 00 128 .LC15: GAS LISTING /tmp/ccOKKvfw.s page 4 129 019f 426F 6479 .string "Body" 129 00 130 .section .text.SoapProcCallResource,"ax",@progbits 131 .global SoapProcCallResource 132 .type SoapProcCallResource, @function 133 SoapProcCallResource: 134 0000 2F92 push r2 135 0002 3F92 push r3 136 0004 4F92 push r4 137 0006 5F92 push r5 138 0008 6F92 push r6 139 000a 7F92 push r7 140 000c 8F92 push r8 141 000e 9F92 push r9 142 0010 AF92 push r10 143 0012 BF92 push r11 144 0014 CF92 push r12 145 0016 DF92 push r13 146 0018 EF92 push r14 147 001a FF92 push r15 148 001c 0F93 push r16 149 001e 1F93 push r17 150 0020 CF93 push r28 151 0022 DF93 push r29 152 0024 CDB7 in r28,__SP_L__ 153 0026 DEB7 in r29,__SP_H__ 154 0028 2A97 sbiw r28,10 155 002a 0FB6 in __tmp_reg__,__SREG__ 156 002c F894 cli 157 002e DEBF out __SP_H__,r29 158 0030 0FBE out __SREG__,__tmp_reg__ 159 0032 CDBF out __SP_L__,r28 160 /* prologue: function */ 161 /* frame size = 10 */ 162 /* stack size = 28 */ 163 .L__stack_usage = 28 164 0034 9A83 std Y+2,r25 165 0036 8983 std Y+1,r24 166 0038 4B83 std Y+3,r20 167 003a 5F83 std Y+7,r21 168 003c 6901 movw r12,r18 169 003e CB01 movw r24,r22 170 0040 0796 adiw r24,7 171 0042 0E94 0000 call UriSchemeSplit 172 0046 2C01 movw r4,r24 173 0048 892B or r24,r25 174 004a 01F4 brne .+2 175 004c 00C0 rjmp .L70 176 004e 0E94 0000 call NutTcpCreateSocket 177 0052 9E83 std Y+6,r25 178 0054 8D83 std Y+5,r24 179 0056 0097 sbiw r24,0 180 0058 01F4 brne .+2 181 005a 00C0 rjmp .L71 182 005c D201 movw r26,r4 183 005e 1E96 adiw r26,14 184 0060 4D91 ld r20,X+ GAS LISTING /tmp/ccOKKvfw.s page 5 185 0062 5C91 ld r21,X 186 0064 1F97 sbiw r26,14+1 187 0066 1896 adiw r26,8 188 0068 6D91 ld r22,X+ 189 006a 7C91 ld r23,X 190 006c 1997 sbiw r26,8+1 191 006e 9801 movw r18,r16 192 0070 8701 movw r16,r14 193 0072 0E94 0000 call TcpHostConnectStream 194 0076 1C01 movw r2,r24 195 0078 892B or r24,r25 196 007a 01F4 brne .+2 197 007c 00C0 rjmp .L72 198 007e 80E0 ldi r24,0 199 0080 98E0 ldi r25,lo8(8) 200 0082 0E94 0000 call malloc 201 0086 7C01 movw r14,r24 202 0088 0097 sbiw r24,0 203 008a 01F4 brne .L23 204 .L30: 205 008c 0FEF ldi r16,lo8(-1) 206 008e 1FEF ldi r17,lo8(-1) 207 0090 00C0 rjmp .L24 208 .L23: 209 0092 60E0 ldi r22,lo8(.LC0) 210 0094 70E0 ldi r23,hi8(.LC0) 211 0096 0E94 0000 call strcpy 212 009a F701 movw r30,r14 213 0: 214 009c 0190 ld __tmp_reg__,Z+ 215 009e 0020 tst __tmp_reg__ 216 00a0 01F4 brne 0b 217 00a2 3197 sbiw r30,1 218 00a4 8F01 movw r16,r30 219 00a6 0E19 sub r16,r14 220 00a8 1F09 sbc r17,r15 221 00aa 5701 movw r10,r14 222 00ac A00E add r10,r16 223 00ae B11E adc r11,r17 224 00b0 DF92 push r13 225 00b2 CF92 push r12 226 00b4 E981 ldd r30,Y+1 227 00b6 FA81 ldd r31,Y+2 228 00b8 8381 ldd r24,Z+3 229 00ba 8F93 push r24 230 00bc 8281 ldd r24,Z+2 231 00be 8F93 push r24 232 00c0 80E0 ldi r24,lo8(.LC1) 233 00c2 90E0 ldi r25,hi8(.LC1) 234 00c4 9F93 push r25 235 00c6 8F93 push r24 236 00c8 BF92 push r11 237 00ca AF92 push r10 238 00cc 0E94 0000 call sprintf 239 00d0 F501 movw r30,r10 240 0: 241 00d2 0190 ld __tmp_reg__,Z+ GAS LISTING /tmp/ccOKKvfw.s page 6 242 00d4 0020 tst __tmp_reg__ 243 00d6 01F4 brne 0b 244 00d8 3197 sbiw r30,1 245 00da EA19 sub r30,r10 246 00dc FB09 sbc r31,r11 247 00de 9F01 movw r18,r30 248 00e0 200F add r18,r16 249 00e2 311F adc r19,r17 250 00e4 3A87 std Y+10,r19 251 00e6 2987 std Y+9,r18 252 00e8 A981 ldd r26,Y+1 253 00ea BA81 ldd r27,Y+2 254 00ec 1496 adiw r26,4 255 00ee 6D90 ld r6,X+ 256 00f0 7C90 ld r7,X 257 00f2 1597 sbiw r26,4+1 258 00f4 0FB6 in __tmp_reg__,__SREG__ 259 00f6 F894 cli 260 00f8 DEBF out __SP_H__,r29 261 00fa 0FBE out __SREG__,__tmp_reg__ 262 00fc CDBF out __SP_L__,r28 263 00fe 20E0 ldi r18,lo8(.LC3) 264 0100 A22E mov r10,r18 265 0102 20E0 ldi r18,hi8(.LC3) 266 0104 B22E mov r11,r18 267 0106 30E0 ldi r19,lo8(.LC2) 268 0108 832E mov r8,r19 269 010a 30E0 ldi r19,hi8(.LC2) 270 010c 932E mov r9,r19 271 .L25: 272 010e 0985 ldd r16,Y+9 273 0110 1A85 ldd r17,Y+10 274 0112 0E0D add r16,r14 275 0114 1F1D adc r17,r15 276 0116 6114 cp r6,__zero_reg__ 277 0118 7104 cpc r7,__zero_reg__ 278 011a 01F0 breq .L121 279 011c D301 movw r26,r6 280 011e 1496 adiw r26,4 281 0120 2D91 ld r18,X+ 282 0122 3C91 ld r19,X 283 0124 1597 sbiw r26,4+1 284 0126 1296 adiw r26,2 285 0128 8C91 ld r24,X 286 012a 1297 sbiw r26,2 287 012c 1396 adiw r26,3 288 012e 9C91 ld r25,X 289 0130 2115 cp r18,__zero_reg__ 290 0132 3105 cpc r19,__zero_reg__ 291 0134 01F0 breq .L26 292 0136 9F93 push r25 293 0138 8F93 push r24 294 013a 3F93 push r19 295 013c 2F93 push r18 296 013e 9F93 push r25 297 0140 8F93 push r24 298 0142 9F92 push r9 GAS LISTING /tmp/ccOKKvfw.s page 7 299 0144 8F92 push r8 300 0146 1F93 push r17 301 0148 0F93 push r16 302 014a 0E94 0000 call sprintf 303 014e 0FB6 in __tmp_reg__,__SREG__ 304 0150 F894 cli 305 0152 DEBF out __SP_H__,r29 306 0154 0FBE out __SREG__,__tmp_reg__ 307 0156 CDBF out __SP_L__,r28 308 0158 00C0 rjmp .L27 309 .L26: 310 015a 9F93 push r25 311 015c 8F93 push r24 312 015e BF92 push r11 313 0160 AF92 push r10 314 0162 1F93 push r17 315 0164 0F93 push r16 316 0166 0E94 0000 call sprintf 317 016a 0F90 pop __tmp_reg__ 318 016c 0F90 pop __tmp_reg__ 319 016e 0F90 pop __tmp_reg__ 320 0170 0F90 pop __tmp_reg__ 321 0172 0F90 pop __tmp_reg__ 322 0174 0F90 pop __tmp_reg__ 323 .L27: 324 0176 F801 movw r30,r16 325 0: 326 0178 0190 ld __tmp_reg__,Z+ 327 017a 0020 tst __tmp_reg__ 328 017c 01F4 brne 0b 329 017e 3197 sbiw r30,1 330 0180 E01B sub r30,r16 331 0182 F10B sbc r31,r17 332 0184 2985 ldd r18,Y+9 333 0186 3A85 ldd r19,Y+10 334 0188 2E0F add r18,r30 335 018a 3F1F adc r19,r31 336 018c 3A87 std Y+10,r19 337 018e 2987 std Y+9,r18 338 0190 D301 movw r26,r6 339 0192 6D90 ld r6,X+ 340 0194 7C90 ld r7,X 341 0196 00C0 rjmp .L25 342 .L121: 343 0198 E981 ldd r30,Y+1 344 019a FA81 ldd r31,Y+2 345 019c 8381 ldd r24,Z+3 346 019e 8F93 push r24 347 01a0 8281 ldd r24,Z+2 348 01a2 8F93 push r24 349 01a4 80E0 ldi r24,lo8(.LC4) 350 01a6 90E0 ldi r25,hi8(.LC4) 351 01a8 9F93 push r25 352 01aa 8F93 push r24 353 01ac 1F93 push r17 354 01ae 0F93 push r16 355 01b0 0E94 0000 call sprintf GAS LISTING /tmp/ccOKKvfw.s page 8 356 01b4 F801 movw r30,r16 357 0: 358 01b6 0190 ld __tmp_reg__,Z+ 359 01b8 0020 tst __tmp_reg__ 360 01ba 01F4 brne 0b 361 01bc 3197 sbiw r30,1 362 01be E01B sub r30,r16 363 01c0 F10B sbc r31,r17 364 01c2 A984 ldd r10,Y+9 365 01c4 BA84 ldd r11,Y+10 366 01c6 AE0E add r10,r30 367 01c8 BF1E adc r11,r31 368 01ca 8701 movw r16,r14 369 01cc 0A0D add r16,r10 370 01ce 1B1D adc r17,r11 371 01d0 60E0 ldi r22,lo8(.LC5) 372 01d2 70E0 ldi r23,hi8(.LC5) 373 01d4 C801 movw r24,r16 374 01d6 0E94 0000 call strcpy 375 01da F801 movw r30,r16 376 0: 377 01dc 0190 ld __tmp_reg__,Z+ 378 01de 0020 tst __tmp_reg__ 379 01e0 01F4 brne 0b 380 01e2 3197 sbiw r30,1 381 01e4 E01B sub r30,r16 382 01e6 F10B sbc r31,r17 383 01e8 AE0E add r10,r30 384 01ea BF1E adc r11,r31 385 01ec FF81 ldd r31,Y+7 386 01ee FF93 push r31 387 01f0 2B81 ldd r18,Y+3 388 01f2 2F93 push r18 389 01f4 80E0 ldi r24,lo8(.LC6) 390 01f6 90E0 ldi r25,hi8(.LC6) 391 01f8 9F93 push r25 392 01fa 8F93 push r24 393 01fc 3F92 push r3 394 01fe 2F92 push r2 395 0200 0E94 0000 call fprintf 396 0204 D201 movw r26,r4 397 0206 1B96 adiw r26,11 398 0208 8C91 ld r24,X 399 020a 1B97 sbiw r26,11 400 020c 8F93 push r24 401 020e 1A96 adiw r26,10 402 0210 8C91 ld r24,X 403 0212 1A97 sbiw r26,10 404 0214 8F93 push r24 405 0216 1996 adiw r26,9 406 0218 8C91 ld r24,X 407 021a 1997 sbiw r26,9 408 021c 8F93 push r24 409 021e 1896 adiw r26,8 410 0220 8C91 ld r24,X 411 0222 8F93 push r24 412 0224 80E0 ldi r24,lo8(.LC7) GAS LISTING /tmp/ccOKKvfw.s page 9 413 0226 90E0 ldi r25,hi8(.LC7) 414 0228 9F93 push r25 415 022a 8F93 push r24 416 022c 3F92 push r3 417 022e 2F92 push r2 418 0230 0E94 0000 call fprintf 419 0234 B101 movw r22,r2 420 0236 80E0 ldi r24,lo8(.LC8) 421 0238 90E0 ldi r25,hi8(.LC8) 422 023a 0E94 0000 call fputs 423 023e 0FB6 in __tmp_reg__,__SREG__ 424 0240 F894 cli 425 0242 DEBF out __SP_H__,r29 426 0244 0FBE out __SREG__,__tmp_reg__ 427 0246 CDBF out __SP_L__,r28 428 0248 C114 cp r12,__zero_reg__ 429 024a D104 cpc r13,__zero_reg__ 430 024c 01F0 breq .L29 431 024e A981 ldd r26,Y+1 432 0250 BA81 ldd r27,Y+2 433 0252 1396 adiw r26,3 434 0254 8C91 ld r24,X 435 0256 1397 sbiw r26,3 436 0258 8F93 push r24 437 025a 1296 adiw r26,2 438 025c 8C91 ld r24,X 439 025e 8F93 push r24 440 0260 DF92 push r13 441 0262 CF92 push r12 442 0264 80E0 ldi r24,lo8(.LC9) 443 0266 90E0 ldi r25,hi8(.LC9) 444 0268 9F93 push r25 445 026a 8F93 push r24 446 026c 3F92 push r3 447 026e 2F92 push r2 448 0270 0E94 0000 call fprintf 449 0274 0FB6 in __tmp_reg__,__SREG__ 450 0276 F894 cli 451 0278 DEBF out __SP_H__,r29 452 027a 0FBE out __SREG__,__tmp_reg__ 453 027c CDBF out __SP_L__,r28 454 .L29: 455 027e BF92 push r11 456 0280 AF92 push r10 457 0282 80E0 ldi r24,lo8(.LC10) 458 0284 90E0 ldi r25,hi8(.LC10) 459 0286 9F93 push r25 460 0288 8F93 push r24 461 028a 3F92 push r3 462 028c 2F92 push r2 463 028e 0E94 0000 call fprintf 464 0292 B101 movw r22,r2 465 0294 C701 movw r24,r14 466 0296 0E94 0000 call fputs 467 029a C701 movw r24,r14 468 029c 0E94 0000 call free 469 02a0 C101 movw r24,r2 GAS LISTING /tmp/ccOKKvfw.s page 10 470 02a2 0E94 0000 call fflush 471 02a6 0F90 pop __tmp_reg__ 472 02a8 0F90 pop __tmp_reg__ 473 02aa 0F90 pop __tmp_reg__ 474 02ac 0F90 pop __tmp_reg__ 475 02ae 0F90 pop __tmp_reg__ 476 02b0 0F90 pop __tmp_reg__ 477 02b2 892B or r24,r25 478 02b4 01F0 breq .+2 479 02b6 00C0 rjmp .L30 480 02b8 80E0 ldi r24,0 481 02ba 91E0 ldi r25,lo8(1) 482 02bc 0E94 0000 call malloc 483 02c0 6C01 movw r12,r24 484 02c2 0097 sbiw r24,0 485 02c4 01F4 brne .+2 486 02c6 00C0 rjmp .L30 487 02c8 A101 movw r20,r2 488 02ca 60E0 ldi r22,0 489 02cc 71E0 ldi r23,lo8(1) 490 02ce 0E94 0000 call fgets 491 02d2 892B or r24,r25 492 02d4 01F4 brne .L31 493 .L33: 494 02d6 0FEF ldi r16,lo8(-1) 495 02d8 1FEF ldi r17,lo8(-1) 496 02da 00C0 rjmp .L32 497 .L31: 498 02dc C601 movw r24,r12 499 02de 0996 adiw r24,9 500 02e0 0E94 0000 call atoi 501 02e4 883C cpi r24,-56 502 02e6 9105 cpc r25,__zero_reg__ 503 02e8 01F4 brne .L33 504 02ea 00E0 ldi r16,0 505 02ec 10E0 ldi r17,0 506 .L34: 507 02ee A101 movw r20,r2 508 02f0 60E0 ldi r22,0 509 02f2 71E0 ldi r23,lo8(1) 510 02f4 C601 movw r24,r12 511 02f6 0E94 0000 call fgets 512 02fa 892B or r24,r25 513 02fc 01F0 breq .L35 514 02fe 6AE3 ldi r22,lo8(58) 515 0300 70E0 ldi r23,0 516 0302 C601 movw r24,r12 517 0304 0E94 0000 call strchr 518 0308 7C01 movw r14,r24 519 030a 0097 sbiw r24,0 520 030c 01F0 breq .L35 521 030e DC01 movw r26,r24 522 0310 1C92 st X,__zero_reg__ 523 0312 60E0 ldi r22,lo8(.LC11) 524 0314 70E0 ldi r23,hi8(.LC11) 525 0316 C601 movw r24,r12 526 0318 0E94 0000 call strcasecmp GAS LISTING /tmp/ccOKKvfw.s page 11 527 031c 892B or r24,r25 528 031e 01F4 brne .L34 529 0320 C701 movw r24,r14 530 0322 0196 adiw r24,1 531 0324 0E94 0000 call atoi 532 0328 8C01 movw r16,r24 533 032a 00C0 rjmp .L34 534 .L35: 535 032c 86EB ldi r24,lo8(-74) 536 032e 90E0 ldi r25,0 537 0330 0E94 0000 call malloc 538 0334 9A87 std Y+10,r25 539 0336 8987 std Y+9,r24 540 0338 0031 cpi r16,16 541 033a 1105 cpc r17,__zero_reg__ 542 033c 04F0 brlt .L33 543 033e 0097 sbiw r24,0 544 0340 01F0 breq .L33 545 0342 812C mov r8,__zero_reg__ 546 0344 912C mov r9,__zero_reg__ 547 0346 E12C mov r14,__zero_reg__ 548 0348 F12C mov r15,__zero_reg__ 549 034a 3C01 movw r6,r24 550 034c B5E3 ldi r27,53 551 034e 6B0E add r6,r27 552 0350 711C adc r7,__zero_reg__ 553 0352 C696 adiw r24,54 554 0354 9C83 std Y+4,r25 555 0356 8B83 std Y+3,r24 556 0358 E985 ldd r30,Y+9 557 035a FA85 ldd r31,Y+10 558 035c F796 adiw r30,55 559 035e F887 std Y+8,r31 560 0360 EF83 std Y+7,r30 561 .L67: 562 0362 5301 movw r10,r6 563 0364 9801 movw r18,r16 564 0366 0138 cpi r16,-127 565 0368 1105 cpc r17,__zero_reg__ 566 036a 04F0 brlt .L37 567 036c 20E8 ldi r18,lo8(-128) 568 036e 30E0 ldi r19,0 569 .L37: 570 0370 A301 movw r20,r6 571 0372 60E0 ldi r22,lo8(.LC12) 572 0374 70E0 ldi r23,hi8(.LC12) 573 0376 C101 movw r24,r2 574 0378 0E94 0000 call ReadUntilChars.constprop.2 575 037c 081B sub r16,r24 576 037e 190B sbc r17,r25 577 0380 1816 cp __zero_reg__,r24 578 0382 1906 cpc __zero_reg__,r25 579 0384 04F0 brlt .L38 580 .L39: 581 0386 8985 ldd r24,Y+9 582 0388 9A85 ldd r25,Y+10 583 038a 0E94 0000 call free GAS LISTING /tmp/ccOKKvfw.s page 12 584 038e 00E0 ldi r16,0 585 0390 10E0 ldi r17,0 586 0392 00C0 rjmp .L32 587 .L38: 588 0394 0530 cpi r16,5 589 0396 1105 cpc r17,__zero_reg__ 590 0398 04F0 brlt .L39 591 039a E985 ldd r30,Y+9 592 039c FA85 ldd r31,Y+10 593 039e E80F add r30,r24 594 03a0 F91F adc r31,r25 595 03a2 15AA std Z+53,__zero_reg__ 596 03a4 E114 cp r14,__zero_reg__ 597 03a6 F104 cpc r15,__zero_reg__ 598 03a8 01F0 breq .L40 599 03aa D701 movw r26,r14 600 03ac 1496 adiw r26,4 601 03ae 8D91 ld r24,X+ 602 03b0 9C91 ld r25,X 603 03b2 1597 sbiw r26,4+1 604 03b4 0E94 0000 call free 605 03b8 C301 movw r24,r6 606 03ba 0E94 0000 call strdup 607 03be F701 movw r30,r14 608 03c0 9583 std Z+5,r25 609 03c2 8483 std Z+4,r24 610 .L40: 611 03c4 A985 ldd r26,Y+9 612 03c6 BA85 ldd r27,Y+10 613 03c8 E6EB ldi r30,lo8(-74) 614 0: 615 03ca 1D92 st X+,__zero_reg__ 616 03cc EA95 dec r30 617 03ce 01F4 brne 0b 618 03d0 9801 movw r18,r16 619 03d2 0138 cpi r16,-127 620 03d4 1105 cpc r17,__zero_reg__ 621 03d6 04F0 brlt .L41 622 03d8 20E8 ldi r18,lo8(-128) 623 03da 30E0 ldi r19,0 624 .L41: 625 03dc A301 movw r20,r6 626 03de 60E0 ldi r22,lo8(.LC13) 627 03e0 70E0 ldi r23,hi8(.LC13) 628 03e2 C101 movw r24,r2 629 03e4 0E94 0000 call ReadUntilChars.constprop.2 630 03e8 BC01 movw r22,r24 631 03ea 1816 cp __zero_reg__,r24 632 03ec 1906 cpc __zero_reg__,r25 633 03ee 04F4 brge .L39 634 03f0 A985 ldd r26,Y+9 635 03f2 BA85 ldd r27,Y+10 636 03f4 D596 adiw r26,53 637 03f6 8C91 ld r24,X 638 03f8 D597 sbiw r26,53 639 03fa 8F32 cpi r24,lo8(47) 640 03fc 01F4 brne .L42 GAS LISTING /tmp/ccOKKvfw.s page 13 641 03fe AB80 ldd r10,Y+3 642 0400 BC80 ldd r11,Y+4 643 0402 E0E8 ldi r30,lo8(-128) 644 0404 EC93 st X,r30 645 .L42: 646 0406 A985 ldd r26,Y+9 647 0408 BA85 ldd r27,Y+10 648 040a 1396 adiw r26,3 649 040c AC92 st X,r10 650 040e 1397 sbiw r26,3 651 0410 1496 adiw r26,4 652 0412 BC92 st X,r11 653 0414 C501 movw r24,r10 654 .L43: 655 0416 FC01 movw r30,r24 656 0418 2081 ld r18,Z 657 041a 0196 adiw r24,1 658 041c 322F mov r19,r18 659 041e 3F7D andi r19,lo8(-33) 660 0420 01F0 breq .L122 661 0422 2A33 cpi r18,lo8(58) 662 0424 01F4 brne .L43 663 0426 FC01 movw r30,r24 664 0428 3197 sbiw r30,1 665 042a 1082 st Z,__zero_reg__ 666 042c E985 ldd r30,Y+9 667 042e FA85 ldd r31,Y+10 668 0430 2381 ldd r18,Z+3 669 0432 3481 ldd r19,Z+4 670 0434 3283 std Z+2,r19 671 0436 2183 std Z+1,r18 672 0438 9483 std Z+4,r25 673 043a 8383 std Z+3,r24 674 043c 00C0 rjmp .L43 675 .L122: 676 043e A985 ldd r26,Y+9 677 0440 BA85 ldd r27,Y+10 678 0442 8C91 ld r24,X 679 0444 8111 cpse r24,__zero_reg__ 680 0446 00C0 rjmp .L46 681 0448 CD01 movw r24,r26 682 044a 0796 adiw r24,7 683 .L47: 684 044c 2081 ld r18,Z 685 044e 2223 tst r18 686 0450 01F4 brne .+2 687 0452 00C0 rjmp .L46 688 0454 2F81 ldd r18,Y+7 689 0456 3885 ldd r19,Y+8 690 0458 8217 cp r24,r18 691 045a 9307 cpc r25,r19 692 045c 01F4 brne .+2 693 045e 00C0 rjmp .L46 694 0460 DF01 movw r26,r30 695 0462 1D92 st X+,__zero_reg__ 696 .L48: 697 0464 FD01 movw r30,r26 GAS LISTING /tmp/ccOKKvfw.s page 14 698 0466 2191 ld r18,Z+ 699 0468 2032 cpi r18,lo8(32) 700 046a 01F4 brne .L123 701 046c DF01 movw r26,r30 702 046e 00C0 rjmp .L48 703 .L123: 704 0470 2F32 cpi r18,lo8(47) 705 0472 01F4 brne .L49 706 0474 1196 adiw r26,1 707 0476 2C91 ld r18,X 708 0478 1197 sbiw r26,1 709 047a 2111 cpse r18,__zero_reg__ 710 047c 00C0 rjmp .L49 711 047e 20E4 ldi r18,lo8(64) 712 0480 E985 ldd r30,Y+9 713 0482 FA85 ldd r31,Y+10 714 0484 2083 st Z,r18 715 0486 00C0 rjmp .L46 716 .L49: 717 0488 FC01 movw r30,r24 718 048a B183 std Z+1,r27 719 048c A083 st Z,r26 720 048e 9C01 movw r18,r24 721 0490 2250 subi r18,2 722 0492 3109 sbc r19,__zero_reg__ 723 .L51: 724 0494 FD01 movw r30,r26 725 0496 4081 ld r20,Z 726 0498 1196 adiw r26,1 727 049a 4423 tst r20 728 049c 01F0 breq .L53 729 049e 4D33 cpi r20,lo8(61) 730 04a0 01F0 breq .L124 731 04a2 4A33 cpi r20,lo8(58) 732 04a4 01F4 brne .L51 733 04a6 FD01 movw r30,r26 734 04a8 3197 sbiw r30,1 735 04aa 1082 st Z,__zero_reg__ 736 04ac FC01 movw r30,r24 737 04ae 4081 ld r20,Z 738 04b0 5181 ldd r21,Z+1 739 04b2 F901 movw r30,r18 740 04b4 5183 std Z+1,r21 741 04b6 4083 st Z,r20 742 04b8 FC01 movw r30,r24 743 04ba B183 std Z+1,r27 744 04bc A083 st Z,r26 745 04be 00C0 rjmp .L51 746 .L59: 747 04c0 2232 cpi r18,lo8(34) 748 04c2 01F4 brne .L56 749 04c4 3232 cpi r19,lo8(34) 750 04c6 01F0 breq .L57 751 .L69: 752 04c8 FD01 movw r30,r26 753 04ca 3D91 ld r19,X+ 754 04cc 3111 cpse r19,__zero_reg__ GAS LISTING /tmp/ccOKKvfw.s page 15 755 04ce 00C0 rjmp .L59 756 .L53: 757 04d0 0696 adiw r24,6 758 04d2 00C0 rjmp .L47 759 .L32: 760 04d4 C601 movw r24,r12 761 04d6 0E94 0000 call free 762 .L24: 763 04da C101 movw r24,r2 764 04dc 0E94 0000 call fclose 765 04e0 00C0 rjmp .L22 766 .L72: 767 04e2 0FEF ldi r16,lo8(-1) 768 04e4 1FEF ldi r17,lo8(-1) 769 .L22: 770 04e6 8D81 ldd r24,Y+5 771 04e8 9E81 ldd r25,Y+6 772 04ea 0E94 0000 call NutTcpCloseSocket 773 04ee 00C0 rjmp .L21 774 .L71: 775 04f0 0FEF ldi r16,lo8(-1) 776 04f2 1FEF ldi r17,lo8(-1) 777 .L21: 778 04f4 C201 movw r24,r4 779 04f6 0E94 0000 call UriSchemeRelease 780 04fa 00C0 rjmp .L120 781 .L70: 782 04fc 0FEF ldi r16,lo8(-1) 783 04fe 1FEF ldi r17,lo8(-1) 784 0500 00C0 rjmp .L120 785 .L124: 786 0502 2181 ldd r18,Z+1 787 0504 A1E0 ldi r26,lo8(1) 788 0506 B0E0 ldi r27,0 789 0508 2232 cpi r18,lo8(34) 790 050a 01F0 breq .L68 791 050c A0E0 ldi r26,0 792 050e B0E0 ldi r27,0 793 .L68: 794 0510 1196 adiw r26,1 795 0512 AE0F add r26,r30 796 0514 BF1F adc r27,r31 797 0516 FC01 movw r30,r24 798 0518 B383 std Z+3,r27 799 051a A283 std Z+2,r26 800 051c 00C0 rjmp .L69 801 .L56: 802 051e 3032 cpi r19,lo8(32) 803 0520 01F4 brne .L69 804 .L57: 805 0522 1082 st Z,__zero_reg__ 806 0524 3196 adiw r30,1 807 0526 00C0 rjmp .L53 808 .L46: 809 0528 061B sub r16,r22 810 052a 170B sbc r17,r23 811 052c A985 ldd r26,Y+9 GAS LISTING /tmp/ccOKKvfw.s page 16 812 052e BA85 ldd r27,Y+10 813 0530 1396 adiw r26,3 814 0532 AD90 ld r10,X+ 815 0534 BC90 ld r11,X 816 0536 1497 sbiw r26,3+1 817 0538 60E0 ldi r22,lo8(.LC14) 818 053a 70E0 ldi r23,hi8(.LC14) 819 053c C501 movw r24,r10 820 053e 0E94 0000 call strcmp 821 0542 892B or r24,r25 822 0544 01F4 brne .L61 823 0546 E985 ldd r30,Y+9 824 0548 FA85 ldd r31,Y+10 825 054a 8081 ld r24,Z 826 054c 8823 tst r24 827 054e 01F0 breq .L62 828 0550 812C mov r8,__zero_reg__ 829 0552 912C mov r9,__zero_reg__ 830 0554 00C0 rjmp .L62 831 .L61: 832 0556 60E0 ldi r22,lo8(.LC15) 833 0558 70E0 ldi r23,hi8(.LC15) 834 055a C501 movw r24,r10 835 055c 0E94 0000 call strcmp 836 0560 892B or r24,r25 837 0562 01F4 brne .L63 838 0564 91E0 ldi r25,lo8(1) 839 0566 80E0 ldi r24,0 840 0568 A985 ldd r26,Y+9 841 056a BA85 ldd r27,Y+10 842 056c 2C91 ld r18,X 843 056e 2111 cpse r18,__zero_reg__ 844 0570 90E0 ldi r25,0 845 .L64: 846 0572 892E mov r8,r25 847 0574 982E mov r9,r24 848 0576 00C0 rjmp .L62 849 .L63: 850 0578 8114 cp r8,__zero_reg__ 851 057a 9104 cpc r9,__zero_reg__ 852 057c 01F0 breq .L62 853 057e E985 ldd r30,Y+9 854 0580 FA85 ldd r31,Y+10 855 0582 8081 ld r24,Z 856 0584 8111 cpse r24,__zero_reg__ 857 0586 00C0 rjmp .L74 858 0588 A981 ldd r26,Y+1 859 058a BA81 ldd r27,Y+2 860 058c 1696 adiw r26,6 861 058e ED90 ld r14,X+ 862 0590 FC90 ld r15,X 863 0592 1797 sbiw r26,6+1 864 .L65: 865 0594 E114 cp r14,__zero_reg__ 866 0596 F104 cpc r15,__zero_reg__ 867 0598 01F0 breq .L75 868 059a F701 movw r30,r14 GAS LISTING /tmp/ccOKKvfw.s page 17 869 059c 6281 ldd r22,Z+2 870 059e 7381 ldd r23,Z+3 871 05a0 C501 movw r24,r10 872 05a2 0E94 0000 call strcasecmp 873 05a6 892B or r24,r25 874 05a8 01F0 breq .L75 875 05aa D701 movw r26,r14 876 05ac ED90 ld r14,X+ 877 05ae FC90 ld r15,X 878 05b0 00C0 rjmp .L65 879 .L74: 880 05b2 8824 clr r8 881 05b4 8394 inc r8 882 05b6 912C mov r9,__zero_reg__ 883 05b8 E12C mov r14,__zero_reg__ 884 05ba F12C mov r15,__zero_reg__ 885 05bc 00C0 rjmp .L62 886 .L75: 887 05be 8824 clr r8 888 05c0 8394 inc r8 889 05c2 912C mov r9,__zero_reg__ 890 .L62: 891 05c4 0115 cp r16,__zero_reg__ 892 05c6 1105 cpc r17,__zero_reg__ 893 05c8 01F0 breq .+2 894 05ca 00C0 rjmp .L67 895 05cc 00C0 rjmp .L39 896 .L120: 897 05ce C801 movw r24,r16 898 /* epilogue start */ 899 05d0 2A96 adiw r28,10 900 05d2 0FB6 in __tmp_reg__,__SREG__ 901 05d4 F894 cli 902 05d6 DEBF out __SP_H__,r29 903 05d8 0FBE out __SREG__,__tmp_reg__ 904 05da CDBF out __SP_L__,r28 905 05dc DF91 pop r29 906 05de CF91 pop r28 907 05e0 1F91 pop r17 908 05e2 0F91 pop r16 909 05e4 FF90 pop r15 910 05e6 EF90 pop r14 911 05e8 DF90 pop r13 912 05ea CF90 pop r12 913 05ec BF90 pop r11 914 05ee AF90 pop r10 915 05f0 9F90 pop r9 916 05f2 8F90 pop r8 917 05f4 7F90 pop r7 918 05f6 6F90 pop r6 919 05f8 5F90 pop r5 920 05fa 4F90 pop r4 921 05fc 3F90 pop r3 922 05fe 2F90 pop r2 923 0600 0895 ret 924 .size SoapProcCallResource, .-SoapProcCallResource 925 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccOKKvfw.s page 18 926 .global __do_copy_data GAS LISTING /tmp/ccOKKvfw.s page 19 DEFINED SYMBOLS *ABS*:0000000000000000 soapc.c /tmp/ccOKKvfw.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccOKKvfw.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccOKKvfw.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccOKKvfw.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccOKKvfw.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccOKKvfw.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccOKKvfw.s:10 .text.ReadUntilChars.constprop.2:0000000000000000 ReadUntilChars.constprop.2 /tmp/ccOKKvfw.s:133 .text.SoapProcCallResource:0000000000000000 SoapProcCallResource UNDEFINED SYMBOLS fgetc strchr UriSchemeSplit NutTcpCreateSocket TcpHostConnectStream malloc strcpy sprintf fprintf fputs free fflush fgets atoi strcasecmp strdup fclose NutTcpCloseSocket UriSchemeRelease strcmp __do_copy_data