GAS LISTING /tmp/cczNGAAX.s page 1 1 .file "nicrtl.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.Delay16Cycles,"ax",@progbits 9 .type Delay16Cycles, @function 10 Delay16Cycles: 11 /* prologue: function */ 12 /* frame size = 0 */ 13 /* stack size = 0 */ 14 .L__stack_usage = 0 15 /* #APP */ 16 ; 211 "../../nut/arch/avr/dev/nicrtl.c" 1 17 0000 0000 nop 18 ; 0 "" 2 19 ; 212 "../../nut/arch/avr/dev/nicrtl.c" 1 20 0002 0000 nop 21 ; 0 "" 2 22 ; 213 "../../nut/arch/avr/dev/nicrtl.c" 1 23 0004 0000 nop 24 ; 0 "" 2 25 ; 214 "../../nut/arch/avr/dev/nicrtl.c" 1 26 0006 0000 nop 27 ; 0 "" 2 28 ; 215 "../../nut/arch/avr/dev/nicrtl.c" 1 29 0008 0000 nop 30 ; 0 "" 2 31 ; 216 "../../nut/arch/avr/dev/nicrtl.c" 1 32 000a 0000 nop 33 ; 0 "" 2 34 ; 217 "../../nut/arch/avr/dev/nicrtl.c" 1 35 000c 0000 nop 36 ; 0 "" 2 37 ; 218 "../../nut/arch/avr/dev/nicrtl.c" 1 38 000e 0000 nop 39 ; 0 "" 2 40 ; 219 "../../nut/arch/avr/dev/nicrtl.c" 1 41 0010 0000 nop 42 ; 0 "" 2 43 ; 220 "../../nut/arch/avr/dev/nicrtl.c" 1 44 0012 0000 nop 45 ; 0 "" 2 46 ; 221 "../../nut/arch/avr/dev/nicrtl.c" 1 47 0014 0000 nop 48 ; 0 "" 2 49 ; 222 "../../nut/arch/avr/dev/nicrtl.c" 1 50 0016 0000 nop 51 ; 0 "" 2 52 ; 223 "../../nut/arch/avr/dev/nicrtl.c" 1 53 0018 0000 nop 54 ; 0 "" 2 55 ; 224 "../../nut/arch/avr/dev/nicrtl.c" 1 56 001a 0000 nop 57 ; 0 "" 2 GAS LISTING /tmp/cczNGAAX.s page 2 58 ; 225 "../../nut/arch/avr/dev/nicrtl.c" 1 59 001c 0000 nop 60 ; 0 "" 2 61 ; 226 "../../nut/arch/avr/dev/nicrtl.c" 1 62 001e 0000 nop 63 ; 0 "" 2 64 /* #NOAPP */ 65 0020 0895 ret 66 .size Delay16Cycles, .-Delay16Cycles 67 .section .text.NicCompleteDma,"ax",@progbits 68 .type NicCompleteDma, @function 69 NicCompleteDma: 70 /* prologue: function */ 71 /* frame size = 0 */ 72 /* stack size = 0 */ 73 .L__stack_usage = 0 74 0000 82E2 ldi r24,lo8(34) 75 0002 8093 00C3 sts -15616,r24 76 0006 85E1 ldi r24,lo8(21) 77 .L4: 78 0008 9091 07C3 lds r25,-15609 79 000c 96FD sbrc r25,6 80 000e 00C0 rjmp .L3 81 0010 8150 subi r24,lo8(-(-1)) 82 0012 01F4 brne .L4 83 .L3: 84 0014 80E4 ldi r24,lo8(64) 85 0016 8093 07C3 sts -15609,r24 86 001a 0895 ret 87 .size NicCompleteDma, .-NicCompleteDma 88 .section .text.NicWrite,"ax",@progbits 89 .type NicWrite, @function 90 NicWrite: 91 /* prologue: function */ 92 /* frame size = 0 */ 93 /* stack size = 0 */ 94 .L__stack_usage = 0 95 0000 6115 cp r22,__zero_reg__ 96 0002 7105 cpc r23,__zero_reg__ 97 0004 01F0 breq .L7 98 0006 6150 subi r22,1 99 0008 7109 sbc r23,__zero_reg__ 100 000a 272F mov r18,r23 101 000c FC01 movw r30,r24 102 .L9: 103 000e 8191 ld r24,Z+ 104 0010 8093 10C3 sts -15600,r24 105 0014 8FEF ldi r24,lo8(-1) 106 0016 860F add r24,r22 107 0018 6623 tst r22 108 001a 01F0 breq .L15 109 .L10: 110 001c 682F mov r22,r24 111 001e 00C0 rjmp .L9 112 .L15: 113 0020 8FEF ldi r24,lo8(-1) 114 0022 820F add r24,r18 GAS LISTING /tmp/cczNGAAX.s page 3 115 0024 2223 tst r18 116 0026 01F0 breq .L7 117 0028 282F mov r18,r24 118 002a 8FEF ldi r24,lo8(-1) 119 002c 00C0 rjmp .L10 120 .L7: 121 002e 0895 ret 122 .size NicWrite, .-NicWrite 123 .section .text.NicInterrupt,"ax",@progbits 124 .type NicInterrupt, @function 125 NicInterrupt: 126 /* prologue: function */ 127 /* frame size = 0 */ 128 /* stack size = 0 */ 129 .L__stack_usage = 0 130 0000 DC01 movw r26,r24 131 0002 5196 adiw r26,17 132 0004 ED91 ld r30,X+ 133 0006 FC91 ld r31,X 134 0008 5297 sbiw r26,17+1 135 000a 8285 ldd r24,Z+10 136 000c 9385 ldd r25,Z+11 137 000e A485 ldd r26,Z+12 138 0010 B585 ldd r27,Z+13 139 0012 0196 adiw r24,1 140 0014 A11D adc r26,__zero_reg__ 141 0016 B11D adc r27,__zero_reg__ 142 0018 8287 std Z+10,r24 143 001a 9387 std Z+11,r25 144 001c A487 std Z+12,r26 145 001e B587 std Z+13,r27 146 0020 8091 07C3 lds r24,-15609 147 0024 8093 07C3 sts -15609,r24 148 0028 84FF sbrs r24,4 149 002a 00C0 rjmp .L17 150 .L40: 151 002c 8091 00C3 lds r24,-15616 152 0030 82FD sbrc r24,2 153 0032 00C0 rjmp .L40 154 0034 9091 00C3 lds r25,-15616 155 0038 81E6 ldi r24,lo8(97) 156 003a 8093 00C3 sts -15616,r24 157 003e 8091 07C3 lds r24,-15609 158 0042 21E2 ldi r18,lo8(33) 159 0044 2093 00C3 sts -15616,r18 160 0048 1092 0AC3 sts -15606,__zero_reg__ 161 004c 1092 0BC3 sts -15605,__zero_reg__ 162 0050 92FF sbrs r25,2 163 0052 00C0 rjmp .L27 164 0054 2091 07C3 lds r18,-15609 165 0058 2A70 andi r18,lo8(10) 166 005a 91E0 ldi r25,lo8(1) 167 005c 01F0 breq .L19 168 .L27: 169 005e 90E0 ldi r25,0 170 .L19: 171 0060 22E0 ldi r18,lo8(2) GAS LISTING /tmp/cczNGAAX.s page 4 172 0062 2093 0DC3 sts -15603,r18 173 0066 22E2 ldi r18,lo8(34) 174 0068 2093 00C3 sts -15616,r18 175 006c 8150 subi r24,lo8(-(-1)) 176 006e 8634 cpi r24,lo8(70) 177 0070 00F4 brsh .L21 178 0072 8FE5 ldi r24,lo8(95) 179 .L21: 180 0074 8093 03C3 sts -15613,r24 181 0078 1092 0DC3 sts -15603,__zero_reg__ 182 007c 9923 tst r25 183 007e 01F0 breq .L22 184 0080 86E2 ldi r24,lo8(38) 185 0082 8093 00C3 sts -15616,r24 186 .L22: 187 0086 80E1 ldi r24,lo8(16) 188 0088 8093 07C3 sts -15609,r24 189 008c 8685 ldd r24,Z+14 190 008e 9785 ldd r25,Z+15 191 0090 A089 ldd r26,Z+16 192 0092 B189 ldd r27,Z+17 193 0094 0196 adiw r24,1 194 0096 A11D adc r26,__zero_reg__ 195 0098 B11D adc r27,__zero_reg__ 196 009a 8687 std Z+14,r24 197 009c 9787 std Z+15,r25 198 009e A08B std Z+16,r26 199 00a0 B18B std Z+17,r27 200 00a2 0895 ret 201 .L17: 202 00a4 83FF sbrs r24,3 203 00a6 00C0 rjmp .L24 204 00a8 42A1 ldd r20,Z+34 205 00aa 53A1 ldd r21,Z+35 206 00ac 64A1 ldd r22,Z+36 207 00ae 75A1 ldd r23,Z+37 208 00b0 4F5F subi r20,-1 209 00b2 5F4F sbci r21,-1 210 00b4 6F4F sbci r22,-1 211 00b6 7F4F sbci r23,-1 212 00b8 42A3 std Z+34,r20 213 00ba 53A3 std Z+35,r21 214 00bc 64A3 std Z+36,r22 215 00be 75A3 std Z+37,r23 216 .L24: 217 00c0 80FF sbrs r24,0 218 00c2 00C0 rjmp .L25 219 00c4 2081 ld r18,Z 220 00c6 3181 ldd r19,Z+1 221 00c8 232B or r18,r19 222 00ca 01F4 brne .L26 223 00cc 2FEF ldi r18,lo8(-1) 224 00ce 3FEF ldi r19,lo8(-1) 225 00d0 3183 std Z+1,r19 226 00d2 2083 st Z,r18 227 00d4 00C0 rjmp .L25 228 .L26: GAS LISTING /tmp/cczNGAAX.s page 5 229 00d6 2081 ld r18,Z 230 00d8 3181 ldd r19,Z+1 231 00da 2F3F cpi r18,-1 232 00dc 3F4F sbci r19,-1 233 00de 01F0 breq .L25 234 00e0 A081 ld r26,Z 235 00e2 B181 ldd r27,Z+1 236 00e4 1496 adiw r26,4 237 00e6 2D91 ld r18,X+ 238 00e8 3C91 ld r19,X 239 00ea 1597 sbiw r26,4+1 240 00ec 2F5F subi r18,-1 241 00ee 3F4F sbci r19,-1 242 00f0 1596 adiw r26,4+1 243 00f2 3C93 st X,r19 244 00f4 2E93 st -X,r18 245 00f6 1497 sbiw r26,4 246 .L25: 247 00f8 82FF sbrs r24,2 248 00fa 00C0 rjmp .L16 249 00fc 2091 0DC3 lds r18,-15603 250 0100 8289 ldd r24,Z+18 251 0102 9389 ldd r25,Z+19 252 0104 A489 ldd r26,Z+20 253 0106 B589 ldd r27,Z+21 254 0108 820F add r24,r18 255 010a 911D adc r25,__zero_reg__ 256 010c A11D adc r26,__zero_reg__ 257 010e B11D adc r27,__zero_reg__ 258 0110 828B std Z+18,r24 259 0112 938B std Z+19,r25 260 0114 A48B std Z+20,r26 261 0116 B58B std Z+21,r27 262 0118 2091 0EC3 lds r18,-15602 263 011c 8689 ldd r24,Z+22 264 011e 9789 ldd r25,Z+23 265 0120 A08D ldd r26,Z+24 266 0122 B18D ldd r27,Z+25 267 0124 820F add r24,r18 268 0126 911D adc r25,__zero_reg__ 269 0128 A11D adc r26,__zero_reg__ 270 012a B11D adc r27,__zero_reg__ 271 012c 868B std Z+22,r24 272 012e 978B std Z+23,r25 273 0130 A08F std Z+24,r26 274 0132 B18F std Z+25,r27 275 0134 2091 0FC3 lds r18,-15601 276 0138 828D ldd r24,Z+26 277 013a 938D ldd r25,Z+27 278 013c A48D ldd r26,Z+28 279 013e B58D ldd r27,Z+29 280 0140 820F add r24,r18 281 0142 911D adc r25,__zero_reg__ 282 0144 A11D adc r26,__zero_reg__ 283 0146 B11D adc r27,__zero_reg__ 284 0148 828F std Z+26,r24 285 014a 938F std Z+27,r25 GAS LISTING /tmp/cczNGAAX.s page 6 286 014c A48F std Z+28,r26 287 014e B58F std Z+29,r27 288 .L16: 289 0150 0895 ret 290 .size NicInterrupt, .-NicInterrupt 291 .section .text.NicStart,"ax",@progbits 292 .type NicStart, @function 293 NicStart: 294 0000 0F93 push r16 295 0002 1F93 push r17 296 0004 CF93 push r28 297 0006 DF93 push r29 298 /* prologue: function */ 299 /* frame size = 0 */ 300 /* stack size = 4 */ 301 .L__stack_usage = 4 302 0008 8C01 movw r16,r24 303 000a C4E1 ldi r28,lo8(20) 304 .L52: 305 000c D091 1FC3 lds r29,-15585 306 0010 85E0 ldi r24,lo8(5) 307 0012 0E94 0000 call NutDelay 308 0016 D093 1FC3 sts -15585,r29 309 001a D4E1 ldi r29,lo8(20) 310 .L51: 311 001c 82E3 ldi r24,lo8(50) 312 001e 0E94 0000 call NutDelay 313 0022 8091 07C3 lds r24,-15609 314 0026 87FF sbrs r24,7 315 0028 00C0 rjmp .L49 316 002a 8091 0AC3 lds r24,-15606 317 002e 8035 cpi r24,lo8(80) 318 0030 01F4 brne .L49 319 0032 8091 0BC3 lds r24,-15605 320 0036 8037 cpi r24,lo8(112) 321 0038 01F0 breq .L50 322 .L49: 323 003a D150 subi r29,lo8(-(-1)) 324 003c 01F4 brne .L51 325 003e C150 subi r28,lo8(-(-1)) 326 0040 01F4 brne .L52 327 0042 8FEF ldi r24,lo8(-1) 328 0044 9FEF ldi r25,lo8(-1) 329 0046 00C0 rjmp .L58 330 .L50: 331 0048 1092 0FC3 sts -15601,__zero_reg__ 332 004c DFEF ldi r29,lo8(-1) 333 004e D093 07C3 sts -15609,r29 334 0052 81EE ldi r24,lo8(-31) 335 0054 8093 00C3 sts -15616,r24 336 0058 80EC ldi r24,lo8(-64) 337 005a 8093 01C3 sts -15615,r24 338 005e C0E2 ldi r28,lo8(32) 339 0060 C093 05C3 sts -15611,r28 340 0064 C093 06C3 sts -15610,r28 341 0068 1092 01C3 sts -15615,__zero_reg__ 342 006c 8FEF ldi r24,lo8(-1) GAS LISTING /tmp/cczNGAAX.s page 7 343 006e 0E94 0000 call NutDelay 344 0072 81E2 ldi r24,lo8(33) 345 0074 8093 00C3 sts -15616,r24 346 0078 88E4 ldi r24,lo8(72) 347 007a 8093 0EC3 sts -15602,r24 348 007e 1092 0AC3 sts -15606,__zero_reg__ 349 0082 1092 0BC3 sts -15605,__zero_reg__ 350 0086 C093 0CC3 sts -15604,r28 351 008a 82E0 ldi r24,lo8(2) 352 008c 8093 0DC3 sts -15603,r24 353 0090 80E4 ldi r24,lo8(64) 354 0092 8093 04C3 sts -15612,r24 355 0096 8FE5 ldi r24,lo8(95) 356 0098 8093 03C3 sts -15613,r24 357 009c 86E4 ldi r24,lo8(70) 358 009e 8093 01C3 sts -15615,r24 359 00a2 80E6 ldi r24,lo8(96) 360 00a4 8093 02C3 sts -15614,r24 361 00a8 D093 07C3 sts -15609,r29 362 00ac 81E6 ldi r24,lo8(97) 363 00ae 8093 00C3 sts -15616,r24 364 00b2 F801 movw r30,r16 365 00b4 A1E0 ldi r26,lo8(1) 366 00b6 B3EC ldi r27,lo8(-61) 367 .L54: 368 00b8 8191 ld r24,Z+ 369 00ba 8D93 st X+,r24 370 00bc A730 cpi r26,7 371 00be 83EC ldi r24,-61 372 00c0 B807 cpc r27,r24 373 00c2 01F4 brne .L54 374 00c4 1092 08C3 sts -15608,__zero_reg__ 375 00c8 1092 09C3 sts -15607,__zero_reg__ 376 00cc 1092 0AC3 sts -15606,__zero_reg__ 377 00d0 1092 0BC3 sts -15605,__zero_reg__ 378 00d4 1092 0CC3 sts -15604,__zero_reg__ 379 00d8 1092 0DC3 sts -15603,__zero_reg__ 380 00dc 1092 0EC3 sts -15602,__zero_reg__ 381 00e0 1092 0FC3 sts -15601,__zero_reg__ 382 00e4 86E4 ldi r24,lo8(70) 383 00e6 8093 07C3 sts -15609,r24 384 00ea 81E2 ldi r24,lo8(33) 385 00ec 8093 00C3 sts -15616,r24 386 00f0 84E0 ldi r24,lo8(4) 387 00f2 8093 0CC3 sts -15604,r24 388 00f6 8FEF ldi r24,lo8(-1) 389 00f8 8093 07C3 sts -15609,r24 390 00fc 8DE1 ldi r24,lo8(29) 391 00fe 8093 0FC3 sts -15601,r24 392 0102 82E2 ldi r24,lo8(34) 393 0104 8093 00C3 sts -15616,r24 394 0108 1092 0DC3 sts -15603,__zero_reg__ 395 010c 8FEF ldi r24,lo8(-1) 396 010e 0E94 0000 call NutDelay 397 0112 80E0 ldi r24,0 398 0114 90E0 ldi r25,0 399 .L58: GAS LISTING /tmp/cczNGAAX.s page 8 400 /* epilogue start */ 401 0116 DF91 pop r29 402 0118 CF91 pop r28 403 011a 1F91 pop r17 404 011c 0F91 pop r16 405 011e 0895 ret 406 .size NicStart, .-NicStart 407 .section .text.NicRx,"ax",@progbits 408 .global NicRx 409 .type NicRx, @function 410 NicRx: 411 /* prologue: function */ 412 /* frame size = 0 */ 413 /* stack size = 0 */ 414 .L__stack_usage = 0 415 0000 5C01 movw r10,r24 416 0002 DC01 movw r26,r24 417 0004 1F96 adiw r26,15 418 0006 ED90 ld r14,X+ 419 0008 FC90 ld r15,X 420 000a 5097 sbiw r26,15+1 421 000c 5196 adiw r26,17 422 000e CD90 ld r12,X+ 423 0010 DC90 ld r13,X 424 0012 5297 sbiw r26,17+1 425 0014 89E0 ldi r24,lo8(9) 426 0016 0E94 0000 call NutThreadSetPriority 427 001a F701 movw r30,r14 428 001c 9581 ldd r25,Z+5 429 001e 8681 ldd r24,Z+6 430 0020 8923 and r24,r25 431 0022 9781 ldd r25,Z+7 432 0024 8923 and r24,r25 433 0026 8F3F cpi r24,lo8(-1) 434 0028 01F4 brne .L61 435 .L60: 436 002a D701 movw r26,r14 437 002c 1596 adiw r26,5 438 002e 9C91 ld r25,X 439 0030 1597 sbiw r26,5 440 0032 1696 adiw r26,6 441 0034 8C91 ld r24,X 442 0036 1697 sbiw r26,6 443 0038 8923 and r24,r25 444 003a 1796 adiw r26,7 445 003c 9C91 ld r25,X 446 003e 8923 and r24,r25 447 0040 8F3F cpi r24,lo8(-1) 448 0042 01F4 brne .L92 449 0044 6DE7 ldi r22,lo8(125) 450 0046 70E0 ldi r23,0 451 0048 80E0 ldi r24,0 452 004a 90E0 ldi r25,0 453 004c 0E94 0000 call NutSleep 454 0050 00C0 rjmp .L60 455 .L92: 456 0052 ED98 cbi 0x1d,5 GAS LISTING /tmp/cczNGAAX.s page 9 457 0054 C701 movw r24,r14 458 0056 0596 adiw r24,5 459 0058 0E94 0000 call NicStart 460 005c ED9A sbi 0x1d,5 461 .L61: 462 005e 24E0 ldi r18,lo8(4) 463 0060 422E mov r4,r18 464 0062 3AE0 ldi r19,lo8(10) 465 0064 332E mov r3,r19 466 0066 4701 movw r8,r14 467 0068 B5E0 ldi r27,5 468 006a 8B0E add r8,r27 469 006c 911C adc r9,__zero_reg__ 470 .L81: 471 006e 40E0 ldi r20,0 472 0070 50E0 ldi r21,0 473 0072 BA01 movw r22,r20 474 0074 C601 movw r24,r12 475 0076 0E94 0000 call NutEventWait 476 .L63: 477 007a ED98 cbi 0x1d,5 478 007c E2E6 ldi r30,lo8(98) 479 007e E093 00C3 sts -15616,r30 480 0082 0E94 0000 call Delay16Cycles 481 0086 8091 07C3 lds r24,-15609 482 008a F2E2 ldi r31,lo8(34) 483 008c F093 00C3 sts -15616,r31 484 0090 2091 03C3 lds r18,-15613 485 0094 2224 clr r2 486 0096 2394 inc r2 487 0098 220E add r2,r18 488 009a 2FE5 ldi r18,lo8(95) 489 009c 2215 cp r18,r2 490 009e 00F4 brsh .L64 491 00a0 96E4 ldi r25,lo8(70) 492 00a2 292E mov r2,r25 493 .L64: 494 00a4 8211 cpse r24,r2 495 00a6 00C0 rjmp .L65 496 00a8 ED9A sbi 0x1d,5 497 00aa 00E0 ldi r16,0 498 00ac 10E0 ldi r17,0 499 00ae 00C0 rjmp .L66 500 .L65: 501 00b0 4092 0AC3 sts -15606,r4 502 00b4 1092 0BC3 sts -15605,__zero_reg__ 503 00b8 1092 08C3 sts -15608,__zero_reg__ 504 00bc 2092 09C3 sts -15607,r2 505 00c0 3092 00C3 sts -15616,r3 506 00c4 0E94 0000 call Delay16Cycles 507 00c8 1091 10C3 lds r17,-15600 508 00cc 5090 10C3 lds r5,-15600 509 00d0 7090 10C3 lds r7,-15600 510 00d4 0091 10C3 lds r16,-15600 511 00d8 0E94 0000 call NicCompleteDma 512 00dc C72D mov r28,r7 513 00de D02F mov r29,r16 GAS LISTING /tmp/cczNGAAX.s page 10 514 00e0 81E0 ldi r24,lo8(1) 515 00e2 7110 cpse r7,__zero_reg__ 516 00e4 00C0 rjmp .L67 517 00e6 80E0 ldi r24,0 518 .L67: 519 00e8 8D0F add r24,r29 520 00ea 820D add r24,r2 521 00ec 8036 cpi r24,lo8(96) 522 00ee 00F0 brlo .L68 523 00f0 8A51 subi r24,lo8(-(-26)) 524 .L68: 525 00f2 8515 cp r24,r5 526 00f4 01F0 breq .L69 527 00f6 91E0 ldi r25,lo8(1) 528 00f8 980F add r25,r24 529 00fa 9036 cpi r25,lo8(96) 530 00fc 00F0 brlo .L70 531 00fe 97EE ldi r25,lo8(-25) 532 0100 980F add r25,r24 533 .L70: 534 0102 9515 cp r25,r5 535 0104 01F0 breq .L69 536 0106 ED9A sbi 0x1d,5 537 0108 0FEF ldi r16,lo8(-1) 538 010a 1FEF ldi r17,lo8(-1) 539 010c 00C0 rjmp .L66 540 .L69: 541 010e CE01 movw r24,r28 542 0110 8054 subi r24,64 543 0112 9109 sbc r25,__zero_reg__ 544 0114 8F3A cpi r24,-81 545 0116 9540 sbci r25,5 546 0118 00F0 brlo .L71 547 .L73: 548 011a 00E0 ldi r16,0 549 011c 10E0 ldi r17,0 550 011e 00C0 rjmp .L72 551 .L71: 552 0120 1E70 andi r17,lo8(14) 553 0122 01F4 brne .L73 554 0124 3E01 movw r6,r28 555 0126 B4E0 ldi r27,4 556 0128 6B1A sub r6,r27 557 012a 7108 sbc r7,__zero_reg__ 558 012c A301 movw r20,r6 559 012e 60E1 ldi r22,lo8(16) 560 0130 80E0 ldi r24,0 561 0132 90E0 ldi r25,0 562 0134 0E94 0000 call NutNetBufAlloc 563 0138 8C01 movw r16,r24 564 013a 892B or r24,r25 565 013c 01F0 breq .L73 566 013e 6092 0AC3 sts -15606,r6 567 0142 7092 0BC3 sts -15605,r7 568 0146 4092 08C3 sts -15608,r4 569 014a 2092 09C3 sts -15607,r2 570 014e 3092 00C3 sts -15616,r3 GAS LISTING /tmp/cczNGAAX.s page 11 571 0152 0E94 0000 call Delay16Cycles 572 0156 2597 sbiw r28,5 573 0158 8D2F mov r24,r29 574 015a D801 movw r26,r16 575 015c 1396 adiw r26,3 576 015e ED91 ld r30,X+ 577 0160 FC91 ld r31,X 578 0162 1497 sbiw r26,3+1 579 .L74: 580 0164 9091 10C3 lds r25,-15600 581 0168 9193 st Z+,r25 582 016a 9FEF ldi r25,lo8(-1) 583 016c 9C0F add r25,r28 584 016e CC23 tst r28 585 0170 01F0 breq .L93 586 .L75: 587 0172 C92F mov r28,r25 588 0174 00C0 rjmp .L74 589 .L93: 590 0176 9FEF ldi r25,lo8(-1) 591 0178 980F add r25,r24 592 017a 8111 cpse r24,__zero_reg__ 593 017c 00C0 rjmp .L82 594 017e 0E94 0000 call NicCompleteDma 595 0182 00C0 rjmp .L72 596 .L82: 597 0184 892F mov r24,r25 598 0186 9FEF ldi r25,lo8(-1) 599 0188 00C0 rjmp .L75 600 .L72: 601 018a 8FEF ldi r24,lo8(-1) 602 018c 850D add r24,r5 603 018e 8634 cpi r24,lo8(70) 604 0190 00F4 brsh .L77 605 0192 8FE5 ldi r24,lo8(95) 606 .L77: 607 0194 8093 03C3 sts -15613,r24 608 0198 ED9A sbi 0x1d,5 609 .L66: 610 019a 0F3F cpi r16,-1 611 019c BFEF ldi r27,-1 612 019e 1B07 cpc r17,r27 613 01a0 01F4 brne .L78 614 01a2 C401 movw r24,r8 615 01a4 0E94 0000 call NicStart 616 01a8 F601 movw r30,r12 617 01aa 868D ldd r24,Z+30 618 01ac 978D ldd r25,Z+31 619 01ae A0A1 ldd r26,Z+32 620 01b0 B1A1 ldd r27,Z+33 621 01b2 0196 adiw r24,1 622 01b4 A11D adc r26,__zero_reg__ 623 01b6 B11D adc r27,__zero_reg__ 624 01b8 868F std Z+30,r24 625 01ba 978F std Z+31,r25 626 01bc A0A3 std Z+32,r26 627 01be B1A3 std Z+33,r27 GAS LISTING /tmp/cczNGAAX.s page 12 628 01c0 00C0 rjmp .L79 629 .L78: 630 01c2 0115 cp r16,__zero_reg__ 631 01c4 1105 cpc r17,__zero_reg__ 632 01c6 01F0 breq .L79 633 01c8 F601 movw r30,r12 634 01ca 8281 ldd r24,Z+2 635 01cc 9381 ldd r25,Z+3 636 01ce A481 ldd r26,Z+4 637 01d0 B581 ldd r27,Z+5 638 01d2 0196 adiw r24,1 639 01d4 A11D adc r26,__zero_reg__ 640 01d6 B11D adc r27,__zero_reg__ 641 01d8 8283 std Z+2,r24 642 01da 9383 std Z+3,r25 643 01dc A483 std Z+4,r26 644 01de B583 std Z+5,r27 645 01e0 D701 movw r26,r14 646 01e2 5F96 adiw r26,31 647 01e4 ED91 ld r30,X+ 648 01e6 FC91 ld r31,X 649 01e8 9097 sbiw r26,31+1 650 01ea B801 movw r22,r16 651 01ec C501 movw r24,r10 652 01ee 1995 eicall 653 01f0 00C0 rjmp .L63 654 .L79: 655 01f2 012B or r16,r17 656 01f4 01F0 breq .+2 657 01f6 00C0 rjmp .L63 658 01f8 00C0 rjmp .L81 659 .size NicRx, .-NicRx 660 .section .text.NicOutput,"ax",@progbits 661 .global NicOutput 662 .type NicOutput, @function 663 NicOutput: 664 0000 CF92 push r12 665 0002 DF92 push r13 666 0004 EF92 push r14 667 0006 FF92 push r15 668 0008 0F93 push r16 669 000a 1F93 push r17 670 000c CF93 push r28 671 000e DF93 push r29 672 /* prologue: function */ 673 /* frame size = 0 */ 674 /* stack size = 8 */ 675 .L__stack_usage = 8 676 0010 EB01 movw r28,r22 677 0012 FC01 movw r30,r24 678 0014 C188 ldd r12,Z+17 679 0016 D288 ldd r13,Z+18 680 0018 0D81 ldd r16,Y+5 681 001a 1E81 ldd r17,Y+6 682 001c 8985 ldd r24,Y+9 683 001e 9A85 ldd r25,Y+10 684 0020 080F add r16,r24 GAS LISTING /tmp/cczNGAAX.s page 13 685 0022 191F adc r17,r25 686 0024 8D85 ldd r24,Y+13 687 0026 9E85 ldd r25,Y+14 688 0028 080F add r16,r24 689 002a 191F adc r17,r25 690 002c 8989 ldd r24,Y+17 691 002e 9A89 ldd r25,Y+18 692 0030 080F add r16,r24 693 0032 191F adc r17,r25 694 0034 0B3E cpi r16,-21 695 0036 F5E0 ldi r31,5 696 0038 1F07 cpc r17,r31 697 003a 00F0 brlo .+2 698 003c 00C0 rjmp .L101 699 003e 0C33 cpi r16,60 700 0040 1105 cpc r17,__zero_reg__ 701 0042 00F4 brsh .L102 702 0044 8CE3 ldi r24,lo8(60) 703 0046 F82E mov r15,r24 704 0048 F01A sub r15,r16 705 004a 0CE3 ldi r16,lo8(60) 706 004c 10E0 ldi r17,0 707 004e 00C0 rjmp .L97 708 .L102: 709 0050 F12C mov r15,__zero_reg__ 710 .L97: 711 0052 8091 00C3 lds r24,-15616 712 0056 82FF sbrs r24,2 713 0058 00C0 rjmp .L103 714 005a 0E94 0000 call NutThreadYield 715 005e 00C0 rjmp .L97 716 .L103: 717 0060 ED98 cbi 0x1d,5 718 0062 E02E mov r14,r16 719 0064 0093 0AC3 sts -15606,r16 720 0068 012F mov r16,r17 721 006a 1093 0BC3 sts -15605,r17 722 006e 1092 08C3 sts -15608,__zero_reg__ 723 0072 80E4 ldi r24,lo8(64) 724 0074 8093 09C3 sts -15607,r24 725 0078 82E1 ldi r24,lo8(18) 726 007a 8093 00C3 sts -15616,r24 727 007e 6D81 ldd r22,Y+5 728 0080 7E81 ldd r23,Y+6 729 0082 8B81 ldd r24,Y+3 730 0084 9C81 ldd r25,Y+4 731 0086 0E94 0000 call NicWrite 732 008a 6985 ldd r22,Y+9 733 008c 7A85 ldd r23,Y+10 734 008e 8F81 ldd r24,Y+7 735 0090 9885 ldd r25,Y+8 736 0092 0E94 0000 call NicWrite 737 0096 6D85 ldd r22,Y+13 738 0098 7E85 ldd r23,Y+14 739 009a 8B85 ldd r24,Y+11 740 009c 9C85 ldd r25,Y+12 741 009e 0E94 0000 call NicWrite GAS LISTING /tmp/cczNGAAX.s page 14 742 00a2 6989 ldd r22,Y+17 743 00a4 7A89 ldd r23,Y+18 744 00a6 8F85 ldd r24,Y+15 745 00a8 9889 ldd r25,Y+16 746 00aa 0E94 0000 call NicWrite 747 00ae 20E0 ldi r18,0 748 00b0 30E0 ldi r19,0 749 00b2 8F2D mov r24,r15 750 00b4 90E0 ldi r25,0 751 .L99: 752 00b6 2817 cp r18,r24 753 00b8 3907 cpc r19,r25 754 00ba 00F4 brsh .L104 755 00bc 1092 10C3 sts -15600,__zero_reg__ 756 00c0 2F5F subi r18,-1 757 00c2 3F4F sbci r19,-1 758 00c4 00C0 rjmp .L99 759 .L104: 760 00c6 0E94 0000 call NicCompleteDma 761 00ca E092 05C3 sts -15611,r14 762 00ce 0093 06C3 sts -15610,r16 763 00d2 80E4 ldi r24,lo8(64) 764 00d4 8093 04C3 sts -15612,r24 765 00d8 86E2 ldi r24,lo8(38) 766 00da 8093 00C3 sts -15616,r24 767 00de ED9A sbi 0x1d,5 768 00e0 F601 movw r30,r12 769 00e2 8681 ldd r24,Z+6 770 00e4 9781 ldd r25,Z+7 771 00e6 A085 ldd r26,Z+8 772 00e8 B185 ldd r27,Z+9 773 00ea 0196 adiw r24,1 774 00ec A11D adc r26,__zero_reg__ 775 00ee B11D adc r27,__zero_reg__ 776 00f0 8683 std Z+6,r24 777 00f2 9783 std Z+7,r25 778 00f4 A087 std Z+8,r26 779 00f6 B187 std Z+9,r27 780 00f8 80E0 ldi r24,0 781 00fa 90E0 ldi r25,0 782 00fc 00C0 rjmp .L95 783 .L101: 784 00fe 8FEF ldi r24,lo8(-1) 785 0100 9FEF ldi r25,lo8(-1) 786 .L95: 787 /* epilogue start */ 788 0102 DF91 pop r29 789 0104 CF91 pop r28 790 0106 1F91 pop r17 791 0108 0F91 pop r16 792 010a FF90 pop r15 793 010c EF90 pop r14 794 010e DF90 pop r13 795 0110 CF90 pop r12 796 0112 0895 ret 797 .size NicOutput, .-NicOutput 798 .section .rodata.str1.1,"aMS",@progbits,1 GAS LISTING /tmp/cczNGAAX.s page 15 799 .LC0: 800 0000 7278 6935 .string "rxi5" 800 00 801 .section .text.NicInit,"ax",@progbits 802 .global NicInit 803 .type NicInit, @function 804 NicInit: 805 0000 0F93 push r16 806 0002 1F93 push r17 807 0004 CF93 push r28 808 0006 DF93 push r29 809 /* prologue: function */ 810 /* frame size = 0 */ 811 /* stack size = 4 */ 812 .L__stack_usage = 4 813 0008 8C01 movw r16,r24 814 000a 8091 0000 lds r24,confnet 815 000e 8111 cpse r24,__zero_reg__ 816 0010 00C0 rjmp .L106 817 0012 C801 movw r24,r16 818 0014 0296 adiw r24,2 819 0016 0E94 0000 call NutNetLoadConfig 820 .L106: 821 001a D801 movw r26,r16 822 001c 1F96 adiw r26,15 823 001e CD91 ld r28,X+ 824 0020 DC91 ld r29,X 825 0022 5097 sbiw r26,15+1 826 0024 86E0 ldi r24,lo8(6) 827 0026 E0E0 ldi r30,lo8(confnet+10) 828 0028 F0E0 ldi r31,hi8(confnet+10) 829 002a DE01 movw r26,r28 830 002c 1596 adiw r26,5 831 0: 832 002e 0190 ld r0,Z+ 833 0030 0D92 st X+,r0 834 0032 8A95 dec r24 835 0034 01F4 brne 0b 836 0036 D801 movw r26,r16 837 0038 5196 adiw r26,17 838 003a ED91 ld r30,X+ 839 003c FC91 ld r31,X 840 003e 5297 sbiw r26,17+1 841 0040 86E2 ldi r24,lo8(38) 842 0042 DF01 movw r26,r30 843 0: 844 0044 1D92 st X+,__zero_reg__ 845 0046 8A95 dec r24 846 0048 01F4 brne 0b 847 004a 20E0 ldi r18,0 848 004c 31E0 ldi r19,lo8(1) 849 004e A801 movw r20,r16 850 0050 60E0 ldi r22,lo8(gs(NicRx)) 851 0052 70E0 ldi r23,hi8(gs(NicRx)) 852 0054 80E0 ldi r24,lo8(.LC0) 853 0056 90E0 ldi r25,hi8(.LC0) 854 0058 0E94 0000 call NutThreadCreate GAS LISTING /tmp/cczNGAAX.s page 16 855 005c 64EF ldi r22,lo8(-12) 856 005e 71E0 ldi r23,lo8(1) 857 0060 80E0 ldi r24,0 858 0062 90E0 ldi r25,0 859 0064 0E94 0000 call NutSleep 860 0068 A801 movw r20,r16 861 006a 60E0 ldi r22,lo8(gs(NicInterrupt)) 862 006c 70E0 ldi r23,hi8(gs(NicInterrupt)) 863 006e 80E0 ldi r24,lo8(sig_INTERRUPT5) 864 0070 90E0 ldi r25,hi8(sig_INTERRUPT5) 865 0072 0E94 0000 call NutRegisterIrqHandler 866 0076 8C01 movw r16,r24 867 0078 892B or r24,r25 868 007a 01F0 breq .L107 869 .L110: 870 007c 0FEF ldi r16,lo8(-1) 871 007e 1FEF ldi r17,lo8(-1) 872 0080 00C0 rjmp .L108 873 .L107: 874 0082 ED98 cbi 0x1d,5 875 0084 9D81 ldd r25,Y+5 876 0086 8E81 ldd r24,Y+6 877 0088 892B or r24,r25 878 008a 9F81 ldd r25,Y+7 879 008c 892B or r24,r25 880 008e 01F4 brne .L109 881 .L111: 882 0090 ED9A sbi 0x1d,5 883 0092 00C0 rjmp .L108 884 .L109: 885 0094 CE01 movw r24,r28 886 0096 0596 adiw r24,5 887 0098 0E94 0000 call NicStart 888 009c 892B or r24,r25 889 009e 01F0 breq .L111 890 00a0 00C0 rjmp .L110 891 .L108: 892 00a2 C801 movw r24,r16 893 /* epilogue start */ 894 00a4 DF91 pop r29 895 00a6 CF91 pop r28 896 00a8 1F91 pop r17 897 00aa 0F91 pop r16 898 00ac 0895 ret 899 .size NicInit, .-NicInit 900 .ident "GCC: (GNU) 5.3.0" 901 .global __do_copy_data GAS LISTING /tmp/cczNGAAX.s page 17 DEFINED SYMBOLS *ABS*:0000000000000000 nicrtl.c /tmp/cczNGAAX.s:2 *ABS*:000000000000003e __SP_H__ /tmp/cczNGAAX.s:3 *ABS*:000000000000003d __SP_L__ /tmp/cczNGAAX.s:4 *ABS*:000000000000003f __SREG__ /tmp/cczNGAAX.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/cczNGAAX.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/cczNGAAX.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/cczNGAAX.s:10 .text.Delay16Cycles:0000000000000000 Delay16Cycles /tmp/cczNGAAX.s:69 .text.NicCompleteDma:0000000000000000 NicCompleteDma /tmp/cczNGAAX.s:90 .text.NicWrite:0000000000000000 NicWrite /tmp/cczNGAAX.s:125 .text.NicInterrupt:0000000000000000 NicInterrupt /tmp/cczNGAAX.s:293 .text.NicStart:0000000000000000 NicStart /tmp/cczNGAAX.s:410 .text.NicRx:0000000000000000 NicRx /tmp/cczNGAAX.s:663 .text.NicOutput:0000000000000000 NicOutput /tmp/cczNGAAX.s:804 .text.NicInit:0000000000000000 NicInit UNDEFINED SYMBOLS NutDelay NutThreadSetPriority NutSleep NutEventWait NutNetBufAlloc NutThreadYield confnet NutNetLoadConfig NutThreadCreate sig_INTERRUPT5 NutRegisterIrqHandler __do_copy_data