GAS LISTING /tmp/ccAfoP28.s page 1 1 .file "netbuf.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.NutNetBufAllocData,"ax",@progbits 9 .type NutNetBufAllocData, @function 10 NutNetBufAllocData: 11 0000 EF92 push r14 12 0002 FF92 push r15 13 0004 0F93 push r16 14 0006 1F93 push r17 15 0008 CF93 push r28 16 000a DF93 push r29 17 /* prologue: function */ 18 /* frame size = 0 */ 19 /* stack size = 6 */ 20 .L__stack_usage = 6 21 000c 8C01 movw r16,r24 22 000e 7B01 movw r14,r22 23 0010 EA01 movw r28,r20 24 0012 640F add r22,r20 25 0014 751F adc r23,r21 26 0016 80E0 ldi r24,lo8(heapFreeList) 27 0018 90E0 ldi r25,hi8(heapFreeList) 28 001a 0E94 0000 call NutHeapRootAlloc 29 001e 0097 sbiw r24,0 30 0020 01F4 brne .L2 31 0022 F801 movw r30,r16 32 0024 1182 std Z+1,__zero_reg__ 33 0026 1082 st Z,__zero_reg__ 34 0028 8FEF ldi r24,lo8(-1) 35 002a 9FEF ldi r25,lo8(-1) 36 002c 00C0 rjmp .L3 37 .L2: 38 002e C80F add r28,r24 39 0030 D91F adc r29,r25 40 0032 F801 movw r30,r16 41 0034 D183 std Z+1,r29 42 0036 C083 st Z,r28 43 0038 F382 std Z+3,r15 44 003a E282 std Z+2,r14 45 003c 80E0 ldi r24,0 46 003e 90E0 ldi r25,0 47 .L3: 48 /* epilogue start */ 49 0040 DF91 pop r29 50 0042 CF91 pop r28 51 0044 1F91 pop r17 52 0046 0F91 pop r16 53 0048 FF90 pop r15 54 004a EF90 pop r14 55 004c 0895 ret 56 .size NutNetBufAllocData, .-NutNetBufAllocData 57 .section .text.NutNetBufFree,"ax",@progbits GAS LISTING /tmp/ccAfoP28.s page 2 58 .global NutNetBufFree 59 .type NutNetBufFree, @function 60 NutNetBufFree: 61 0000 CF93 push r28 62 0002 DF93 push r29 63 /* prologue: function */ 64 /* frame size = 0 */ 65 /* stack size = 2 */ 66 .L__stack_usage = 2 67 0004 EC01 movw r28,r24 68 0006 8A81 ldd r24,Y+2 69 0008 982F mov r25,r24 70 000a 9770 andi r25,lo8(7) 71 000c 01F0 breq .L6 72 000e 8150 subi r24,lo8(-(-1)) 73 0010 8A83 std Y+2,r24 74 /* epilogue start */ 75 0012 DF91 pop r29 76 0014 CF91 pop r28 77 0016 0895 ret 78 .L6: 79 0018 84FF sbrs r24,4 80 001a 00C0 rjmp .L8 81 001c 6B81 ldd r22,Y+3 82 001e 7C81 ldd r23,Y+4 83 0020 6E7F andi r22,254 84 0022 80E0 ldi r24,lo8(heapFreeList) 85 0024 90E0 ldi r25,hi8(heapFreeList) 86 0026 0E94 0000 call NutHeapRootFree 87 .L8: 88 002a 8A81 ldd r24,Y+2 89 002c 85FF sbrs r24,5 90 002e 00C0 rjmp .L9 91 0030 6F81 ldd r22,Y+7 92 0032 7885 ldd r23,Y+8 93 0034 80E0 ldi r24,lo8(heapFreeList) 94 0036 90E0 ldi r25,hi8(heapFreeList) 95 0038 0E94 0000 call NutHeapRootFree 96 .L9: 97 003c 8A81 ldd r24,Y+2 98 003e 86FF sbrs r24,6 99 0040 00C0 rjmp .L10 100 0042 6B85 ldd r22,Y+11 101 0044 7C85 ldd r23,Y+12 102 0046 80E0 ldi r24,lo8(heapFreeList) 103 0048 90E0 ldi r25,hi8(heapFreeList) 104 004a 0E94 0000 call NutHeapRootFree 105 .L10: 106 004e 8A81 ldd r24,Y+2 107 0050 87FF sbrs r24,7 108 0052 00C0 rjmp .L11 109 0054 6F85 ldd r22,Y+15 110 0056 7889 ldd r23,Y+16 111 0058 80E0 ldi r24,lo8(heapFreeList) 112 005a 90E0 ldi r25,hi8(heapFreeList) 113 005c 0E94 0000 call NutHeapRootFree 114 .L11: GAS LISTING /tmp/ccAfoP28.s page 3 115 0060 8B89 ldd r24,Y+19 116 0062 9C89 ldd r25,Y+20 117 0064 0097 sbiw r24,0 118 0066 01F0 breq .L12 119 0068 0E94 0000 call NutNetBufFree 120 .L12: 121 006c BE01 movw r22,r28 122 006e 80E0 ldi r24,lo8(heapFreeList) 123 0070 90E0 ldi r25,hi8(heapFreeList) 124 /* epilogue start */ 125 0072 DF91 pop r29 126 0074 CF91 pop r28 127 0076 0C94 0000 jmp NutHeapRootFree 128 .size NutNetBufFree, .-NutNetBufFree 129 .section .text.NutNetBufAlloc,"ax",@progbits 130 .global NutNetBufAlloc 131 .type NutNetBufAlloc, @function 132 NutNetBufAlloc: 133 0000 CF92 push r12 134 0002 DF92 push r13 135 0004 EF92 push r14 136 0006 FF92 push r15 137 0008 0F93 push r16 138 000a 1F93 push r17 139 000c CF93 push r28 140 000e DF93 push r29 141 /* prologue: function */ 142 /* frame size = 0 */ 143 /* stack size = 8 */ 144 .L__stack_usage = 8 145 0010 EC01 movw r28,r24 146 0012 062F mov r16,r22 147 0014 6A01 movw r12,r20 148 0016 862F mov r24,r22 149 0018 807F andi r24,lo8(-16) 150 001a 8031 cpi r24,lo8(16) 151 001c 01F0 breq .L27 152 001e 162F mov r17,r22 153 0020 2097 sbiw r28,0 154 0022 01F4 brne .L28 155 0024 00C0 rjmp .L39 156 .L27: 157 0026 2097 sbiw r28,0 158 0028 01F4 brne .L33 159 002a 10E1 ldi r17,lo8(16) 160 .L39: 161 002c 65E1 ldi r22,lo8(21) 162 002e 70E0 ldi r23,0 163 0030 80E0 ldi r24,lo8(heapFreeList) 164 0032 90E0 ldi r25,hi8(heapFreeList) 165 0034 0E94 0000 call NutHeapRootAllocClear 166 0038 EC01 movw r28,r24 167 003a 892B or r24,r25 168 003c 01F4 brne .+2 169 003e 00C0 rjmp .L44 170 .L28: 171 0040 1032 cpi r17,lo8(32) GAS LISTING /tmp/ccAfoP28.s page 4 172 0042 01F0 breq .L31 173 0044 1034 cpi r17,lo8(64) 174 0046 01F0 breq .L32 175 0048 1031 cpi r17,lo8(16) 176 004a 01F4 brne .L49 177 .L33: 178 004c 7E01 movw r14,r28 179 004e 83E0 ldi r24,3 180 0050 E80E add r14,r24 181 0052 F11C adc r15,__zero_reg__ 182 0054 10E1 ldi r17,lo8(16) 183 0056 00C0 rjmp .L34 184 .L31: 185 0058 7E01 movw r14,r28 186 005a E7E0 ldi r30,7 187 005c EE0E add r14,r30 188 005e F11C adc r15,__zero_reg__ 189 0060 00C0 rjmp .L34 190 .L32: 191 0062 7E01 movw r14,r28 192 0064 FBE0 ldi r31,11 193 0066 EF0E add r14,r31 194 0068 F11C adc r15,__zero_reg__ 195 006a 00C0 rjmp .L34 196 .L49: 197 006c 7E01 movw r14,r28 198 006e 8FE0 ldi r24,15 199 0070 E80E add r14,r24 200 0072 F11C adc r15,__zero_reg__ 201 .L34: 202 0074 8A81 ldd r24,Y+2 203 0076 8123 and r24,r17 204 0078 F701 movw r30,r14 205 007a 01F0 breq .L35 206 007c 8281 ldd r24,Z+2 207 007e 9381 ldd r25,Z+3 208 0080 8C15 cp r24,r12 209 0082 9D05 cpc r25,r13 210 0084 04F4 brge .L36 211 0086 6081 ld r22,Z 212 0088 7181 ldd r23,Z+1 213 008a 6E7F andi r22,254 214 008c 80E0 ldi r24,lo8(heapFreeList) 215 008e 90E0 ldi r25,hi8(heapFreeList) 216 0090 0E94 0000 call NutHeapRootFree 217 0094 F701 movw r30,r14 218 0096 00C0 rjmp .L35 219 .L36: 220 0098 F701 movw r30,r14 221 009a D382 std Z+3,r13 222 009c C282 std Z+2,r12 223 009e 00C0 rjmp .L37 224 .L35: 225 00a0 1382 std Z+3,__zero_reg__ 226 00a2 1282 std Z+2,__zero_reg__ 227 .L37: 228 00a4 F701 movw r30,r14 GAS LISTING /tmp/ccAfoP28.s page 5 229 00a6 8281 ldd r24,Z+2 230 00a8 9381 ldd r25,Z+3 231 00aa 892B or r24,r25 232 00ac 01F4 brne .L44 233 00ae 402F mov r20,r16 234 00b0 50E0 ldi r21,0 235 00b2 4F70 andi r20,15 236 00b4 B601 movw r22,r12 237 00b6 C701 movw r24,r14 238 00b8 0E94 0000 call NutNetBufAllocData 239 00bc 892B or r24,r25 240 00be 01F0 breq .L38 241 00c0 CE01 movw r24,r28 242 00c2 0E94 0000 call NutNetBufFree 243 00c6 C0E0 ldi r28,0 244 00c8 D0E0 ldi r29,0 245 00ca 00C0 rjmp .L44 246 .L38: 247 00cc 8A81 ldd r24,Y+2 248 00ce 182B or r17,r24 249 00d0 1A83 std Y+2,r17 250 .L44: 251 00d2 CE01 movw r24,r28 252 /* epilogue start */ 253 00d4 DF91 pop r29 254 00d6 CF91 pop r28 255 00d8 1F91 pop r17 256 00da 0F91 pop r16 257 00dc FF90 pop r15 258 00de EF90 pop r14 259 00e0 DF90 pop r13 260 00e2 CF90 pop r12 261 00e4 0895 ret 262 .size NutNetBufAlloc, .-NutNetBufAlloc 263 .section .text.NutNetBufClonePart,"ax",@progbits 264 .global NutNetBufClonePart 265 .type NutNetBufClonePart, @function 266 NutNetBufClonePart: 267 0000 AF92 push r10 268 0002 BF92 push r11 269 0004 CF92 push r12 270 0006 DF92 push r13 271 0008 EF92 push r14 272 000a FF92 push r15 273 000c 0F93 push r16 274 000e 1F93 push r17 275 0010 CF93 push r28 276 0012 DF93 push r29 277 /* prologue: function */ 278 /* frame size = 0 */ 279 /* stack size = 10 */ 280 .L__stack_usage = 10 281 0014 8C01 movw r16,r24 282 0016 C62E mov r12,r22 283 0018 FC01 movw r30,r24 284 001a 8281 ldd r24,Z+2 285 001c 8770 andi r24,lo8(7) GAS LISTING /tmp/ccAfoP28.s page 6 286 001e 8730 cpi r24,lo8(7) 287 0020 01F4 brne .L51 288 0022 80EF ldi r24,lo8(-16) 289 0024 C82E mov r12,r24 290 .L51: 291 0026 65E1 ldi r22,lo8(21) 292 0028 70E0 ldi r23,0 293 002a 80E0 ldi r24,lo8(heapFreeList) 294 002c 90E0 ldi r25,hi8(heapFreeList) 295 002e 0E94 0000 call NutHeapRootAllocClear 296 0032 EC01 movw r28,r24 297 0034 0097 sbiw r24,0 298 0036 01F4 brne .+2 299 0038 00C0 rjmp .L71 300 003a F801 movw r30,r16 301 003c A580 ldd r10,Z+5 302 003e B680 ldd r11,Z+6 303 0040 A114 cp r10,__zero_reg__ 304 0042 B104 cpc r11,__zero_reg__ 305 0044 01F0 breq .L65 306 0046 4381 ldd r20,Z+3 307 0048 5481 ldd r21,Z+4 308 004a C4FE sbrs r12,4 309 004c 00C0 rjmp .L54 310 004e 4170 andi r20,1 311 0050 5527 clr r21 312 0052 B501 movw r22,r10 313 0054 0396 adiw r24,3 314 0056 0E94 0000 call NutNetBufAllocData 315 005a 7C01 movw r14,r24 316 005c 892B or r24,r25 317 005e 01F4 brne .L66 318 0060 F801 movw r30,r16 319 0062 6381 ldd r22,Z+3 320 0064 7481 ldd r23,Z+4 321 0066 A501 movw r20,r10 322 0068 8B81 ldd r24,Y+3 323 006a 9C81 ldd r25,Y+4 324 006c 0E94 0000 call memcpy 325 0070 8A81 ldd r24,Y+2 326 0072 8061 ori r24,lo8(16) 327 0074 8A83 std Y+2,r24 328 0076 00C0 rjmp .L66 329 .L54: 330 0078 5C83 std Y+4,r21 331 007a 4B83 std Y+3,r20 332 007c BE82 std Y+6,r11 333 007e AD82 std Y+5,r10 334 0080 E12C mov r14,__zero_reg__ 335 0082 F12C mov r15,__zero_reg__ 336 0084 DD24 clr r13 337 0086 D394 inc r13 338 0088 00C0 rjmp .L53 339 .L65: 340 008a E12C mov r14,__zero_reg__ 341 008c F12C mov r15,__zero_reg__ 342 .L66: GAS LISTING /tmp/ccAfoP28.s page 7 343 008e D12C mov r13,__zero_reg__ 344 .L53: 345 0090 F801 movw r30,r16 346 0092 A184 ldd r10,Z+9 347 0094 B284 ldd r11,Z+10 348 0096 A114 cp r10,__zero_reg__ 349 0098 B104 cpc r11,__zero_reg__ 350 009a 01F0 breq .L55 351 009c E114 cp r14,__zero_reg__ 352 009e F104 cpc r15,__zero_reg__ 353 00a0 01F4 brne .L55 354 00a2 C5FE sbrs r12,5 355 00a4 00C0 rjmp .L56 356 00a6 40E0 ldi r20,0 357 00a8 50E0 ldi r21,0 358 00aa B501 movw r22,r10 359 00ac CE01 movw r24,r28 360 00ae 0796 adiw r24,7 361 00b0 0E94 0000 call NutNetBufAllocData 362 00b4 7C01 movw r14,r24 363 00b6 892B or r24,r25 364 00b8 01F4 brne .L55 365 00ba F801 movw r30,r16 366 00bc 6781 ldd r22,Z+7 367 00be 7085 ldd r23,Z+8 368 00c0 A501 movw r20,r10 369 00c2 8F81 ldd r24,Y+7 370 00c4 9885 ldd r25,Y+8 371 00c6 0E94 0000 call memcpy 372 00ca 8A81 ldd r24,Y+2 373 00cc 8062 ori r24,lo8(32) 374 00ce 8A83 std Y+2,r24 375 00d0 00C0 rjmp .L55 376 .L56: 377 00d2 F801 movw r30,r16 378 00d4 8781 ldd r24,Z+7 379 00d6 9085 ldd r25,Z+8 380 00d8 9887 std Y+8,r25 381 00da 8F83 std Y+7,r24 382 00dc BA86 std Y+10,r11 383 00de A986 std Y+9,r10 384 00e0 DD24 clr r13 385 00e2 D394 inc r13 386 .L55: 387 00e4 F801 movw r30,r16 388 00e6 A584 ldd r10,Z+13 389 00e8 B684 ldd r11,Z+14 390 00ea A114 cp r10,__zero_reg__ 391 00ec B104 cpc r11,__zero_reg__ 392 00ee 01F0 breq .L57 393 00f0 E114 cp r14,__zero_reg__ 394 00f2 F104 cpc r15,__zero_reg__ 395 00f4 01F4 brne .L57 396 00f6 C6FE sbrs r12,6 397 00f8 00C0 rjmp .L58 398 00fa 40E0 ldi r20,0 399 00fc 50E0 ldi r21,0 GAS LISTING /tmp/ccAfoP28.s page 8 400 00fe B501 movw r22,r10 401 0100 CE01 movw r24,r28 402 0102 0B96 adiw r24,11 403 0104 0E94 0000 call NutNetBufAllocData 404 0108 7C01 movw r14,r24 405 010a 892B or r24,r25 406 010c 01F4 brne .L57 407 010e F801 movw r30,r16 408 0110 6385 ldd r22,Z+11 409 0112 7485 ldd r23,Z+12 410 0114 A501 movw r20,r10 411 0116 8B85 ldd r24,Y+11 412 0118 9C85 ldd r25,Y+12 413 011a 0E94 0000 call memcpy 414 011e 8A81 ldd r24,Y+2 415 0120 8064 ori r24,lo8(64) 416 0122 8A83 std Y+2,r24 417 0124 00C0 rjmp .L57 418 .L58: 419 0126 F801 movw r30,r16 420 0128 8385 ldd r24,Z+11 421 012a 9485 ldd r25,Z+12 422 012c 9C87 std Y+12,r25 423 012e 8B87 std Y+11,r24 424 0130 BE86 std Y+14,r11 425 0132 AD86 std Y+13,r10 426 0134 DD24 clr r13 427 0136 D394 inc r13 428 .L57: 429 0138 F801 movw r30,r16 430 013a A188 ldd r10,Z+17 431 013c B288 ldd r11,Z+18 432 013e A114 cp r10,__zero_reg__ 433 0140 B104 cpc r11,__zero_reg__ 434 0142 01F0 breq .L59 435 0144 EF28 or r14,r15 436 0146 01F4 brne .L64 437 0148 C7FE sbrs r12,7 438 014a 00C0 rjmp .L61 439 014c 40E0 ldi r20,0 440 014e 50E0 ldi r21,0 441 0150 B501 movw r22,r10 442 0152 CE01 movw r24,r28 443 0154 0F96 adiw r24,15 444 0156 0E94 0000 call NutNetBufAllocData 445 015a 892B or r24,r25 446 015c 01F4 brne .L64 447 015e F801 movw r30,r16 448 0160 6785 ldd r22,Z+15 449 0162 7089 ldd r23,Z+16 450 0164 A501 movw r20,r10 451 0166 8F85 ldd r24,Y+15 452 0168 9889 ldd r25,Y+16 453 016a 0E94 0000 call memcpy 454 016e 8A81 ldd r24,Y+2 455 0170 8068 ori r24,lo8(-128) 456 0172 8A83 std Y+2,r24 GAS LISTING /tmp/ccAfoP28.s page 9 457 0174 00C0 rjmp .L62 458 .L61: 459 0176 F801 movw r30,r16 460 0178 8785 ldd r24,Z+15 461 017a 9089 ldd r25,Z+16 462 017c 988B std Y+16,r25 463 017e 8F87 std Y+15,r24 464 0180 BA8A std Y+18,r11 465 0182 A98A std Y+17,r10 466 0184 00C0 rjmp .L63 467 .L59: 468 0186 EF28 or r14,r15 469 0188 01F4 brne .L64 470 .L62: 471 018a DD20 tst r13 472 018c 01F0 breq .L71 473 .L63: 474 018e 1C8B std Y+20,r17 475 0190 0B8B std Y+19,r16 476 0192 F801 movw r30,r16 477 0194 8281 ldd r24,Z+2 478 0196 8F5F subi r24,lo8(-(1)) 479 0198 8283 std Z+2,r24 480 019a 00C0 rjmp .L71 481 .L64: 482 019c CE01 movw r24,r28 483 019e 0E94 0000 call NutNetBufFree 484 01a2 C0E0 ldi r28,0 485 01a4 D0E0 ldi r29,0 486 .L71: 487 01a6 CE01 movw r24,r28 488 /* epilogue start */ 489 01a8 DF91 pop r29 490 01aa CF91 pop r28 491 01ac 1F91 pop r17 492 01ae 0F91 pop r16 493 01b0 FF90 pop r15 494 01b2 EF90 pop r14 495 01b4 DF90 pop r13 496 01b6 CF90 pop r12 497 01b8 BF90 pop r11 498 01ba AF90 pop r10 499 01bc 0895 ret 500 .size NutNetBufClonePart, .-NutNetBufClonePart 501 .section .text.NutNetBufClone,"ax",@progbits 502 .global NutNetBufClone 503 .type NutNetBufClone, @function 504 NutNetBufClone: 505 /* prologue: function */ 506 /* frame size = 0 */ 507 /* stack size = 0 */ 508 .L__stack_usage = 0 509 0000 60EF ldi r22,lo8(-16) 510 0002 0C94 0000 jmp NutNetBufClonePart 511 .size NutNetBufClone, .-NutNetBufClone 512 .section .text.NutNetBufCollect,"ax",@progbits 513 .global NutNetBufCollect GAS LISTING /tmp/ccAfoP28.s page 10 514 .type NutNetBufCollect, @function 515 NutNetBufCollect: 516 0000 6F92 push r6 517 0002 7F92 push r7 518 0004 8F92 push r8 519 0006 9F92 push r9 520 0008 AF92 push r10 521 000a BF92 push r11 522 000c CF92 push r12 523 000e DF92 push r13 524 0010 EF92 push r14 525 0012 FF92 push r15 526 0014 0F93 push r16 527 0016 1F93 push r17 528 0018 CF93 push r28 529 001a DF93 push r29 530 001c 00D0 rcall . 531 001e 1F92 push __zero_reg__ 532 0020 CDB7 in r28,__SP_L__ 533 0022 DEB7 in r29,__SP_H__ 534 /* prologue: function */ 535 /* frame size = 4 */ 536 /* stack size = 18 */ 537 .L__stack_usage = 18 538 0024 7C01 movw r14,r24 539 0026 5B01 movw r10,r22 540 0028 40E0 ldi r20,0 541 002a 50E0 ldi r21,0 542 002c CE01 movw r24,r28 543 002e 0196 adiw r24,1 544 0030 0E94 0000 call NutNetBufAllocData 545 0034 892B or r24,r25 546 0036 01F0 breq .+2 547 0038 00C0 rjmp .L88 548 003a 8980 ldd r8,Y+1 549 003c 9A80 ldd r9,Y+2 550 003e F701 movw r30,r14 551 0040 6785 ldd r22,Z+15 552 0042 7089 ldd r23,Z+16 553 0044 4189 ldd r20,Z+17 554 0046 5289 ldd r21,Z+18 555 0048 C401 movw r24,r8 556 004a 0E94 0000 call memcpy 557 004e F701 movw r30,r14 558 0050 8189 ldd r24,Z+17 559 0052 9289 ldd r25,Z+18 560 0054 9C83 std Y+4,r25 561 0056 8B83 std Y+3,r24 562 0058 0081 ld r16,Z 563 005a 1181 ldd r17,Z+1 564 005c C12C mov r12,__zero_reg__ 565 005e D12C mov r13,__zero_reg__ 566 .L83: 567 0060 0115 cp r16,__zero_reg__ 568 0062 1105 cpc r17,__zero_reg__ 569 0064 01F0 breq .L84 570 0066 8B81 ldd r24,Y+3 GAS LISTING /tmp/ccAfoP28.s page 11 571 0068 9C81 ldd r25,Y+4 572 006a F801 movw r30,r16 573 006c 4189 ldd r20,Z+17 574 006e 5289 ldd r21,Z+18 575 0070 9C01 movw r18,r24 576 0072 240F add r18,r20 577 0074 351F adc r19,r21 578 0076 A216 cp r10,r18 579 0078 B306 cpc r11,r19 580 007a 04F0 brlt .L84 581 007c F801 movw r30,r16 582 007e 6080 ld r6,Z 583 0080 7180 ldd r7,Z+1 584 0082 6785 ldd r22,Z+15 585 0084 7089 ldd r23,Z+16 586 0086 880D add r24,r8 587 0088 991D adc r25,r9 588 008a 0E94 0000 call memcpy 589 008e 2B81 ldd r18,Y+3 590 0090 3C81 ldd r19,Y+4 591 0092 F801 movw r30,r16 592 0094 8189 ldd r24,Z+17 593 0096 9289 ldd r25,Z+18 594 0098 820F add r24,r18 595 009a 931F adc r25,r19 596 009c 9C83 std Y+4,r25 597 009e 8B83 std Y+3,r24 598 00a0 C801 movw r24,r16 599 00a2 0E94 0000 call NutNetBufFree 600 00a6 FFEF ldi r31,-1 601 00a8 CF1A sub r12,r31 602 00aa DF0A sbc r13,r31 603 00ac 8301 movw r16,r6 604 00ae 00C0 rjmp .L83 605 .L84: 606 00b0 F701 movw r30,r14 607 00b2 1183 std Z+1,r17 608 00b4 0083 st Z,r16 609 00b6 8281 ldd r24,Z+2 610 00b8 87FF sbrs r24,7 611 00ba 00C0 rjmp .L86 612 00bc 6785 ldd r22,Z+15 613 00be 7089 ldd r23,Z+16 614 00c0 80E0 ldi r24,lo8(heapFreeList) 615 00c2 90E0 ldi r25,hi8(heapFreeList) 616 00c4 0E94 0000 call NutHeapRootFree 617 00c8 00C0 rjmp .L87 618 .L86: 619 00ca 8068 ori r24,lo8(-128) 620 00cc F701 movw r30,r14 621 00ce 8283 std Z+2,r24 622 .L87: 623 00d0 8981 ldd r24,Y+1 624 00d2 9A81 ldd r25,Y+2 625 00d4 F701 movw r30,r14 626 00d6 908B std Z+16,r25 627 00d8 8787 std Z+15,r24 GAS LISTING /tmp/ccAfoP28.s page 12 628 00da 8B81 ldd r24,Y+3 629 00dc 9C81 ldd r25,Y+4 630 00de 928B std Z+18,r25 631 00e0 818B std Z+17,r24 632 00e2 00C0 rjmp .L82 633 .L88: 634 00e4 C12C mov r12,__zero_reg__ 635 00e6 D12C mov r13,__zero_reg__ 636 .L82: 637 00e8 C601 movw r24,r12 638 /* epilogue start */ 639 00ea 0F90 pop __tmp_reg__ 640 00ec 0F90 pop __tmp_reg__ 641 00ee 0F90 pop __tmp_reg__ 642 00f0 0F90 pop __tmp_reg__ 643 00f2 DF91 pop r29 644 00f4 CF91 pop r28 645 00f6 1F91 pop r17 646 00f8 0F91 pop r16 647 00fa FF90 pop r15 648 00fc EF90 pop r14 649 00fe DF90 pop r13 650 0100 CF90 pop r12 651 0102 BF90 pop r11 652 0104 AF90 pop r10 653 0106 9F90 pop r9 654 0108 8F90 pop r8 655 010a 7F90 pop r7 656 010c 6F90 pop r6 657 010e 0895 ret 658 .size NutNetBufCollect, .-NutNetBufCollect 659 .ident "GCC: (GNU) 5.3.0" GAS LISTING /tmp/ccAfoP28.s page 13 DEFINED SYMBOLS *ABS*:0000000000000000 netbuf.c /tmp/ccAfoP28.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccAfoP28.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccAfoP28.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccAfoP28.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccAfoP28.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccAfoP28.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccAfoP28.s:10 .text.NutNetBufAllocData:0000000000000000 NutNetBufAllocData /tmp/ccAfoP28.s:60 .text.NutNetBufFree:0000000000000000 NutNetBufFree /tmp/ccAfoP28.s:132 .text.NutNetBufAlloc:0000000000000000 NutNetBufAlloc /tmp/ccAfoP28.s:266 .text.NutNetBufClonePart:0000000000000000 NutNetBufClonePart /tmp/ccAfoP28.s:504 .text.NutNetBufClone:0000000000000000 NutNetBufClone /tmp/ccAfoP28.s:515 .text.NutNetBufCollect:0000000000000000 NutNetBufCollect UNDEFINED SYMBOLS heapFreeList NutHeapRootAlloc NutHeapRootFree NutHeapRootAllocClear memcpy