| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719 |
- 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
|