GAS LISTING /tmp/ccUyxdR2.s page 1 1 .file "resolv.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.DecodeDnsHeader,"ax",@progbits 9 .type DecodeDnsHeader, @function 10 DecodeDnsHeader: 11 /* prologue: function */ 12 /* frame size = 0 */ 13 /* stack size = 0 */ 14 .L__stack_usage = 0 15 0000 FC01 movw r30,r24 16 0002 DB01 movw r26,r22 17 0004 8C91 ld r24,X 18 0006 90E0 ldi r25,0 19 0008 982F mov r25,r24 20 000a 8827 clr r24 21 000c 9183 std Z+1,r25 22 000e 8083 st Z,r24 23 0010 1196 adiw r26,1 24 0012 2C91 ld r18,X 25 0014 1197 sbiw r26,1 26 0016 822B or r24,r18 27 0018 9183 std Z+1,r25 28 001a 8083 st Z,r24 29 001c 1296 adiw r26,2 30 001e 8C91 ld r24,X 31 0020 1297 sbiw r26,2 32 0022 90E0 ldi r25,0 33 0024 982F mov r25,r24 34 0026 8827 clr r24 35 0028 9383 std Z+3,r25 36 002a 8283 std Z+2,r24 37 002c 1396 adiw r26,3 38 002e 2C91 ld r18,X 39 0030 1397 sbiw r26,3 40 0032 822B or r24,r18 41 0034 9383 std Z+3,r25 42 0036 8283 std Z+2,r24 43 0038 1496 adiw r26,4 44 003a 8C91 ld r24,X 45 003c 1497 sbiw r26,4 46 003e 90E0 ldi r25,0 47 0040 982F mov r25,r24 48 0042 8827 clr r24 49 0044 9583 std Z+5,r25 50 0046 8483 std Z+4,r24 51 0048 1596 adiw r26,5 52 004a 2C91 ld r18,X 53 004c 1597 sbiw r26,5 54 004e 822B or r24,r18 55 0050 9583 std Z+5,r25 56 0052 8483 std Z+4,r24 57 0054 1696 adiw r26,6 GAS LISTING /tmp/ccUyxdR2.s page 2 58 0056 8C91 ld r24,X 59 0058 1697 sbiw r26,6 60 005a 90E0 ldi r25,0 61 005c 982F mov r25,r24 62 005e 8827 clr r24 63 0060 9783 std Z+7,r25 64 0062 8683 std Z+6,r24 65 0064 1796 adiw r26,7 66 0066 2C91 ld r18,X 67 0068 1797 sbiw r26,7 68 006a 822B or r24,r18 69 006c 9783 std Z+7,r25 70 006e 8683 std Z+6,r24 71 0070 1896 adiw r26,8 72 0072 8C91 ld r24,X 73 0074 1897 sbiw r26,8 74 0076 90E0 ldi r25,0 75 0078 982F mov r25,r24 76 007a 8827 clr r24 77 007c 9187 std Z+9,r25 78 007e 8087 std Z+8,r24 79 0080 1996 adiw r26,9 80 0082 2C91 ld r18,X 81 0084 1997 sbiw r26,9 82 0086 822B or r24,r18 83 0088 9187 std Z+9,r25 84 008a 8087 std Z+8,r24 85 008c 1A96 adiw r26,10 86 008e 8C91 ld r24,X 87 0090 1A97 sbiw r26,10 88 0092 90E0 ldi r25,0 89 0094 982F mov r25,r24 90 0096 8827 clr r24 91 0098 9387 std Z+11,r25 92 009a 8287 std Z+10,r24 93 009c 1B96 adiw r26,11 94 009e 2C91 ld r18,X 95 00a0 822B or r24,r18 96 00a2 9387 std Z+11,r25 97 00a4 8287 std Z+10,r24 98 00a6 8CE0 ldi r24,lo8(12) 99 00a8 90E0 ldi r25,0 100 00aa 0895 ret 101 .size DecodeDnsHeader, .-DecodeDnsHeader 102 .section .text.ReleaseDnsQuestion,"ax",@progbits 103 .type ReleaseDnsQuestion, @function 104 ReleaseDnsQuestion: 105 0000 CF93 push r28 106 0002 DF93 push r29 107 /* prologue: function */ 108 /* frame size = 0 */ 109 /* stack size = 2 */ 110 .L__stack_usage = 2 111 0004 EC01 movw r28,r24 112 0006 892B or r24,r25 113 0008 01F0 breq .L2 114 000a 8881 ld r24,Y GAS LISTING /tmp/ccUyxdR2.s page 3 115 000c 9981 ldd r25,Y+1 116 000e 0097 sbiw r24,0 117 0010 01F0 breq .L4 118 0012 0E94 0000 call free 119 .L4: 120 0016 CE01 movw r24,r28 121 /* epilogue start */ 122 0018 DF91 pop r29 123 001a CF91 pop r28 124 001c 0C94 0000 jmp free 125 .L2: 126 /* epilogue start */ 127 0020 DF91 pop r29 128 0022 CF91 pop r28 129 0024 0895 ret 130 .size ReleaseDnsQuestion, .-ReleaseDnsQuestion 131 .section .text.ReleaseDnsResource,"ax",@progbits 132 .type ReleaseDnsResource, @function 133 ReleaseDnsResource: 134 0000 CF93 push r28 135 0002 DF93 push r29 136 /* prologue: function */ 137 /* frame size = 0 */ 138 /* stack size = 2 */ 139 .L__stack_usage = 2 140 0004 EC01 movw r28,r24 141 0006 892B or r24,r25 142 0008 01F0 breq .L9 143 000a 8881 ld r24,Y 144 000c 9981 ldd r25,Y+1 145 000e 0097 sbiw r24,0 146 0010 01F0 breq .L11 147 0012 0E94 0000 call free 148 .L11: 149 0016 8C85 ldd r24,Y+12 150 0018 9D85 ldd r25,Y+13 151 001a 0097 sbiw r24,0 152 001c 01F0 breq .L12 153 001e 0E94 0000 call free 154 .L12: 155 0022 CE01 movw r24,r28 156 /* epilogue start */ 157 0024 DF91 pop r29 158 0026 CF91 pop r28 159 0028 0C94 0000 jmp free 160 .L9: 161 /* epilogue start */ 162 002c DF91 pop r29 163 002e CF91 pop r28 164 0030 0895 ret 165 .size ReleaseDnsResource, .-ReleaseDnsResource 166 .section .text.CreateDnsQuestion,"ax",@progbits 167 .type CreateDnsQuestion, @function 168 CreateDnsQuestion: 169 0000 EF92 push r14 170 0002 FF92 push r15 171 0004 0F93 push r16 GAS LISTING /tmp/ccUyxdR2.s page 4 172 0006 1F93 push r17 173 0008 CF93 push r28 174 000a DF93 push r29 175 /* prologue: function */ 176 /* frame size = 0 */ 177 /* stack size = 6 */ 178 .L__stack_usage = 6 179 000c EC01 movw r28,r24 180 000e 7B01 movw r14,r22 181 0010 8A01 movw r16,r20 182 0012 892B or r24,r25 183 0014 01F4 brne .L20 184 0016 66E0 ldi r22,lo8(6) 185 0018 70E0 ldi r23,0 186 001a 81E0 ldi r24,lo8(1) 187 001c 90E0 ldi r25,0 188 001e 0E94 0000 call calloc 189 0022 EC01 movw r28,r24 190 0024 892B or r24,r25 191 0026 01F0 breq .L21 192 .L20: 193 0028 8881 ld r24,Y 194 002a 9981 ldd r25,Y+1 195 002c 0097 sbiw r24,0 196 002e 01F0 breq .L22 197 0030 0E94 0000 call free 198 .L22: 199 0034 C701 movw r24,r14 200 0036 0E94 0000 call strdup 201 003a 9983 std Y+1,r25 202 003c 8883 st Y,r24 203 003e 1B83 std Y+3,r17 204 0040 0A83 std Y+2,r16 205 0042 81E0 ldi r24,lo8(1) 206 0044 90E0 ldi r25,0 207 0046 9D83 std Y+5,r25 208 0048 8C83 std Y+4,r24 209 .L21: 210 004a CE01 movw r24,r28 211 /* epilogue start */ 212 004c DF91 pop r29 213 004e CF91 pop r28 214 0050 1F91 pop r17 215 0052 0F91 pop r16 216 0054 FF90 pop r15 217 0056 EF90 pop r14 218 0058 0895 ret 219 .size CreateDnsQuestion, .-CreateDnsQuestion 220 .section .text.EncodeDnsQuestion,"ax",@progbits 221 .type EncodeDnsQuestion, @function 222 EncodeDnsQuestion: 223 0000 FF92 push r15 224 0002 0F93 push r16 225 0004 1F93 push r17 226 0006 CF93 push r28 227 0008 DF93 push r29 228 /* prologue: function */ GAS LISTING /tmp/ccUyxdR2.s page 5 229 /* frame size = 0 */ 230 /* stack size = 5 */ 231 .L__stack_usage = 5 232 000a FB01 movw r30,r22 233 000c A081 ld r26,Z 234 000e B181 ldd r27,Z+1 235 0010 FD01 movw r30,r26 236 0: 237 0012 0190 ld __tmp_reg__,Z+ 238 0014 0020 tst __tmp_reg__ 239 0016 01F4 brne 0b 240 0018 3197 sbiw r30,1 241 001a 9F01 movw r18,r30 242 001c 2A1B sub r18,r26 243 001e 3B0B sbc r19,r27 244 0020 A901 movw r20,r18 245 0022 4E5F subi r20,-2 246 0024 5F4F sbci r21,-1 247 0026 FC01 movw r30,r24 248 0028 1192 st Z+,__zero_reg__ 249 002a ED01 movw r28,r26 250 002c DC01 movw r26,r24 251 .L30: 252 002e FE2E mov r15,r30 253 0030 0F2F mov r16,r31 254 0032 1991 ld r17,Y+ 255 0034 1123 tst r17 256 0036 01F0 breq .L34 257 0038 1E32 cpi r17,lo8(46) 258 003a 01F4 brne .L31 259 003c 1082 st Z,__zero_reg__ 260 003e 00C0 rjmp .L32 261 .L31: 262 0040 1083 st Z,r17 263 0042 1C91 ld r17,X 264 0044 1F5F subi r17,lo8(-(1)) 265 0046 1C93 st X,r17 266 0048 FA2E mov r15,r26 267 004a 0B2F mov r16,r27 268 .L32: 269 004c 3196 adiw r30,1 270 004e AF2D mov r26,r15 271 0050 B02F mov r27,r16 272 0052 00C0 rjmp .L30 273 .L34: 274 0054 1082 st Z,__zero_reg__ 275 0056 FB01 movw r30,r22 276 0058 A281 ldd r26,Z+2 277 005a B381 ldd r27,Z+3 278 005c FC01 movw r30,r24 279 005e E40F add r30,r20 280 0060 F51F adc r31,r21 281 0062 B083 st Z,r27 282 0064 A183 std Z+1,r26 283 0066 FB01 movw r30,r22 284 0068 A481 ldd r26,Z+4 285 006a 6581 ldd r22,Z+5 GAS LISTING /tmp/ccUyxdR2.s page 6 286 006c A901 movw r20,r18 287 006e 4C5F subi r20,-4 288 0070 5F4F sbci r21,-1 289 0072 FC01 movw r30,r24 290 0074 E40F add r30,r20 291 0076 F51F adc r31,r21 292 0078 6083 st Z,r22 293 007a A183 std Z+1,r26 294 007c C901 movw r24,r18 295 007e 0696 adiw r24,6 296 /* epilogue start */ 297 0080 DF91 pop r29 298 0082 CF91 pop r28 299 0084 1F91 pop r17 300 0086 0F91 pop r16 301 0088 FF90 pop r15 302 008a 0895 ret 303 .size EncodeDnsQuestion, .-EncodeDnsQuestion 304 .section .text.ScanName,"ax",@progbits 305 .type ScanName, @function 306 ScanName: 307 0000 EF92 push r14 308 0002 FF92 push r15 309 0004 0F93 push r16 310 0006 1F93 push r17 311 0008 CF93 push r28 312 000a DF93 push r29 313 /* prologue: function */ 314 /* frame size = 0 */ 315 /* stack size = 6 */ 316 .L__stack_usage = 6 317 000c 8C01 movw r16,r24 318 000e 7B01 movw r14,r22 319 0010 DB01 movw r26,r22 320 0012 8D91 ld r24,X+ 321 0014 9C91 ld r25,X 322 0016 0097 sbiw r24,0 323 0018 01F0 breq .L36 324 001a 0E94 0000 call free 325 001e F701 movw r30,r14 326 0020 1182 std Z+1,__zero_reg__ 327 0022 1082 st Z,__zero_reg__ 328 .L36: 329 0024 D801 movw r26,r16 330 0026 8C91 ld r24,X 331 0028 807C andi r24,lo8(-64) 332 002a 803C cpi r24,lo8(-64) 333 002c 01F0 breq .L43 334 002e E801 movw r28,r16 335 0: 336 0030 0990 ld __tmp_reg__,Y+ 337 0032 0020 tst __tmp_reg__ 338 0034 01F4 brne 0b 339 0036 C01B sub r28,r16 340 0038 D10B sbc r29,r17 341 003a CE01 movw r24,r28 342 003c 0E94 0000 call malloc GAS LISTING /tmp/ccUyxdR2.s page 7 343 0040 F701 movw r30,r14 344 0042 9183 std Z+1,r25 345 0044 8083 st Z,r24 346 0046 A801 movw r20,r16 347 0048 4F5F subi r20,-1 348 004a 5F4F sbci r21,-1 349 004c D801 movw r26,r16 350 004e EC91 ld r30,X 351 0050 3EE2 ldi r19,lo8(46) 352 .L38: 353 0052 EE23 tst r30 354 0054 01F0 breq .L41 355 0056 BA01 movw r22,r20 356 0058 8C01 movw r16,r24 357 005a 2E2F mov r18,r30 358 .L42: 359 005c 2150 subi r18,1 360 005e 00F0 brcs .L50 361 0060 DB01 movw r26,r22 362 0062 FD91 ld r31,X+ 363 0064 BD01 movw r22,r26 364 0066 D801 movw r26,r16 365 0068 FD93 st X+,r31 366 006a 8D01 movw r16,r26 367 006c 00C0 rjmp .L42 368 .L50: 369 006e F0E0 ldi r31,0 370 0070 8E0F add r24,r30 371 0072 9F1F adc r25,r31 372 0074 E40F add r30,r20 373 0076 F51F adc r31,r21 374 0078 AF01 movw r20,r30 375 007a 4F5F subi r20,-1 376 007c 5F4F sbci r21,-1 377 007e E081 ld r30,Z 378 0080 EE23 tst r30 379 0082 01F0 breq .L41 380 0084 DC01 movw r26,r24 381 0086 3C93 st X,r19 382 0088 0196 adiw r24,1 383 008a 00C0 rjmp .L38 384 .L41: 385 008c FC01 movw r30,r24 386 008e 1082 st Z,__zero_reg__ 387 0090 CE01 movw r24,r28 388 0092 00C0 rjmp .L37 389 .L43: 390 0094 82E0 ldi r24,lo8(2) 391 0096 90E0 ldi r25,0 392 .L37: 393 /* epilogue start */ 394 0098 DF91 pop r29 395 009a CF91 pop r28 396 009c 1F91 pop r17 397 009e 0F91 pop r16 398 00a0 FF90 pop r15 399 00a2 EF90 pop r14 GAS LISTING /tmp/ccUyxdR2.s page 8 400 00a4 0895 ret 401 .size ScanName, .-ScanName 402 .section .text.DecodeDnsQuestion,"ax",@progbits 403 .type DecodeDnsQuestion, @function 404 DecodeDnsQuestion: 405 0000 0F93 push r16 406 0002 1F93 push r17 407 0004 CF93 push r28 408 0006 DF93 push r29 409 /* prologue: function */ 410 /* frame size = 0 */ 411 /* stack size = 4 */ 412 .L__stack_usage = 4 413 0008 EC01 movw r28,r24 414 000a 8B01 movw r16,r22 415 000c BC01 movw r22,r24 416 000e C801 movw r24,r16 417 0010 0E94 0000 call ScanName 418 0014 F801 movw r30,r16 419 0016 E80F add r30,r24 420 0018 F91F adc r31,r25 421 001a 2081 ld r18,Z 422 001c 30E0 ldi r19,0 423 001e 322F mov r19,r18 424 0020 2227 clr r18 425 0022 3B83 std Y+3,r19 426 0024 2A83 std Y+2,r18 427 0026 4181 ldd r20,Z+1 428 0028 242B or r18,r20 429 002a 3B83 std Y+3,r19 430 002c 2A83 std Y+2,r18 431 002e FC01 movw r30,r24 432 0030 3296 adiw r30,2 433 0032 E00F add r30,r16 434 0034 F11F adc r31,r17 435 0036 2081 ld r18,Z 436 0038 30E0 ldi r19,0 437 003a 322F mov r19,r18 438 003c 2227 clr r18 439 003e 3D83 std Y+5,r19 440 0040 2C83 std Y+4,r18 441 0042 4181 ldd r20,Z+1 442 0044 242B or r18,r20 443 0046 3D83 std Y+5,r19 444 0048 2C83 std Y+4,r18 445 004a 0496 adiw r24,4 446 /* epilogue start */ 447 004c DF91 pop r29 448 004e CF91 pop r28 449 0050 1F91 pop r17 450 0052 0F91 pop r16 451 0054 0895 ret 452 .size DecodeDnsQuestion, .-DecodeDnsQuestion 453 .section .text.DecodeDnsResource,"ax",@progbits 454 .type DecodeDnsResource, @function 455 DecodeDnsResource: 456 0000 CF92 push r12 GAS LISTING /tmp/ccUyxdR2.s page 9 457 0002 DF92 push r13 458 0004 EF92 push r14 459 0006 FF92 push r15 460 0008 0F93 push r16 461 000a 1F93 push r17 462 000c CF93 push r28 463 000e DF93 push r29 464 /* prologue: function */ 465 /* frame size = 0 */ 466 /* stack size = 8 */ 467 .L__stack_usage = 8 468 0010 EC01 movw r28,r24 469 0012 8B01 movw r16,r22 470 0014 BC01 movw r22,r24 471 0016 C801 movw r24,r16 472 0018 0E94 0000 call ScanName 473 001c F801 movw r30,r16 474 001e E80F add r30,r24 475 0020 F91F adc r31,r25 476 0022 2081 ld r18,Z 477 0024 30E0 ldi r19,0 478 0026 322F mov r19,r18 479 0028 2227 clr r18 480 002a 3B83 std Y+3,r19 481 002c 2A83 std Y+2,r18 482 002e 4181 ldd r20,Z+1 483 0030 242B or r18,r20 484 0032 3B83 std Y+3,r19 485 0034 2A83 std Y+2,r18 486 0036 FC01 movw r30,r24 487 0038 3296 adiw r30,2 488 003a E00F add r30,r16 489 003c F11F adc r31,r17 490 003e 2081 ld r18,Z 491 0040 30E0 ldi r19,0 492 0042 322F mov r19,r18 493 0044 2227 clr r18 494 0046 3D83 std Y+5,r19 495 0048 2C83 std Y+4,r18 496 004a 4181 ldd r20,Z+1 497 004c 242B or r18,r20 498 004e 3D83 std Y+5,r19 499 0050 2C83 std Y+4,r18 500 0052 FC01 movw r30,r24 501 0054 3496 adiw r30,4 502 0056 E00F add r30,r16 503 0058 F11F adc r31,r17 504 005a 4081 ld r20,Z 505 005c 50E0 ldi r21,0 506 005e 60E0 ldi r22,0 507 0060 70E0 ldi r23,0 508 0062 762F mov r23,r22 509 0064 652F mov r22,r21 510 0066 542F mov r21,r20 511 0068 4427 clr r20 512 006a 4E83 std Y+6,r20 513 006c 5F83 std Y+7,r21 GAS LISTING /tmp/ccUyxdR2.s page 10 514 006e 6887 std Y+8,r22 515 0070 7987 std Y+9,r23 516 0072 2181 ldd r18,Z+1 517 0074 422B or r20,r18 518 0076 762F mov r23,r22 519 0078 652F mov r22,r21 520 007a 542F mov r21,r20 521 007c 4427 clr r20 522 007e 4E83 std Y+6,r20 523 0080 5F83 std Y+7,r21 524 0082 6887 std Y+8,r22 525 0084 7987 std Y+9,r23 526 0086 2281 ldd r18,Z+2 527 0088 422B or r20,r18 528 008a 762F mov r23,r22 529 008c 652F mov r22,r21 530 008e 542F mov r21,r20 531 0090 4427 clr r20 532 0092 4E83 std Y+6,r20 533 0094 5F83 std Y+7,r21 534 0096 6887 std Y+8,r22 535 0098 7987 std Y+9,r23 536 009a 2381 ldd r18,Z+3 537 009c 422B or r20,r18 538 009e 4E83 std Y+6,r20 539 00a0 5F83 std Y+7,r21 540 00a2 6887 std Y+8,r22 541 00a4 7987 std Y+9,r23 542 00a6 FC01 movw r30,r24 543 00a8 3896 adiw r30,8 544 00aa E00F add r30,r16 545 00ac F11F adc r31,r17 546 00ae E080 ld r14,Z 547 00b0 F12C mov r15,__zero_reg__ 548 00b2 FE2C mov r15,r14 549 00b4 EE24 clr r14 550 00b6 FB86 std Y+11,r15 551 00b8 EA86 std Y+10,r14 552 00ba 2181 ldd r18,Z+1 553 00bc E22A or r14,r18 554 00be FB86 std Y+11,r15 555 00c0 EA86 std Y+10,r14 556 00c2 6C01 movw r12,r24 557 00c4 2AE0 ldi r18,10 558 00c6 C20E add r12,r18 559 00c8 D11C adc r13,__zero_reg__ 560 00ca 0C0D add r16,r12 561 00cc 1D1D adc r17,r13 562 00ce 8C85 ldd r24,Y+12 563 00d0 9D85 ldd r25,Y+13 564 00d2 0097 sbiw r24,0 565 00d4 01F0 breq .L53 566 00d6 0E94 0000 call free 567 .L53: 568 00da C701 movw r24,r14 569 00dc 0E94 0000 call malloc 570 00e0 9D87 std Y+13,r25 GAS LISTING /tmp/ccUyxdR2.s page 11 571 00e2 8C87 std Y+12,r24 572 00e4 A701 movw r20,r14 573 00e6 B801 movw r22,r16 574 00e8 0E94 0000 call memcpy 575 00ec C601 movw r24,r12 576 00ee 8E0D add r24,r14 577 00f0 9F1D adc r25,r15 578 /* epilogue start */ 579 00f2 DF91 pop r29 580 00f4 CF91 pop r28 581 00f6 1F91 pop r17 582 00f8 0F91 pop r16 583 00fa FF90 pop r15 584 00fc EF90 pop r14 585 00fe DF90 pop r13 586 0100 CF90 pop r12 587 0102 0895 ret 588 .size DecodeDnsResource, .-DecodeDnsResource 589 .section .text.NutDnsConfig,"ax",@progbits 590 .global NutDnsConfig 591 .type NutDnsConfig, @function 592 NutDnsConfig: 593 0000 EF92 push r14 594 0002 FF92 push r15 595 0004 0F93 push r16 596 0006 1F93 push r17 597 /* prologue: function */ 598 /* frame size = 0 */ 599 /* stack size = 4 */ 600 .L__stack_usage = 4 601 0008 E12C mov r14,__zero_reg__ 602 000a F12C mov r15,__zero_reg__ 603 000c 8701 movw r16,r14 604 000e 0E94 0000 call NutDnsConfig2 605 /* epilogue start */ 606 0012 1F91 pop r17 607 0014 0F91 pop r16 608 0016 FF90 pop r15 609 0018 EF90 pop r14 610 001a 0895 ret 611 .size NutDnsConfig, .-NutDnsConfig 612 .section .text.NutDnsGetConfig2,"ax",@progbits 613 .global NutDnsGetConfig2 614 .type NutDnsGetConfig2, @function 615 NutDnsGetConfig2: 616 /* prologue: function */ 617 /* frame size = 0 */ 618 /* stack size = 0 */ 619 .L__stack_usage = 0 620 0000 0097 sbiw r24,0 621 0002 01F0 breq .L59 622 0004 E091 0000 lds r30,confdns 623 0008 F091 0000 lds r31,confdns+1 624 000c DC01 movw r26,r24 625 000e ED93 st X+,r30 626 0010 FC93 st X,r31 627 .L59: GAS LISTING /tmp/ccUyxdR2.s page 12 628 0012 6115 cp r22,__zero_reg__ 629 0014 7105 cpc r23,__zero_reg__ 630 0016 01F0 breq .L60 631 0018 8091 0000 lds r24,confdns+2 632 001c 9091 0000 lds r25,confdns+2+1 633 0020 FB01 movw r30,r22 634 0022 9183 std Z+1,r25 635 0024 8083 st Z,r24 636 .L60: 637 0026 4115 cp r20,__zero_reg__ 638 0028 5105 cpc r21,__zero_reg__ 639 002a 01F0 breq .L61 640 002c 8091 0000 lds r24,confdns+4 641 0030 9091 0000 lds r25,confdns+4+1 642 0034 A091 0000 lds r26,confdns+4+2 643 0038 B091 0000 lds r27,confdns+4+3 644 003c FA01 movw r30,r20 645 003e 8083 st Z,r24 646 0040 9183 std Z+1,r25 647 0042 A283 std Z+2,r26 648 0044 B383 std Z+3,r27 649 .L61: 650 0046 2115 cp r18,__zero_reg__ 651 0048 3105 cpc r19,__zero_reg__ 652 004a 01F0 breq .L58 653 004c 8091 0000 lds r24,confdns+8 654 0050 9091 0000 lds r25,confdns+8+1 655 0054 A091 0000 lds r26,confdns+8+2 656 0058 B091 0000 lds r27,confdns+8+3 657 005c F901 movw r30,r18 658 005e 8083 st Z,r24 659 0060 9183 std Z+1,r25 660 0062 A283 std Z+2,r26 661 0064 B383 std Z+3,r27 662 .L58: 663 0066 0895 ret 664 .size NutDnsGetConfig2, .-NutDnsGetConfig2 665 .section .text.NutDnsGetResource,"ax",@progbits 666 .global NutDnsGetResource 667 .type NutDnsGetResource, @function 668 NutDnsGetResource: 669 0000 2F92 push r2 670 0002 3F92 push r3 671 0004 4F92 push r4 672 0006 5F92 push r5 673 0008 6F92 push r6 674 000a 7F92 push r7 675 000c 8F92 push r8 676 000e 9F92 push r9 677 0010 AF92 push r10 678 0012 BF92 push r11 679 0014 CF92 push r12 680 0016 DF92 push r13 681 0018 EF92 push r14 682 001a FF92 push r15 683 001c 0F93 push r16 684 001e 1F93 push r17 GAS LISTING /tmp/ccUyxdR2.s page 13 685 0020 CF93 push r28 686 0022 DF93 push r29 687 0024 CDB7 in r28,__SP_L__ 688 0026 DEB7 in r29,__SP_H__ 689 0028 2E97 sbiw r28,14 690 002a 0FB6 in __tmp_reg__,__SREG__ 691 002c F894 cli 692 002e DEBF out __SP_H__,r29 693 0030 0FBE out __SREG__,__tmp_reg__ 694 0032 CDBF out __SP_L__,r28 695 /* prologue: function */ 696 /* frame size = 14 */ 697 /* stack size = 32 */ 698 .L__stack_usage = 32 699 0034 9A87 std Y+10,r25 700 0036 8987 std Y+9,r24 701 0038 7C87 std Y+12,r23 702 003a 6B87 std Y+11,r22 703 003c 8091 0000 lds r24,confdns+4 704 0040 9091 0000 lds r25,confdns+4+1 705 0044 A091 0000 lds r26,confdns+4+2 706 0048 B091 0000 lds r27,confdns+4+3 707 004c 892B or r24,r25 708 004e 8A2B or r24,r26 709 0050 8B2B or r24,r27 710 0052 01F4 brne .L76 711 0054 8091 0000 lds r24,confdns+8 712 0058 9091 0000 lds r25,confdns+8+1 713 005c A091 0000 lds r26,confdns+8+2 714 0060 B091 0000 lds r27,confdns+8+3 715 0064 892B or r24,r25 716 0066 8A2B or r24,r26 717 0068 8B2B or r24,r27 718 006a 01F4 brne .L76 719 .L78: 720 006c 60E0 ldi r22,0 721 006e 70E0 ldi r23,0 722 0070 80E0 ldi r24,0 723 0072 90E0 ldi r25,0 724 0074 00C0 rjmp .L77 725 .L76: 726 0076 80E0 ldi r24,0 727 0078 90E0 ldi r25,0 728 007a 0E94 0000 call NutUdpCreateSocket 729 007e 2C01 movw r4,r24 730 0080 892B or r24,r25 731 0082 01F0 breq .L78 732 0084 80E0 ldi r24,0 733 0086 92E0 ldi r25,lo8(2) 734 0088 0E94 0000 call malloc 735 008c 4C01 movw r8,r24 736 008e 212C mov r2,__zero_reg__ 737 0090 312C mov r3,__zero_reg__ 738 0092 1886 std Y+8,__zero_reg__ 739 0094 1F82 std Y+7,__zero_reg__ 740 0096 A12C mov r10,__zero_reg__ 741 0098 B12C mov r11,__zero_reg__ GAS LISTING /tmp/ccUyxdR2.s page 14 742 009a 612C mov r6,__zero_reg__ 743 009c 712C mov r7,__zero_reg__ 744 009e 0C96 adiw r24,12 745 00a0 9E87 std Y+14,r25 746 00a2 8D87 std Y+13,r24 747 .L92: 748 00a4 162D mov r17,r6 749 00a6 9FEF ldi r25,-1 750 00a8 691A sub r6,r25 751 00aa 790A sbc r7,r25 752 00ac A114 cp r10,__zero_reg__ 753 00ae B104 cpc r11,__zero_reg__ 754 00b0 01F4 brne .L79 755 00b2 6CE0 ldi r22,lo8(12) 756 00b4 70E0 ldi r23,0 757 00b6 81E0 ldi r24,lo8(1) 758 00b8 90E0 ldi r25,0 759 00ba 0E94 0000 call calloc 760 00be 5C01 movw r10,r24 761 00c0 892B or r24,r25 762 00c2 01F0 breq .L80 763 .L79: 764 00c4 D501 movw r26,r10 765 00c6 1196 adiw r26,1 766 00c8 7C92 st X,r7 767 00ca 6E92 st -X,r6 768 00cc E0E0 ldi r30,0 769 00ce F1E0 ldi r31,lo8(1) 770 00d0 1396 adiw r26,2+1 771 00d2 FC93 st X,r31 772 00d4 EE93 st -X,r30 773 00d6 1297 sbiw r26,2 774 00d8 81E0 ldi r24,lo8(1) 775 00da 90E0 ldi r25,0 776 00dc 1596 adiw r26,4+1 777 00de 9C93 st X,r25 778 00e0 8E93 st -X,r24 779 00e2 1497 sbiw r26,4 780 .L80: 781 00e4 4B85 ldd r20,Y+11 782 00e6 5C85 ldd r21,Y+12 783 00e8 6985 ldd r22,Y+9 784 00ea 7A85 ldd r23,Y+10 785 00ec 8F81 ldd r24,Y+7 786 00ee 9885 ldd r25,Y+8 787 00f0 0E94 0000 call CreateDnsQuestion 788 00f4 9887 std Y+8,r25 789 00f6 8F83 std Y+7,r24 790 00f8 D501 movw r26,r10 791 00fa 8C91 ld r24,X 792 00fc 1196 adiw r26,1 793 00fe 9C91 ld r25,X 794 0100 1197 sbiw r26,1 795 0102 F401 movw r30,r8 796 0104 9083 st Z,r25 797 0106 8183 std Z+1,r24 798 0108 1296 adiw r26,2 GAS LISTING /tmp/ccUyxdR2.s page 15 799 010a 8C91 ld r24,X 800 010c 1297 sbiw r26,2 801 010e 1396 adiw r26,3 802 0110 9C91 ld r25,X 803 0112 1397 sbiw r26,3 804 0114 9283 std Z+2,r25 805 0116 8383 std Z+3,r24 806 0118 1496 adiw r26,4 807 011a 8C91 ld r24,X 808 011c 1497 sbiw r26,4 809 011e 1596 adiw r26,5 810 0120 9C91 ld r25,X 811 0122 1597 sbiw r26,5 812 0124 9483 std Z+4,r25 813 0126 8583 std Z+5,r24 814 0128 1696 adiw r26,6 815 012a 8C91 ld r24,X 816 012c 1697 sbiw r26,6 817 012e 1796 adiw r26,7 818 0130 9C91 ld r25,X 819 0132 1797 sbiw r26,7 820 0134 9683 std Z+6,r25 821 0136 8783 std Z+7,r24 822 0138 1896 adiw r26,8 823 013a 8C91 ld r24,X 824 013c 1897 sbiw r26,8 825 013e 1996 adiw r26,9 826 0140 9C91 ld r25,X 827 0142 1997 sbiw r26,9 828 0144 9087 std Z+8,r25 829 0146 8187 std Z+9,r24 830 0148 1A96 adiw r26,10 831 014a 8C91 ld r24,X 832 014c 1A97 sbiw r26,10 833 014e 1B96 adiw r26,11 834 0150 9C91 ld r25,X 835 0152 9287 std Z+10,r25 836 0154 8387 std Z+11,r24 837 0156 6F81 ldd r22,Y+7 838 0158 7885 ldd r23,Y+8 839 015a 8D85 ldd r24,Y+13 840 015c 9E85 ldd r25,Y+14 841 015e 0E94 0000 call EncodeDnsQuestion 842 0162 0C96 adiw r24,12 843 0164 7C01 movw r14,r24 844 0166 10FF sbrs r17,0 845 0168 00C0 rjmp .L81 846 016a 4091 0000 lds r20,confdns+8 847 016e 5091 0000 lds r21,confdns+8+1 848 0172 6091 0000 lds r22,confdns+8+2 849 0176 7091 0000 lds r23,confdns+8+3 850 017a 4115 cp r20,__zero_reg__ 851 017c 5105 cpc r21,__zero_reg__ 852 017e 6105 cpc r22,__zero_reg__ 853 0180 7105 cpc r23,__zero_reg__ 854 0182 01F4 brne .L82 855 .L81: GAS LISTING /tmp/ccUyxdR2.s page 16 856 0184 4091 0000 lds r20,confdns+4 857 0188 5091 0000 lds r21,confdns+4+1 858 018c 6091 0000 lds r22,confdns+4+2 859 0190 7091 0000 lds r23,confdns+4+3 860 .L82: 861 0194 8401 movw r16,r8 862 0196 25E3 ldi r18,lo8(53) 863 0198 30E0 ldi r19,0 864 019a C201 movw r24,r4 865 019c 0E94 0000 call NutUdpSendTo 866 01a0 97FD sbrc r25,7 867 01a2 00C0 rjmp .L96 868 .L87: 869 01a4 58EE ldi r21,lo8(-24) 870 01a6 C52E mov r12,r21 871 01a8 53E0 ldi r21,lo8(3) 872 01aa D52E mov r13,r21 873 01ac E12C mov r14,__zero_reg__ 874 01ae F12C mov r15,__zero_reg__ 875 01b0 00E0 ldi r16,0 876 01b2 12E0 ldi r17,lo8(2) 877 01b4 9401 movw r18,r8 878 01b6 AE01 movw r20,r28 879 01b8 4B5F subi r20,-5 880 01ba 5F4F sbci r21,-1 881 01bc BE01 movw r22,r28 882 01be 6F5F subi r22,-1 883 01c0 7F4F sbci r23,-1 884 01c2 C201 movw r24,r4 885 01c4 0E94 0000 call NutUdpReceiveFrom 886 01c8 1816 cp __zero_reg__,r24 887 01ca 1906 cpc __zero_reg__,r25 888 01cc 04F0 brlt .+2 889 01ce 00C0 rjmp .L86 890 01d0 0D97 sbiw r24,13 891 01d2 04F0 brlt .L87 892 01d4 B401 movw r22,r8 893 01d6 C501 movw r24,r10 894 01d8 0E94 0000 call DecodeDnsHeader 895 01dc 7C01 movw r14,r24 896 01de D501 movw r26,r10 897 01e0 8D91 ld r24,X+ 898 01e2 9C91 ld r25,X 899 01e4 1197 sbiw r26,1 900 01e6 6816 cp r6,r24 901 01e8 7906 cpc r7,r25 902 01ea 01F4 brne .L87 903 01ec E114 cp r14,__zero_reg__ 904 01ee F104 cpc r15,__zero_reg__ 905 01f0 01F4 brne .+2 906 01f2 00C0 rjmp .L86 907 01f4 1496 adiw r26,4 908 01f6 8D91 ld r24,X+ 909 01f8 9C91 ld r25,X 910 01fa 1597 sbiw r26,4+1 911 01fc 0197 sbiw r24,1 912 01fe 01F0 breq .+2 GAS LISTING /tmp/ccUyxdR2.s page 17 913 0200 00C0 rjmp .L86 914 0202 B401 movw r22,r8 915 0204 6E0D add r22,r14 916 0206 7F1D adc r23,r15 917 0208 8F81 ldd r24,Y+7 918 020a 9885 ldd r25,Y+8 919 020c 0E94 0000 call DecodeDnsQuestion 920 0210 E80E add r14,r24 921 0212 F91E adc r15,r25 922 0214 F501 movw r30,r10 923 0216 8681 ldd r24,Z+6 924 0218 9781 ldd r25,Z+7 925 021a 892B or r24,r25 926 021c 01F4 brne .+2 927 021e 00C0 rjmp .L96 928 0220 01E0 ldi r16,lo8(1) 929 0222 10E0 ldi r17,0 930 .L88: 931 0224 F501 movw r30,r10 932 0226 8681 ldd r24,Z+6 933 0228 9781 ldd r25,Z+7 934 022a 8017 cp r24,r16 935 022c 9107 cpc r25,r17 936 022e 04F0 brlt .L90 937 0230 2114 cp r2,__zero_reg__ 938 0232 3104 cpc r3,__zero_reg__ 939 0234 01F4 brne .L89 940 0236 6EE0 ldi r22,lo8(14) 941 0238 70E0 ldi r23,0 942 023a 81E0 ldi r24,lo8(1) 943 023c 90E0 ldi r25,0 944 023e 0E94 0000 call calloc 945 0242 1C01 movw r2,r24 946 .L89: 947 0244 B401 movw r22,r8 948 0246 6E0D add r22,r14 949 0248 7F1D adc r23,r15 950 024a C101 movw r24,r2 951 024c 0E94 0000 call DecodeDnsResource 952 0250 E80E add r14,r24 953 0252 F91E adc r15,r25 954 0254 D101 movw r26,r2 955 0256 1296 adiw r26,2 956 0258 8D91 ld r24,X+ 957 025a 9C91 ld r25,X 958 025c 1397 sbiw r26,2+1 959 025e 0197 sbiw r24,1 960 0260 01F0 breq .L90 961 0262 0F5F subi r16,-1 962 0264 1F4F sbci r17,-1 963 0266 00C0 rjmp .L88 964 .L90: 965 0268 D101 movw r26,r2 966 026a 1A96 adiw r26,10 967 026c 8D91 ld r24,X+ 968 026e 9C91 ld r25,X 969 0270 1B97 sbiw r26,10+1 GAS LISTING /tmp/ccUyxdR2.s page 18 970 0272 0497 sbiw r24,4 971 0274 01F4 brne .L86 972 0276 1C96 adiw r26,12 973 0278 ED91 ld r30,X+ 974 027a FC91 ld r31,X 975 027c 1D97 sbiw r26,12+1 976 027e 2081 ld r18,Z 977 0280 C180 ldd r12,Z+1 978 0282 D12C mov r13,__zero_reg__ 979 0284 E12C mov r14,__zero_reg__ 980 0286 F12C mov r15,__zero_reg__ 981 0288 FE2C mov r15,r14 982 028a ED2C mov r14,r13 983 028c DC2C mov r13,r12 984 028e CC24 clr r12 985 0290 9281 ldd r25,Z+2 986 0292 892F mov r24,r25 987 0294 90E0 ldi r25,0 988 0296 A0E0 ldi r26,0 989 0298 B0E0 ldi r27,0 990 029a DC01 movw r26,r24 991 029c 9927 clr r25 992 029e 8827 clr r24 993 02a0 C80E add r12,r24 994 02a2 D91E adc r13,r25 995 02a4 EA1E adc r14,r26 996 02a6 FB1E adc r15,r27 997 02a8 D701 movw r26,r14 998 02aa C601 movw r24,r12 999 02ac 820F add r24,r18 1000 02ae 911D adc r25,__zero_reg__ 1001 02b0 A11D adc r26,__zero_reg__ 1002 02b2 B11D adc r27,__zero_reg__ 1003 02b4 C380 ldd r12,Z+3 1004 02b6 D12C mov r13,__zero_reg__ 1005 02b8 E12C mov r14,__zero_reg__ 1006 02ba F12C mov r15,__zero_reg__ 1007 02bc FC2C mov r15,r12 1008 02be EE24 clr r14 1009 02c0 DD24 clr r13 1010 02c2 CC24 clr r12 1011 02c4 C80E add r12,r24 1012 02c6 D91E adc r13,r25 1013 02c8 EA1E adc r14,r26 1014 02ca FB1E adc r15,r27 1015 02cc 00C0 rjmp .L83 1016 .L86: 1017 02ce B6E0 ldi r27,6 1018 02d0 6B16 cp r6,r27 1019 02d2 7104 cpc r7,__zero_reg__ 1020 02d4 01F0 breq .+2 1021 02d6 00C0 rjmp .L92 1022 .L96: 1023 02d8 C12C mov r12,__zero_reg__ 1024 02da D12C mov r13,__zero_reg__ 1025 02dc 7601 movw r14,r12 1026 .L83: GAS LISTING /tmp/ccUyxdR2.s page 19 1027 02de A114 cp r10,__zero_reg__ 1028 02e0 B104 cpc r11,__zero_reg__ 1029 02e2 01F0 breq .L93 1030 02e4 C501 movw r24,r10 1031 02e6 0E94 0000 call free 1032 .L93: 1033 02ea 8F81 ldd r24,Y+7 1034 02ec 9885 ldd r25,Y+8 1035 02ee 0E94 0000 call ReleaseDnsQuestion 1036 02f2 C101 movw r24,r2 1037 02f4 0E94 0000 call ReleaseDnsResource 1038 02f8 C401 movw r24,r8 1039 02fa 0E94 0000 call free 1040 02fe C201 movw r24,r4 1041 0300 0E94 0000 call NutUdpDestroySocket 1042 0304 B601 movw r22,r12 1043 0306 C701 movw r24,r14 1044 .L77: 1045 /* epilogue start */ 1046 0308 2E96 adiw r28,14 1047 030a 0FB6 in __tmp_reg__,__SREG__ 1048 030c F894 cli 1049 030e DEBF out __SP_H__,r29 1050 0310 0FBE out __SREG__,__tmp_reg__ 1051 0312 CDBF out __SP_L__,r28 1052 0314 DF91 pop r29 1053 0316 CF91 pop r28 1054 0318 1F91 pop r17 1055 031a 0F91 pop r16 1056 031c FF90 pop r15 1057 031e EF90 pop r14 1058 0320 DF90 pop r13 1059 0322 CF90 pop r12 1060 0324 BF90 pop r11 1061 0326 AF90 pop r10 1062 0328 9F90 pop r9 1063 032a 8F90 pop r8 1064 032c 7F90 pop r7 1065 032e 6F90 pop r6 1066 0330 5F90 pop r5 1067 0332 4F90 pop r4 1068 0334 3F90 pop r3 1069 0336 2F90 pop r2 1070 0338 0895 ret 1071 .size NutDnsGetResource, .-NutDnsGetResource 1072 .section .text.NutDnsGetHostByName,"ax",@progbits 1073 .global NutDnsGetHostByName 1074 .type NutDnsGetHostByName, @function 1075 NutDnsGetHostByName: 1076 /* prologue: function */ 1077 /* frame size = 0 */ 1078 /* stack size = 0 */ 1079 .L__stack_usage = 0 1080 0000 61E0 ldi r22,lo8(1) 1081 0002 70E0 ldi r23,0 1082 0004 0C94 0000 jmp NutDnsGetResource 1083 .size NutDnsGetHostByName, .-NutDnsGetHostByName GAS LISTING /tmp/ccUyxdR2.s page 20 1084 .section .text.NutDnsGetMxByDomain,"ax",@progbits 1085 .global NutDnsGetMxByDomain 1086 .type NutDnsGetMxByDomain, @function 1087 NutDnsGetMxByDomain: 1088 /* prologue: function */ 1089 /* frame size = 0 */ 1090 /* stack size = 0 */ 1091 .L__stack_usage = 0 1092 0000 6FE0 ldi r22,lo8(15) 1093 0002 70E0 ldi r23,0 1094 0004 0C94 0000 jmp NutDnsGetResource 1095 .size NutDnsGetMxByDomain, .-NutDnsGetMxByDomain 1096 .section .text.NutDnsGetResourceAll,"ax",@progbits 1097 .global NutDnsGetResourceAll 1098 .type NutDnsGetResourceAll, @function 1099 NutDnsGetResourceAll: 1100 0000 2F92 push r2 1101 0002 3F92 push r3 1102 0004 4F92 push r4 1103 0006 5F92 push r5 1104 0008 6F92 push r6 1105 000a 7F92 push r7 1106 000c 8F92 push r8 1107 000e 9F92 push r9 1108 0010 AF92 push r10 1109 0012 BF92 push r11 1110 0014 CF92 push r12 1111 0016 DF92 push r13 1112 0018 EF92 push r14 1113 001a FF92 push r15 1114 001c 0F93 push r16 1115 001e 1F93 push r17 1116 0020 CF93 push r28 1117 0022 DF93 push r29 1118 0024 CDB7 in r28,__SP_L__ 1119 0026 DEB7 in r29,__SP_H__ 1120 0028 6597 sbiw r28,21 1121 002a 0FB6 in __tmp_reg__,__SREG__ 1122 002c F894 cli 1123 002e DEBF out __SP_H__,r29 1124 0030 0FBE out __SREG__,__tmp_reg__ 1125 0032 CDBF out __SP_L__,r28 1126 /* prologue: function */ 1127 /* frame size = 21 */ 1128 /* stack size = 39 */ 1129 .L__stack_usage = 39 1130 0034 9F87 std Y+15,r25 1131 0036 8E87 std Y+14,r24 1132 0038 798B std Y+17,r23 1133 003a 688B std Y+16,r22 1134 003c 5D87 std Y+13,r21 1135 003e 4C87 std Y+12,r20 1136 0040 FA01 movw r30,r20 1137 0042 CA01 movw r24,r20 1138 0044 8096 adiw r24,32 1139 .L121: 1140 0046 1192 st Z+,__zero_reg__ GAS LISTING /tmp/ccUyxdR2.s page 21 1141 0048 1192 st Z+,__zero_reg__ 1142 004a 1192 st Z+,__zero_reg__ 1143 004c 1192 st Z+,__zero_reg__ 1144 004e 8E17 cp r24,r30 1145 0050 9F07 cpc r25,r31 1146 0052 01F4 brne .L121 1147 0054 8091 0000 lds r24,confdns+4 1148 0058 9091 0000 lds r25,confdns+4+1 1149 005c A091 0000 lds r26,confdns+4+2 1150 0060 B091 0000 lds r27,confdns+4+3 1151 0064 892B or r24,r25 1152 0066 8A2B or r24,r26 1153 0068 8B2B or r24,r27 1154 006a 01F4 brne .L122 1155 006c 8091 0000 lds r24,confdns+8 1156 0070 9091 0000 lds r25,confdns+8+1 1157 0074 A091 0000 lds r26,confdns+8+2 1158 0078 B091 0000 lds r27,confdns+8+3 1159 007c 892B or r24,r25 1160 007e 8A2B or r24,r26 1161 0080 8B2B or r24,r27 1162 0082 01F4 brne .L122 1163 .L124: 1164 0084 80E0 ldi r24,0 1165 0086 00C0 rjmp .L123 1166 .L122: 1167 0088 80E0 ldi r24,0 1168 008a 90E0 ldi r25,0 1169 008c 0E94 0000 call NutUdpCreateSocket 1170 0090 2C01 movw r4,r24 1171 0092 892B or r24,r25 1172 0094 01F0 breq .L124 1173 0096 60E0 ldi r22,0 1174 0098 72E0 ldi r23,lo8(2) 1175 009a 80E0 ldi r24,lo8(heapFreeList) 1176 009c 90E0 ldi r25,hi8(heapFreeList) 1177 009e 0E94 0000 call NutHeapRootAlloc 1178 00a2 4C01 movw r8,r24 1179 00a4 212C mov r2,__zero_reg__ 1180 00a6 312C mov r3,__zero_reg__ 1181 00a8 1986 std Y+9,__zero_reg__ 1182 00aa 1886 std Y+8,__zero_reg__ 1183 00ac A12C mov r10,__zero_reg__ 1184 00ae B12C mov r11,__zero_reg__ 1185 00b0 612C mov r6,__zero_reg__ 1186 00b2 712C mov r7,__zero_reg__ 1187 00b4 28E0 ldi r18,lo8(8) 1188 00b6 2F83 std Y+7,r18 1189 00b8 0C96 adiw r24,12 1190 00ba 9B8B std Y+19,r25 1191 00bc 8A8B std Y+18,r24 1192 .L138: 1193 00be 162D mov r17,r6 1194 00c0 9FEF ldi r25,-1 1195 00c2 691A sub r6,r25 1196 00c4 790A sbc r7,r25 1197 00c6 A114 cp r10,__zero_reg__ GAS LISTING /tmp/ccUyxdR2.s page 22 1198 00c8 B104 cpc r11,__zero_reg__ 1199 00ca 01F4 brne .L125 1200 00cc 6CE0 ldi r22,lo8(12) 1201 00ce 70E0 ldi r23,0 1202 00d0 81E0 ldi r24,lo8(1) 1203 00d2 90E0 ldi r25,0 1204 00d4 0E94 0000 call calloc 1205 00d8 5C01 movw r10,r24 1206 00da 892B or r24,r25 1207 00dc 01F0 breq .L126 1208 .L125: 1209 00de F501 movw r30,r10 1210 00e0 7182 std Z+1,r7 1211 00e2 6082 st Z,r6 1212 00e4 C12C mov r12,__zero_reg__ 1213 00e6 DD24 clr r13 1214 00e8 D394 inc r13 1215 00ea D382 std Z+3,r13 1216 00ec C282 std Z+2,r12 1217 00ee EE24 clr r14 1218 00f0 E394 inc r14 1219 00f2 F12C mov r15,__zero_reg__ 1220 00f4 F582 std Z+5,r15 1221 00f6 E482 std Z+4,r14 1222 .L126: 1223 00f8 4889 ldd r20,Y+16 1224 00fa 5989 ldd r21,Y+17 1225 00fc 6E85 ldd r22,Y+14 1226 00fe 7F85 ldd r23,Y+15 1227 0100 8885 ldd r24,Y+8 1228 0102 9985 ldd r25,Y+9 1229 0104 0E94 0000 call CreateDnsQuestion 1230 0108 9987 std Y+9,r25 1231 010a 8887 std Y+8,r24 1232 010c F501 movw r30,r10 1233 010e 8081 ld r24,Z 1234 0110 9181 ldd r25,Z+1 1235 0112 F401 movw r30,r8 1236 0114 9083 st Z,r25 1237 0116 8183 std Z+1,r24 1238 0118 F501 movw r30,r10 1239 011a 8281 ldd r24,Z+2 1240 011c 9381 ldd r25,Z+3 1241 011e F401 movw r30,r8 1242 0120 9283 std Z+2,r25 1243 0122 8383 std Z+3,r24 1244 0124 F501 movw r30,r10 1245 0126 8481 ldd r24,Z+4 1246 0128 9581 ldd r25,Z+5 1247 012a F401 movw r30,r8 1248 012c 9483 std Z+4,r25 1249 012e 8583 std Z+5,r24 1250 0130 F501 movw r30,r10 1251 0132 8681 ldd r24,Z+6 1252 0134 9781 ldd r25,Z+7 1253 0136 F401 movw r30,r8 1254 0138 9683 std Z+6,r25 GAS LISTING /tmp/ccUyxdR2.s page 23 1255 013a 8783 std Z+7,r24 1256 013c F501 movw r30,r10 1257 013e 8085 ldd r24,Z+8 1258 0140 9185 ldd r25,Z+9 1259 0142 F401 movw r30,r8 1260 0144 9087 std Z+8,r25 1261 0146 8187 std Z+9,r24 1262 0148 F501 movw r30,r10 1263 014a 8285 ldd r24,Z+10 1264 014c 9385 ldd r25,Z+11 1265 014e F401 movw r30,r8 1266 0150 9287 std Z+10,r25 1267 0152 8387 std Z+11,r24 1268 0154 6885 ldd r22,Y+8 1269 0156 7985 ldd r23,Y+9 1270 0158 8A89 ldd r24,Y+18 1271 015a 9B89 ldd r25,Y+19 1272 015c 0E94 0000 call EncodeDnsQuestion 1273 0160 0C96 adiw r24,12 1274 0162 7C01 movw r14,r24 1275 0164 10FF sbrs r17,0 1276 0166 00C0 rjmp .L127 1277 0168 4091 0000 lds r20,confdns+8 1278 016c 5091 0000 lds r21,confdns+8+1 1279 0170 6091 0000 lds r22,confdns+8+2 1280 0174 7091 0000 lds r23,confdns+8+3 1281 0178 4115 cp r20,__zero_reg__ 1282 017a 5105 cpc r21,__zero_reg__ 1283 017c 6105 cpc r22,__zero_reg__ 1284 017e 7105 cpc r23,__zero_reg__ 1285 0180 01F4 brne .L128 1286 .L127: 1287 0182 4091 0000 lds r20,confdns+4 1288 0186 5091 0000 lds r21,confdns+4+1 1289 018a 6091 0000 lds r22,confdns+4+2 1290 018e 7091 0000 lds r23,confdns+4+3 1291 .L128: 1292 0192 8401 movw r16,r8 1293 0194 25E3 ldi r18,lo8(53) 1294 0196 30E0 ldi r19,0 1295 0198 C201 movw r24,r4 1296 019a 0E94 0000 call NutUdpSendTo 1297 019e 97FD sbrc r25,7 1298 01a0 00C0 rjmp .L129 1299 .L133: 1300 01a2 38EE ldi r19,lo8(-24) 1301 01a4 C32E mov r12,r19 1302 01a6 33E0 ldi r19,lo8(3) 1303 01a8 D32E mov r13,r19 1304 01aa E12C mov r14,__zero_reg__ 1305 01ac F12C mov r15,__zero_reg__ 1306 01ae 00E0 ldi r16,0 1307 01b0 12E0 ldi r17,lo8(2) 1308 01b2 9401 movw r18,r8 1309 01b4 AE01 movw r20,r28 1310 01b6 4B5F subi r20,-5 1311 01b8 5F4F sbci r21,-1 GAS LISTING /tmp/ccUyxdR2.s page 24 1312 01ba BE01 movw r22,r28 1313 01bc 6F5F subi r22,-1 1314 01be 7F4F sbci r23,-1 1315 01c0 C201 movw r24,r4 1316 01c2 0E94 0000 call NutUdpReceiveFrom 1317 01c6 1816 cp __zero_reg__,r24 1318 01c8 1906 cpc __zero_reg__,r25 1319 01ca 04F0 brlt .+2 1320 01cc 00C0 rjmp .L132 1321 01ce 0D97 sbiw r24,13 1322 01d0 04F0 brlt .L133 1323 01d2 B401 movw r22,r8 1324 01d4 C501 movw r24,r10 1325 01d6 0E94 0000 call DecodeDnsHeader 1326 01da 8C01 movw r16,r24 1327 01dc F501 movw r30,r10 1328 01de 8081 ld r24,Z 1329 01e0 9181 ldd r25,Z+1 1330 01e2 6816 cp r6,r24 1331 01e4 7906 cpc r7,r25 1332 01e6 01F4 brne .L133 1333 01e8 0115 cp r16,__zero_reg__ 1334 01ea 1105 cpc r17,__zero_reg__ 1335 01ec 01F4 brne .+2 1336 01ee 00C0 rjmp .L132 1337 01f0 8481 ldd r24,Z+4 1338 01f2 9581 ldd r25,Z+5 1339 01f4 0197 sbiw r24,1 1340 01f6 01F0 breq .+2 1341 01f8 00C0 rjmp .L132 1342 01fa B401 movw r22,r8 1343 01fc 600F add r22,r16 1344 01fe 711F adc r23,r17 1345 0200 8885 ldd r24,Y+8 1346 0202 9985 ldd r25,Y+9 1347 0204 0E94 0000 call DecodeDnsQuestion 1348 0208 080F add r16,r24 1349 020a 191F adc r17,r25 1350 020c F501 movw r30,r10 1351 020e 8681 ldd r24,Z+6 1352 0210 9781 ldd r25,Z+7 1353 0212 892B or r24,r25 1354 0214 01F4 brne .+2 1355 0216 00C0 rjmp .L129 1356 0218 21E0 ldi r18,lo8(1) 1357 021a 30E0 ldi r19,0 1358 021c 3B87 std Y+11,r19 1359 021e 2A87 std Y+10,r18 1360 0220 1F82 std Y+7,__zero_reg__ 1361 .L134: 1362 0222 F501 movw r30,r10 1363 0224 8681 ldd r24,Z+6 1364 0226 9781 ldd r25,Z+7 1365 0228 CA84 ldd r12,Y+10 1366 022a DB84 ldd r13,Y+11 1367 022c 8C15 cp r24,r12 1368 022e 9D05 cpc r25,r13 GAS LISTING /tmp/ccUyxdR2.s page 25 1369 0230 04F4 brge .+2 1370 0232 00C0 rjmp .L132 1371 0234 2114 cp r2,__zero_reg__ 1372 0236 3104 cpc r3,__zero_reg__ 1373 0238 01F4 brne .L135 1374 023a 6EE0 ldi r22,lo8(14) 1375 023c 70E0 ldi r23,0 1376 023e 81E0 ldi r24,lo8(1) 1377 0240 90E0 ldi r25,0 1378 0242 0E94 0000 call calloc 1379 0246 1C01 movw r2,r24 1380 .L135: 1381 0248 B401 movw r22,r8 1382 024a 600F add r22,r16 1383 024c 711F adc r23,r17 1384 024e C101 movw r24,r2 1385 0250 0E94 0000 call DecodeDnsResource 1386 0254 080F add r16,r24 1387 0256 191F adc r17,r25 1388 0258 F101 movw r30,r2 1389 025a 8281 ldd r24,Z+2 1390 025c 9381 ldd r25,Z+3 1391 025e 0197 sbiw r24,1 1392 0260 01F0 breq .+2 1393 0262 00C0 rjmp .L136 1394 0264 8285 ldd r24,Z+10 1395 0266 9385 ldd r25,Z+11 1396 0268 0497 sbiw r24,4 1397 026a 01F0 breq .+2 1398 026c 00C0 rjmp .L136 1399 026e CC84 ldd r12,Y+12 1400 0270 DD84 ldd r13,Y+13 1401 0272 3F81 ldd r19,Y+7 1402 0274 24E0 ldi r18,lo8(4) 1403 0276 329F mul r19,r18 1404 0278 C00C add r12,r0 1405 027a D11C adc r13,r1 1406 027c 1124 clr __zero_reg__ 1407 027e DD8A std Y+21,r13 1408 0280 CC8A std Y+20,r12 1409 0282 A485 ldd r26,Z+12 1410 0284 B585 ldd r27,Z+13 1411 0286 2C91 ld r18,X 1412 0288 C22E mov r12,r18 1413 028a D12C mov r13,__zero_reg__ 1414 028c E12C mov r14,__zero_reg__ 1415 028e F12C mov r15,__zero_reg__ 1416 0290 EC89 ldd r30,Y+20 1417 0292 FD89 ldd r31,Y+21 1418 0294 C082 st Z,r12 1419 0296 D182 std Z+1,r13 1420 0298 E282 std Z+2,r14 1421 029a F382 std Z+3,r15 1422 029c 1196 adiw r26,1 1423 029e 4C91 ld r20,X 1424 02a0 1197 sbiw r26,1 1425 02a2 50E0 ldi r21,0 GAS LISTING /tmp/ccUyxdR2.s page 26 1426 02a4 60E0 ldi r22,0 1427 02a6 70E0 ldi r23,0 1428 02a8 762F mov r23,r22 1429 02aa 652F mov r22,r21 1430 02ac 542F mov r21,r20 1431 02ae 4427 clr r20 1432 02b0 9A01 movw r18,r20 1433 02b2 AB01 movw r20,r22 1434 02b4 2C0D add r18,r12 1435 02b6 3D1D adc r19,r13 1436 02b8 4E1D adc r20,r14 1437 02ba 5F1D adc r21,r15 1438 02bc 2083 st Z,r18 1439 02be 3183 std Z+1,r19 1440 02c0 4283 std Z+2,r20 1441 02c2 5383 std Z+3,r21 1442 02c4 1296 adiw r26,2 1443 02c6 6C91 ld r22,X 1444 02c8 1297 sbiw r26,2 1445 02ca 70E0 ldi r23,0 1446 02cc 80E0 ldi r24,0 1447 02ce 90E0 ldi r25,0 1448 02d0 CB01 movw r24,r22 1449 02d2 7727 clr r23 1450 02d4 6627 clr r22 1451 02d6 6B01 movw r12,r22 1452 02d8 7C01 movw r14,r24 1453 02da C20E add r12,r18 1454 02dc D31E adc r13,r19 1455 02de E41E adc r14,r20 1456 02e0 F51E adc r15,r21 1457 02e2 B701 movw r22,r14 1458 02e4 A601 movw r20,r12 1459 02e6 C082 st Z,r12 1460 02e8 D182 std Z+1,r13 1461 02ea E282 std Z+2,r14 1462 02ec F382 std Z+3,r15 1463 02ee 1396 adiw r26,3 1464 02f0 8C91 ld r24,X 1465 02f2 90E0 ldi r25,0 1466 02f4 A0E0 ldi r26,0 1467 02f6 B0E0 ldi r27,0 1468 02f8 B82F mov r27,r24 1469 02fa AA27 clr r26 1470 02fc 9927 clr r25 1471 02fe 8827 clr r24 1472 0300 480F add r20,r24 1473 0302 591F adc r21,r25 1474 0304 6A1F adc r22,r26 1475 0306 7B1F adc r23,r27 1476 0308 4083 st Z,r20 1477 030a 5183 std Z+1,r21 1478 030c 6283 std Z+2,r22 1479 030e 7383 std Z+3,r23 1480 0310 FF81 ldd r31,Y+7 1481 0312 FF5F subi r31,lo8(-(1)) 1482 0314 FF83 std Y+7,r31 GAS LISTING /tmp/ccUyxdR2.s page 27 1483 .L136: 1484 0316 2A85 ldd r18,Y+10 1485 0318 3B85 ldd r19,Y+11 1486 031a 2F5F subi r18,-1 1487 031c 3F4F sbci r19,-1 1488 031e 3B87 std Y+11,r19 1489 0320 2A87 std Y+10,r18 1490 0322 00C0 rjmp .L134 1491 .L132: 1492 0324 26E0 ldi r18,6 1493 0326 6216 cp r6,r18 1494 0328 7104 cpc r7,__zero_reg__ 1495 032a 01F0 breq .+2 1496 032c 00C0 rjmp .L138 1497 .L129: 1498 032e A114 cp r10,__zero_reg__ 1499 0330 B104 cpc r11,__zero_reg__ 1500 0332 01F0 breq .L139 1501 0334 C501 movw r24,r10 1502 0336 0E94 0000 call free 1503 .L139: 1504 033a 8885 ldd r24,Y+8 1505 033c 9985 ldd r25,Y+9 1506 033e 0E94 0000 call ReleaseDnsQuestion 1507 0342 C101 movw r24,r2 1508 0344 0E94 0000 call ReleaseDnsResource 1509 0348 B401 movw r22,r8 1510 034a 80E0 ldi r24,lo8(heapFreeList) 1511 034c 90E0 ldi r25,hi8(heapFreeList) 1512 034e 0E94 0000 call NutHeapRootFree 1513 0352 C201 movw r24,r4 1514 0354 0E94 0000 call NutUdpDestroySocket 1515 0358 8F81 ldd r24,Y+7 1516 .L123: 1517 /* epilogue start */ 1518 035a 6596 adiw r28,21 1519 035c 0FB6 in __tmp_reg__,__SREG__ 1520 035e F894 cli 1521 0360 DEBF out __SP_H__,r29 1522 0362 0FBE out __SREG__,__tmp_reg__ 1523 0364 CDBF out __SP_L__,r28 1524 0366 DF91 pop r29 1525 0368 CF91 pop r28 1526 036a 1F91 pop r17 1527 036c 0F91 pop r16 1528 036e FF90 pop r15 1529 0370 EF90 pop r14 1530 0372 DF90 pop r13 1531 0374 CF90 pop r12 1532 0376 BF90 pop r11 1533 0378 AF90 pop r10 1534 037a 9F90 pop r9 1535 037c 8F90 pop r8 1536 037e 7F90 pop r7 1537 0380 6F90 pop r6 1538 0382 5F90 pop r5 1539 0384 4F90 pop r4 GAS LISTING /tmp/ccUyxdR2.s page 28 1540 0386 3F90 pop r3 1541 0388 2F90 pop r2 1542 038a 0895 ret 1543 .size NutDnsGetResourceAll, .-NutDnsGetResourceAll 1544 .section .text.NutDnsGetHostsByName,"ax",@progbits 1545 .global NutDnsGetHostsByName 1546 .type NutDnsGetHostsByName, @function 1547 NutDnsGetHostsByName: 1548 /* prologue: function */ 1549 /* frame size = 0 */ 1550 /* stack size = 0 */ 1551 .L__stack_usage = 0 1552 0000 AB01 movw r20,r22 1553 0002 61E0 ldi r22,lo8(1) 1554 0004 70E0 ldi r23,0 1555 0006 0C94 0000 jmp NutDnsGetResourceAll 1556 .size NutDnsGetHostsByName, .-NutDnsGetHostsByName 1557 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccUyxdR2.s page 29 DEFINED SYMBOLS *ABS*:0000000000000000 resolv.c /tmp/ccUyxdR2.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccUyxdR2.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccUyxdR2.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccUyxdR2.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccUyxdR2.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccUyxdR2.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccUyxdR2.s:10 .text.DecodeDnsHeader:0000000000000000 DecodeDnsHeader /tmp/ccUyxdR2.s:104 .text.ReleaseDnsQuestion:0000000000000000 ReleaseDnsQuestion /tmp/ccUyxdR2.s:133 .text.ReleaseDnsResource:0000000000000000 ReleaseDnsResource /tmp/ccUyxdR2.s:168 .text.CreateDnsQuestion:0000000000000000 CreateDnsQuestion /tmp/ccUyxdR2.s:222 .text.EncodeDnsQuestion:0000000000000000 EncodeDnsQuestion /tmp/ccUyxdR2.s:306 .text.ScanName:0000000000000000 ScanName /tmp/ccUyxdR2.s:404 .text.DecodeDnsQuestion:0000000000000000 DecodeDnsQuestion /tmp/ccUyxdR2.s:455 .text.DecodeDnsResource:0000000000000000 DecodeDnsResource /tmp/ccUyxdR2.s:592 .text.NutDnsConfig:0000000000000000 NutDnsConfig /tmp/ccUyxdR2.s:615 .text.NutDnsGetConfig2:0000000000000000 NutDnsGetConfig2 /tmp/ccUyxdR2.s:668 .text.NutDnsGetResource:0000000000000000 NutDnsGetResource /tmp/ccUyxdR2.s:1075 .text.NutDnsGetHostByName:0000000000000000 NutDnsGetHostByName /tmp/ccUyxdR2.s:1087 .text.NutDnsGetMxByDomain:0000000000000000 NutDnsGetMxByDomain /tmp/ccUyxdR2.s:1099 .text.NutDnsGetResourceAll:0000000000000000 NutDnsGetResourceAll /tmp/ccUyxdR2.s:1547 .text.NutDnsGetHostsByName:0000000000000000 NutDnsGetHostsByName UNDEFINED SYMBOLS free calloc strdup malloc memcpy NutDnsConfig2 confdns NutUdpCreateSocket NutUdpSendTo NutUdpReceiveFrom NutUdpDestroySocket heapFreeList NutHeapRootAlloc NutHeapRootFree