GAS LISTING /tmp/ccmkZ7oC.s page 1 1 .file "phy.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.NutPhyCtl,"ax",@progbits 9 .global NutPhyCtl 10 .type NutPhyCtl, @function 11 NutPhyCtl: 12 0000 4F92 push r4 13 0002 5F92 push r5 14 0004 6F92 push r6 15 0006 7F92 push r7 16 0008 8F92 push r8 17 000a 9F92 push r9 18 000c AF92 push r10 19 000e BF92 push r11 20 0010 EF92 push r14 21 0012 FF92 push r15 22 0014 0F93 push r16 23 0016 1F93 push r17 24 0018 CF93 push r28 25 001a DF93 push r29 26 /* prologue: function */ 27 /* frame size = 0 */ 28 /* stack size = 14 */ 29 .L__stack_usage = 14 30 001c 8C01 movw r16,r24 31 001e EB01 movw r28,r22 32 0020 8880 ld r8,Y 33 0022 9980 ldd r9,Y+1 34 0024 AA80 ldd r10,Y+2 35 0026 BB80 ldd r11,Y+3 36 0028 2501 movw r4,r10 37 002a 6624 clr r6 38 002c 7724 clr r7 39 002e E091 0000 lds r30,phydcb 40 0032 F091 0000 lds r31,phydcb+1 41 0036 0780 ldd __tmp_reg__,Z+7 42 0038 F085 ldd r31,Z+8 43 003a E02D mov r30,__tmp_reg__ 44 003c 80E0 ldi r24,0 45 003e 1995 eicall 46 0040 0730 cpi r16,7 47 0042 1105 cpc r17,__zero_reg__ 48 0044 01F4 brne .+2 49 0046 00C0 rjmp .L3 50 0048 00F4 brsh .L4 51 004a 0330 cpi r16,3 52 004c 1105 cpc r17,__zero_reg__ 53 004e 01F4 brne .+2 54 0050 00C0 rjmp .L5 55 0052 00F4 brsh .L6 56 0054 0130 cpi r16,1 57 0056 1105 cpc r17,__zero_reg__ GAS LISTING /tmp/ccmkZ7oC.s page 2 58 0058 01F4 brne .+2 59 005a 00C0 rjmp .L7 60 005c 0230 cpi r16,2 61 005e 1105 cpc r17,__zero_reg__ 62 0060 01F4 brne .+2 63 0062 00C0 rjmp .L8 64 0064 00C0 rjmp .L60 65 .L6: 66 0066 E091 0000 lds r30,phydcb 67 006a F091 0000 lds r31,phydcb+1 68 006e 0530 cpi r16,5 69 0070 1105 cpc r17,__zero_reg__ 70 0072 01F4 brne .+2 71 0074 00C0 rjmp .L9 72 0076 00F4 brsh .+2 73 0078 00C0 rjmp .L80 74 007a 00C0 rjmp .L90 75 .L4: 76 007c 0130 cpi r16,1 77 007e 21E0 ldi r18,1 78 0080 1207 cpc r17,r18 79 0082 01F4 brne .+2 80 0084 00C0 rjmp .L12 81 0086 00F4 brsh .L13 82 0088 0830 cpi r16,8 83 008a 1105 cpc r17,__zero_reg__ 84 008c 01F4 brne .+2 85 008e 00C0 rjmp .L14 86 0090 0115 cp r16,__zero_reg__ 87 0092 1140 sbci r17,1 88 0094 01F0 breq .+2 89 0096 00C0 rjmp .L60 90 0098 E091 0000 lds r30,phydcb 91 009c F091 0000 lds r31,phydcb+1 92 00a0 0780 ldd __tmp_reg__,Z+7 93 00a2 F085 ldd r31,Z+8 94 00a4 E02D mov r30,__tmp_reg__ 95 00a6 81E0 ldi r24,lo8(1) 96 00a8 1995 eicall 97 00aa 8470 andi r24,4 98 00ac 9927 clr r25 99 00ae 00C0 rjmp .L85 100 .L13: 101 00b0 0330 cpi r16,3 102 00b2 A1E0 ldi r26,1 103 00b4 1A07 cpc r17,r26 104 00b6 01F4 brne .+2 105 00b8 00C0 rjmp .L16 106 00ba 00F4 brsh .+2 107 00bc 00C0 rjmp .L17 108 00be 0430 cpi r16,4 109 00c0 1140 sbci r17,1 110 00c2 01F0 breq .+2 111 00c4 00C0 rjmp .L60 112 00c6 E091 0000 lds r30,phydcb 113 00ca F091 0000 lds r31,phydcb+1 114 00ce 0580 ldd __tmp_reg__,Z+5 GAS LISTING /tmp/ccmkZ7oC.s page 3 115 00d0 F681 ldd r31,Z+6 116 00d2 E02D mov r30,__tmp_reg__ 117 00d4 B401 movw r22,r8 118 00d6 842D mov r24,r4 119 00d8 00C0 rjmp .L86 120 .L7: 121 00da 8928 or r8,r9 122 00dc 01F4 brne .+2 123 00de 00C0 rjmp .L83 124 00e0 E091 0000 lds r30,phydcb 125 00e4 F091 0000 lds r31,phydcb+1 126 00e8 0580 ldd __tmp_reg__,Z+5 127 00ea F681 ldd r31,Z+6 128 00ec E02D mov r30,__tmp_reg__ 129 00ee 60E0 ldi r22,0 130 00f0 70E8 ldi r23,lo8(-128) 131 00f2 80E0 ldi r24,0 132 00f4 1995 eicall 133 00f6 C0E0 ldi r28,0 134 00f8 D0E0 ldi r29,0 135 .L20: 136 00fa E091 0000 lds r30,phydcb 137 00fe F091 0000 lds r31,phydcb+1 138 0102 0780 ldd __tmp_reg__,Z+7 139 0104 F085 ldd r31,Z+8 140 0106 E02D mov r30,__tmp_reg__ 141 0108 80E0 ldi r24,0 142 010a 1995 eicall 143 010c 97FF sbrs r25,7 144 010e 00C0 rjmp .L21 145 0110 CA30 cpi r28,10 146 0112 D105 cpc r29,__zero_reg__ 147 0114 01F4 brne .+2 148 0116 00C0 rjmp .L60 149 0118 84E6 ldi r24,lo8(100) 150 011a 0E94 0000 call NutDelay 151 011e 2196 adiw r28,1 152 0120 00C0 rjmp .L20 153 .L21: 154 0122 81E0 ldi r24,lo8(1) 155 0124 90E0 ldi r25,0 156 0126 2A97 sbiw r28,10 157 0128 01F0 breq .L23 158 012a 80E0 ldi r24,0 159 012c 90E0 ldi r25,0 160 .L23: 161 012e 9195 neg r25 162 0130 8195 neg r24 163 0132 9109 sbc r25,__zero_reg__ 164 0134 00C0 rjmp .L81 165 .L8: 166 0136 BC01 movw r22,r24 167 0138 8928 or r8,r9 168 013a 01F0 breq .L24 169 013c 7064 ori r23,64 170 013e 00C0 rjmp .L87 171 .L24: GAS LISTING /tmp/ccmkZ7oC.s page 4 172 0140 7F7B andi r23,191 173 0142 00C0 rjmp .L87 174 .L5: 175 0144 F4E6 ldi r31,100 176 0146 8F16 cp r8,r31 177 0148 9104 cpc r9,__zero_reg__ 178 014a 01F4 brne .L26 179 014c BC01 movw r22,r24 180 014e 7062 ori r23,32 181 0150 00C0 rjmp .L87 182 .L26: 183 0152 2AE0 ldi r18,10 184 0154 8216 cp r8,r18 185 0156 9104 cpc r9,__zero_reg__ 186 0158 01F0 breq .+2 187 015a 00C0 rjmp .L60 188 015c BC01 movw r22,r24 189 015e 7F7D andi r23,223 190 0160 00C0 rjmp .L87 191 .L80: 192 0162 BC01 movw r22,r24 193 0164 8928 or r8,r9 194 0166 01F0 breq .L28 195 0168 7061 ori r23,16 196 016a 00C0 rjmp .L88 197 .L28: 198 016c 7F7E andi r23,239 199 016e 00C0 rjmp .L88 200 .L9: 201 0170 BC01 movw r22,r24 202 0172 8928 or r8,r9 203 0174 01F0 breq .L30 204 0176 7860 ori r23,8 205 0178 00C0 rjmp .L88 206 .L30: 207 017a 777F andi r23,247 208 017c 00C0 rjmp .L88 209 .L90: 210 017e BC01 movw r22,r24 211 0180 8928 or r8,r9 212 0182 01F0 breq .L32 213 0184 7460 ori r23,4 214 0186 00C0 rjmp .L88 215 .L32: 216 0188 7B7F andi r23,251 217 018a 00C0 rjmp .L88 218 .L3: 219 018c BC01 movw r22,r24 220 018e 8928 or r8,r9 221 0190 01F0 breq .L34 222 0192 7160 ori r23,1 223 0194 00C0 rjmp .L87 224 .L34: 225 0196 7E7F andi r23,254 226 0198 00C0 rjmp .L87 227 .L14: 228 019a 8928 or r8,r9 GAS LISTING /tmp/ccmkZ7oC.s page 5 229 019c 01F4 brne .+2 230 019e 00C0 rjmp .L83 231 01a0 BC01 movw r22,r24 232 01a2 7260 ori r23,2 233 .L87: 234 01a4 E091 0000 lds r30,phydcb 235 01a8 F091 0000 lds r31,phydcb+1 236 .L88: 237 01ac 0580 ldd __tmp_reg__,Z+5 238 01ae F681 ldd r31,Z+6 239 01b0 E02D mov r30,__tmp_reg__ 240 01b2 80E0 ldi r24,0 241 01b4 00C0 rjmp .L86 242 .L12: 243 01b6 E091 0000 lds r30,phydcb 244 01ba F091 0000 lds r31,phydcb+1 245 01be 0780 ldd __tmp_reg__,Z+7 246 01c0 F085 ldd r31,Z+8 247 01c2 E02D mov r30,__tmp_reg__ 248 01c4 81E0 ldi r24,lo8(1) 249 01c6 1995 eicall 250 01c8 82FF sbrs r24,2 251 01ca 00C0 rjmp .L37 252 01cc 8072 andi r24,32 253 01ce 9927 clr r25 254 01d0 AC01 movw r20,r24 255 01d2 4160 ori r20,1 256 01d4 052E mov __tmp_reg__,r21 257 01d6 000C lsl r0 258 01d8 660B sbc r22,r22 259 01da 770B sbc r23,r23 260 01dc 4883 st Y,r20 261 01de 5983 std Y+1,r21 262 01e0 6A83 std Y+2,r22 263 01e2 7B83 std Y+3,r23 264 01e4 E091 0000 lds r30,phydcb 265 01e8 F091 0000 lds r31,phydcb+1 266 01ec 4081 ld r20,Z 267 01ee 5181 ldd r21,Z+1 268 01f0 6281 ldd r22,Z+2 269 01f2 7381 ldd r23,Z+3 270 01f4 4031 cpi r20,16 271 01f6 36E1 ldi r19,22 272 01f8 5307 cpc r21,r19 273 01fa 32E2 ldi r19,34 274 01fc 6307 cpc r22,r19 275 01fe 7105 cpc r23,__zero_reg__ 276 0200 01F4 brne .L38 277 0202 0780 ldd __tmp_reg__,Z+7 278 0204 F085 ldd r31,Z+8 279 0206 E02D mov r30,__tmp_reg__ 280 0208 8FE1 ldi r24,lo8(31) 281 020a 1995 eicall 282 020c 9695 lsr r25 283 020e 8795 ror r24 284 0210 9695 lsr r25 285 0212 8795 ror r24 GAS LISTING /tmp/ccmkZ7oC.s page 6 286 0214 8770 andi r24,7 287 0216 9927 clr r25 288 0218 8230 cpi r24,2 289 021a 9105 cpc r25,__zero_reg__ 290 021c 01F0 breq .L47 291 021e 00F4 brsh .L40 292 0220 0197 sbiw r24,1 293 0222 01F0 breq .L45 294 0224 00C0 rjmp .L83 295 .L40: 296 0226 8530 cpi r24,5 297 0228 9105 cpc r25,__zero_reg__ 298 022a 01F0 breq .L49 299 022c 0697 sbiw r24,6 300 022e 01F0 breq .L48 301 0230 00C0 rjmp .L83 302 .L38: 303 0232 4039 cpi r20,-112 304 0234 ACE5 ldi r26,92 305 0236 5A07 cpc r21,r26 306 0238 6105 cpc r22,__zero_reg__ 307 023a A0E2 ldi r26,32 308 023c 7A07 cpc r23,r26 309 023e 01F4 brne .L44 310 0240 0780 ldd __tmp_reg__,Z+7 311 0242 F085 ldd r31,Z+8 312 0244 E02D mov r30,__tmp_reg__ 313 0246 80E1 ldi r24,lo8(16) 314 0248 1995 eicall 315 024a 8770 andi r24,7 316 024c 9927 clr r25 317 024e 8330 cpi r24,3 318 0250 9105 cpc r25,__zero_reg__ 319 0252 01F0 breq .L45 320 0254 00F4 brsh .L46 321 0256 0197 sbiw r24,1 322 0258 01F0 breq .L47 323 025a 00C0 rjmp .L83 324 .L46: 325 025c 8530 cpi r24,5 326 025e 9105 cpc r25,__zero_reg__ 327 0260 01F0 breq .L48 328 0262 0797 sbiw r24,7 329 0264 01F0 breq .L49 330 0266 00C0 rjmp .L83 331 .L47: 332 0268 8881 ld r24,Y 333 026a 9981 ldd r25,Y+1 334 026c AA81 ldd r26,Y+2 335 026e BB81 ldd r27,Y+3 336 0270 8460 ori r24,4 337 0272 00C0 rjmp .L84 338 .L45: 339 0274 8881 ld r24,Y 340 0276 9981 ldd r25,Y+1 341 0278 AA81 ldd r26,Y+2 342 027a BB81 ldd r27,Y+3 GAS LISTING /tmp/ccmkZ7oC.s page 7 343 027c 8260 ori r24,2 344 027e 00C0 rjmp .L84 345 .L48: 346 0280 8881 ld r24,Y 347 0282 9981 ldd r25,Y+1 348 0284 AA81 ldd r26,Y+2 349 0286 BB81 ldd r27,Y+3 350 0288 8461 ori r24,20 351 028a 00C0 rjmp .L84 352 .L49: 353 028c 8881 ld r24,Y 354 028e 9981 ldd r25,Y+1 355 0290 AA81 ldd r26,Y+2 356 0292 BB81 ldd r27,Y+3 357 0294 8261 ori r24,18 358 0296 00C0 rjmp .L84 359 .L44: 360 0298 A0E0 ldi r26,lo8(phy_status_descr) 361 029a B0E0 ldi r27,hi8(phy_status_descr) 362 029c 00E0 ldi r16,0 363 029e 10E0 ldi r17,0 364 .L51: 365 02a0 8D90 ld r8,X+ 366 02a2 9D90 ld r9,X+ 367 02a4 AD90 ld r10,X+ 368 02a6 BC90 ld r11,X 369 02a8 1397 sbiw r26,3 370 02aa 4815 cp r20,r8 371 02ac 5905 cpc r21,r9 372 02ae 6A05 cpc r22,r10 373 02b0 7B05 cpc r23,r11 374 02b2 01F4 brne .+2 375 02b4 00C0 rjmp .L50 376 02b6 0F5F subi r16,-1 377 02b8 1F4F sbci r17,-1 378 02ba 5396 adiw r26,19 379 02bc 0B30 cpi r16,11 380 02be 1105 cpc r17,__zero_reg__ 381 02c0 01F4 brne .L51 382 02c2 8164 ori r24,65 383 02c4 092E mov __tmp_reg__,r25 384 02c6 000C lsl r0 385 02c8 AA0B sbc r26,r26 386 02ca BB0B sbc r27,r27 387 02cc 00C0 rjmp .L84 388 .L37: 389 02ce 1882 st Y,__zero_reg__ 390 02d0 1982 std Y+1,__zero_reg__ 391 02d2 1A82 std Y+2,__zero_reg__ 392 02d4 1B82 std Y+3,__zero_reg__ 393 02d6 00C0 rjmp .L83 394 .L17: 395 02d8 1882 st Y,__zero_reg__ 396 02da 1982 std Y+1,__zero_reg__ 397 02dc 1A82 std Y+2,__zero_reg__ 398 02de 1B82 std Y+3,__zero_reg__ 399 02e0 A091 0000 lds r26,phydcb GAS LISTING /tmp/ccmkZ7oC.s page 8 400 02e4 B091 0000 lds r27,phydcb+1 401 02e8 4D91 ld r20,X+ 402 02ea 5D91 ld r21,X+ 403 02ec 6D91 ld r22,X+ 404 02ee 7C91 ld r23,X 405 02f0 1397 sbiw r26,3 406 02f2 E0E0 ldi r30,lo8(phy_status_descr) 407 02f4 F0E0 ldi r31,hi8(phy_status_descr) 408 02f6 80E0 ldi r24,0 409 02f8 90E0 ldi r25,0 410 .L56: 411 02fa 0081 ld r16,Z 412 02fc 1181 ldd r17,Z+1 413 02fe 2281 ldd r18,Z+2 414 0300 3381 ldd r19,Z+3 415 0302 0417 cp r16,r20 416 0304 1507 cpc r17,r21 417 0306 2607 cpc r18,r22 418 0308 3707 cpc r19,r23 419 030a 01F4 brne .+2 420 030c 00C0 rjmp .L55 421 030e 0196 adiw r24,1 422 0310 7396 adiw r30,19 423 0312 8B30 cpi r24,11 424 0314 9105 cpc r25,__zero_reg__ 425 0316 01F4 brne .L56 426 0318 00C0 rjmp .L60 427 .L16: 428 031a E091 0000 lds r30,phydcb 429 031e F091 0000 lds r31,phydcb+1 430 0322 0780 ldd __tmp_reg__,Z+7 431 0324 F085 ldd r31,Z+8 432 0326 E02D mov r30,__tmp_reg__ 433 0328 842D mov r24,r4 434 032a 1995 eicall 435 .L85: 436 032c A0E0 ldi r26,0 437 032e B0E0 ldi r27,0 438 0330 00C0 rjmp .L84 439 .L86: 440 0332 1995 eicall 441 0334 00C0 rjmp .L83 442 .L60: 443 0336 8FEF ldi r24,lo8(-1) 444 0338 9FEF ldi r25,lo8(-1) 445 033a 00C0 rjmp .L81 446 .L50: 447 033c 23E1 ldi r18,lo8(19) 448 033e 209F mul r18,r16 449 0340 C001 movw r24,r0 450 0342 219F mul r18,r17 451 0344 900D add r25,r0 452 0346 1124 clr __zero_reg__ 453 0348 9C01 movw r18,r24 454 034a 2050 subi r18,lo8(-(phy_status_descr)) 455 034c 3040 sbci r19,hi8(-(phy_status_descr)) 456 034e 7901 movw r14,r18 GAS LISTING /tmp/ccmkZ7oC.s page 9 457 0350 0780 ldd __tmp_reg__,Z+7 458 0352 F085 ldd r31,Z+8 459 0354 E02D mov r30,__tmp_reg__ 460 0356 D901 movw r26,r18 461 0358 1496 adiw r26,4 462 035a 8C91 ld r24,X 463 035c 1995 eicall 464 035e F701 movw r30,r14 465 0360 2581 ldd r18,Z+5 466 0362 3681 ldd r19,Z+6 467 0364 8223 and r24,r18 468 0366 9323 and r25,r19 469 0368 892B or r24,r25 470 036a 01F0 breq .L58 471 036c 8881 ld r24,Y 472 036e 9981 ldd r25,Y+1 473 0370 AA81 ldd r26,Y+2 474 0372 BB81 ldd r27,Y+3 475 0374 8260 ori r24,2 476 0376 8883 st Y,r24 477 0378 9983 std Y+1,r25 478 037a AA83 std Y+2,r26 479 037c BB83 std Y+3,r27 480 .L58: 481 037e 23E1 ldi r18,lo8(19) 482 0380 209F mul r18,r16 483 0382 C001 movw r24,r0 484 0384 219F mul r18,r17 485 0386 900D add r25,r0 486 0388 1124 clr __zero_reg__ 487 038a FC01 movw r30,r24 488 038c E050 subi r30,lo8(-(phy_status_descr)) 489 038e F040 sbci r31,hi8(-(phy_status_descr)) 490 0390 7F01 movw r14,r30 491 0392 E091 0000 lds r30,phydcb 492 0396 F091 0000 lds r31,phydcb+1 493 039a 0780 ldd __tmp_reg__,Z+7 494 039c F085 ldd r31,Z+8 495 039e E02D mov r30,__tmp_reg__ 496 03a0 D701 movw r26,r14 497 03a2 1796 adiw r26,7 498 03a4 8C91 ld r24,X 499 03a6 1995 eicall 500 03a8 F701 movw r30,r14 501 03aa 2085 ldd r18,Z+8 502 03ac 3185 ldd r19,Z+9 503 03ae 8223 and r24,r18 504 03b0 9323 and r25,r19 505 03b2 892B or r24,r25 506 03b4 01F0 breq .L53 507 03b6 8881 ld r24,Y 508 03b8 9981 ldd r25,Y+1 509 03ba AA81 ldd r26,Y+2 510 03bc BB81 ldd r27,Y+3 511 03be 8460 ori r24,4 512 03c0 8883 st Y,r24 513 03c2 9983 std Y+1,r25 GAS LISTING /tmp/ccmkZ7oC.s page 10 514 03c4 AA83 std Y+2,r26 515 03c6 BB83 std Y+3,r27 516 .L53: 517 03c8 23E1 ldi r18,lo8(19) 518 03ca 209F mul r18,r16 519 03cc C001 movw r24,r0 520 03ce 219F mul r18,r17 521 03d0 900D add r25,r0 522 03d2 1124 clr __zero_reg__ 523 03d4 9C01 movw r18,r24 524 03d6 2050 subi r18,lo8(-(phy_status_descr)) 525 03d8 3040 sbci r19,hi8(-(phy_status_descr)) 526 03da 7901 movw r14,r18 527 03dc E091 0000 lds r30,phydcb 528 03e0 F091 0000 lds r31,phydcb+1 529 03e4 0780 ldd __tmp_reg__,Z+7 530 03e6 F085 ldd r31,Z+8 531 03e8 E02D mov r30,__tmp_reg__ 532 03ea D901 movw r26,r18 533 03ec 1A96 adiw r26,10 534 03ee 8C91 ld r24,X 535 03f0 1995 eicall 536 03f2 F701 movw r30,r14 537 03f4 2385 ldd r18,Z+11 538 03f6 3485 ldd r19,Z+12 539 03f8 8223 and r24,r18 540 03fa 9323 and r25,r19 541 03fc 892B or r24,r25 542 03fe 01F0 breq .L54 543 0400 8881 ld r24,Y 544 0402 9981 ldd r25,Y+1 545 0404 AA81 ldd r26,Y+2 546 0406 BB81 ldd r27,Y+3 547 0408 8860 ori r24,8 548 040a 8883 st Y,r24 549 040c 9983 std Y+1,r25 550 040e AA83 std Y+2,r26 551 0410 BB83 std Y+3,r27 552 .L54: 553 0412 23E1 ldi r18,lo8(19) 554 0414 209F mul r18,r16 555 0416 C001 movw r24,r0 556 0418 219F mul r18,r17 557 041a 900D add r25,r0 558 041c 1124 clr __zero_reg__ 559 041e 8C01 movw r16,r24 560 0420 0050 subi r16,lo8(-(phy_status_descr)) 561 0422 1040 sbci r17,hi8(-(phy_status_descr)) 562 0424 E091 0000 lds r30,phydcb 563 0428 F091 0000 lds r31,phydcb+1 564 042c 0780 ldd __tmp_reg__,Z+7 565 042e F085 ldd r31,Z+8 566 0430 E02D mov r30,__tmp_reg__ 567 0432 D801 movw r26,r16 568 0434 1D96 adiw r26,13 569 0436 8C91 ld r24,X 570 0438 1995 eicall GAS LISTING /tmp/ccmkZ7oC.s page 11 571 043a F801 movw r30,r16 572 043c 2685 ldd r18,Z+14 573 043e 3785 ldd r19,Z+15 574 0440 8223 and r24,r18 575 0442 9323 and r25,r19 576 0444 892B or r24,r25 577 0446 01F0 breq .L83 578 0448 8881 ld r24,Y 579 044a 9981 ldd r25,Y+1 580 044c AA81 ldd r26,Y+2 581 044e BB81 ldd r27,Y+3 582 0450 8061 ori r24,16 583 0452 00C0 rjmp .L84 584 .L55: 585 0454 23E1 ldi r18,lo8(19) 586 0456 289F mul r18,r24 587 0458 8001 movw r16,r0 588 045a 299F mul r18,r25 589 045c 100D add r17,r0 590 045e 1124 clr __zero_reg__ 591 0460 0050 subi r16,lo8(-(phy_status_descr)) 592 0462 1040 sbci r17,hi8(-(phy_status_descr)) 593 0464 1796 adiw r26,7 594 0466 ED91 ld r30,X+ 595 0468 FC91 ld r31,X 596 046a 1897 sbiw r26,7+1 597 046c D801 movw r26,r16 598 046e 5096 adiw r26,16 599 0470 8C91 ld r24,X 600 0472 1995 eicall 601 0474 F801 movw r30,r16 602 0476 2189 ldd r18,Z+17 603 0478 3289 ldd r19,Z+18 604 047a 8223 and r24,r18 605 047c 9323 and r25,r19 606 047e 892B or r24,r25 607 0480 01F0 breq .L83 608 0482 81E0 ldi r24,lo8(1) 609 0484 90E0 ldi r25,0 610 0486 A0E0 ldi r26,0 611 0488 B0E0 ldi r27,0 612 .L84: 613 048a 8883 st Y,r24 614 048c 9983 std Y+1,r25 615 048e AA83 std Y+2,r26 616 0490 BB83 std Y+3,r27 617 .L83: 618 0492 80E0 ldi r24,0 619 0494 90E0 ldi r25,0 620 .L81: 621 /* epilogue start */ 622 0496 DF91 pop r29 623 0498 CF91 pop r28 624 049a 1F91 pop r17 625 049c 0F91 pop r16 626 049e FF90 pop r15 627 04a0 EF90 pop r14 GAS LISTING /tmp/ccmkZ7oC.s page 12 628 04a2 BF90 pop r11 629 04a4 AF90 pop r10 630 04a6 9F90 pop r9 631 04a8 8F90 pop r8 632 04aa 7F90 pop r7 633 04ac 6F90 pop r6 634 04ae 5F90 pop r5 635 04b0 4F90 pop r4 636 04b2 0895 ret 637 .size NutPhyCtl, .-NutPhyCtl 638 .section .text.NutRegisterPhy,"ax",@progbits 639 .global NutRegisterPhy 640 .type NutRegisterPhy, @function 641 NutRegisterPhy: 642 0000 FF92 push r15 643 0002 0F93 push r16 644 0004 1F93 push r17 645 0006 CF93 push r28 646 0008 DF93 push r29 647 /* prologue: function */ 648 /* frame size = 0 */ 649 /* stack size = 5 */ 650 .L__stack_usage = 5 651 000a F82E mov r15,r24 652 000c 8B01 movw r16,r22 653 000e EA01 movw r28,r20 654 0010 8091 0000 lds r24,phydcb 655 0014 9091 0000 lds r25,phydcb+1 656 0018 892B or r24,r25 657 001a 01F0 breq .L92 658 .L96: 659 001c 80E0 ldi r24,0 660 001e 90E0 ldi r25,0 661 0020 00C0 rjmp .L93 662 .L92: 663 0022 672B or r22,r23 664 0024 01F4 brne .L94 665 .L95: 666 0026 8FEF ldi r24,lo8(-1) 667 0028 9FEF ldi r25,lo8(-1) 668 002a 00C0 rjmp .L93 669 .L94: 670 002c 2097 sbiw r28,0 671 002e 01F0 breq .L95 672 0030 69E0 ldi r22,lo8(9) 673 0032 70E0 ldi r23,0 674 0034 80E0 ldi r24,lo8(heapFreeList) 675 0036 90E0 ldi r25,hi8(heapFreeList) 676 0038 0E94 0000 call NutHeapRootAlloc 677 003c FC01 movw r30,r24 678 003e 9093 0000 sts phydcb+1,r25 679 0042 8093 0000 sts phydcb,r24 680 0046 892B or r24,r25 681 0048 01F0 breq .L95 682 004a F482 std Z+4,r15 683 004c 1683 std Z+6,r17 684 004e 0583 std Z+5,r16 GAS LISTING /tmp/ccmkZ7oC.s page 13 685 0050 D087 std Z+8,r29 686 0052 C783 std Z+7,r28 687 0054 82E0 ldi r24,lo8(2) 688 0056 FE01 movw r30,r28 689 0058 1995 eicall 690 005a EC01 movw r28,r24 691 005c E091 0000 lds r30,phydcb 692 0060 F091 0000 lds r31,phydcb+1 693 0064 0780 ldd __tmp_reg__,Z+7 694 0066 F085 ldd r31,Z+8 695 0068 E02D mov r30,__tmp_reg__ 696 006a 83E0 ldi r24,lo8(3) 697 006c 1995 eicall 698 006e AC01 movw r20,r24 699 0070 E091 0000 lds r30,phydcb 700 0074 F091 0000 lds r31,phydcb+1 701 0078 CE01 movw r24,r28 702 007a A0E0 ldi r26,0 703 007c B0E0 ldi r27,0 704 007e DC01 movw r26,r24 705 0080 9927 clr r25 706 0082 8827 clr r24 707 0084 60E0 ldi r22,0 708 0086 70E0 ldi r23,0 709 0088 842B or r24,r20 710 008a 952B or r25,r21 711 008c A62B or r26,r22 712 008e B72B or r27,r23 713 0090 807F andi r24,240 714 0092 8083 st Z,r24 715 0094 9183 std Z+1,r25 716 0096 A283 std Z+2,r26 717 0098 B383 std Z+3,r27 718 009a 00C0 rjmp .L96 719 .L93: 720 /* epilogue start */ 721 009c DF91 pop r29 722 009e CF91 pop r28 723 00a0 1F91 pop r17 724 00a2 0F91 pop r16 725 00a4 FF90 pop r15 726 00a6 0895 ret 727 .size NutRegisterPhy, .-NutRegisterPhy 728 .global phy_status_descr 729 .data 730 .type phy_status_descr, @object 731 .size phy_status_descr, 209 732 phy_status_descr: 733 0000 C0 .byte -64 734 0001 B8 .byte -72 735 0002 81 .byte -127 736 0003 01 .byte 1 737 0004 11 .byte 17 738 0005 0030 .word 12288 739 0007 11 .byte 17 740 0008 00C0 .word -16384 741 000a 00 .byte 0 GAS LISTING /tmp/ccmkZ7oC.s page 14 742 000b 0000 .word 0 743 000d 11 .byte 17 744 000e 00A0 .word -24576 745 0010 00 .byte 0 746 0011 0000 .word 0 747 0013 A0 .byte -96 748 0014 B8 .byte -72 749 0015 81 .byte -127 750 0016 01 .byte 1 751 0017 11 .byte 17 752 0018 0030 .word 12288 753 001a 11 .byte 17 754 001b 00C0 .word -16384 755 001d 00 .byte 0 756 001e 0000 .word 0 757 0020 11 .byte 17 758 0021 00A0 .word -24576 759 0023 00 .byte 0 760 0024 0000 .word 0 761 0026 B0 .byte -80 762 0027 B8 .byte -72 763 0028 81 .byte -127 764 0029 01 .byte 1 765 002a 11 .byte 17 766 002b 0030 .word 12288 767 002d 11 .byte 17 768 002e 00C0 .word -16384 769 0030 00 .byte 0 770 0031 0000 .word 0 771 0033 11 .byte 17 772 0034 00A0 .word -24576 773 0036 00 .byte 0 774 0037 0000 .word 0 775 0039 80 .byte -128 776 003a B8 .byte -72 777 003b 81 .byte -127 778 003c 01 .byte 1 779 003d 11 .byte 17 780 003e 0030 .word 12288 781 0040 11 .byte 17 782 0041 00C0 .word -16384 783 0043 00 .byte 0 784 0044 0000 .word 0 785 0046 11 .byte 17 786 0047 00A0 .word -24576 787 0049 00 .byte 0 788 004a 0000 .word 0 789 004c C0 .byte -64 790 004d C0 .byte -64 791 004e 07 .byte 7 792 004f 00 .byte 0 793 0050 1F .byte 31 794 0051 0400 .word 4 795 0053 1F .byte 31 796 0054 0800 .word 8 797 0056 00 .byte 0 798 0057 0000 .word 0 GAS LISTING /tmp/ccmkZ7oC.s page 15 799 0059 1F .byte 31 800 005a 1000 .word 16 801 005c 00 .byte 0 802 005d 0000 .word 0 803 005f C0 .byte -64 804 0060 C0 .byte -64 805 0061 07 .byte 7 806 0062 00 .byte 0 807 0063 1F .byte 31 808 0064 0400 .word 4 809 0066 1F .byte 31 810 0067 0800 .word 8 811 0069 00 .byte 0 812 006a 0000 .word 0 813 006c 1F .byte 31 814 006d 1000 .word 16 815 006f 00 .byte 0 816 0070 0000 .word 0 817 0072 F0 .byte -16 818 0073 C0 .byte -64 819 0074 07 .byte 7 820 0075 00 .byte 0 821 0076 1F .byte 31 822 0077 0400 .word 4 823 0079 1F .byte 31 824 007a 0800 .word 8 825 007c 00 .byte 0 826 007d 0000 .word 0 827 007f 1F .byte 31 828 0080 1000 .word 16 829 0082 00 .byte 0 830 0083 0000 .word 0 831 0085 F0 .byte -16 832 0086 C0 .byte -64 833 0087 07 .byte 7 834 0088 00 .byte 0 835 0089 1F .byte 31 836 008a 0400 .word 4 837 008c 1F .byte 31 838 008d 0800 .word 8 839 008f 00 .byte 0 840 0090 0000 .word 0 841 0092 1F .byte 31 842 0093 1000 .word 16 843 0095 00 .byte 0 844 0096 0000 .word 0 845 0098 10 .byte 16 846 0099 16 .byte 22 847 009a 22 .byte 34 848 009b 00 .byte 0 849 009c 1F .byte 31 850 009d 0400 .word 4 851 009f 1F .byte 31 852 00a0 0800 .word 8 853 00a2 00 .byte 0 854 00a3 0000 .word 0 855 00a5 1F .byte 31 GAS LISTING /tmp/ccmkZ7oC.s page 16 856 00a6 1000 .word 16 857 00a8 00 .byte 0 858 00a9 0000 .word 0 859 00ab 60 .byte 96 860 00ac 84 .byte -124 861 00ad 03 .byte 3 862 00ae 02 .byte 2 863 00af 00 .byte 0 864 00b0 0000 .word 0 865 00b2 11 .byte 17 866 00b3 0002 .word 512 867 00b5 00 .byte 0 868 00b6 0000 .word 0 869 00b8 11 .byte 17 870 00b9 0001 .word 256 871 00bb 00 .byte 0 872 00bc 0000 .word 0 873 00be 90 .byte -112 874 00bf 5C .byte 92 875 00c0 00 .byte 0 876 00c1 20 .byte 32 877 00c2 00 .byte 0 878 00c3 0000 .word 0 879 00c5 00 .byte 0 880 00c6 0000 .word 0 881 00c8 00 .byte 0 882 00c9 0000 .word 0 883 00cb 00 .byte 0 884 00cc 0000 .word 0 885 00ce 00 .byte 0 886 00cf 0000 .word 0 887 .comm phy_bit_descr_nr,2,1 888 .global phydcb 889 .section .bss 890 .type phydcb, @object 891 .size phydcb, 2 892 phydcb: 893 0000 0000 .zero 2 894 .ident "GCC: (GNU) 5.3.0" 895 .global __do_copy_data 896 .global __do_clear_bss GAS LISTING /tmp/ccmkZ7oC.s page 17 DEFINED SYMBOLS *ABS*:0000000000000000 phy.c /tmp/ccmkZ7oC.s:2 *ABS*:000000000000003e __SP_H__ /tmp/ccmkZ7oC.s:3 *ABS*:000000000000003d __SP_L__ /tmp/ccmkZ7oC.s:4 *ABS*:000000000000003f __SREG__ /tmp/ccmkZ7oC.s:5 *ABS*:000000000000003b __RAMPZ__ /tmp/ccmkZ7oC.s:6 *ABS*:0000000000000000 __tmp_reg__ /tmp/ccmkZ7oC.s:7 *ABS*:0000000000000001 __zero_reg__ /tmp/ccmkZ7oC.s:11 .text.NutPhyCtl:0000000000000000 NutPhyCtl /tmp/ccmkZ7oC.s:892 .bss:0000000000000000 phydcb /tmp/ccmkZ7oC.s:732 .data:0000000000000000 phy_status_descr /tmp/ccmkZ7oC.s:641 .text.NutRegisterPhy:0000000000000000 NutRegisterPhy *COM*:0000000000000002 phy_bit_descr_nr UNDEFINED SYMBOLS NutDelay heapFreeList NutHeapRootAlloc __do_copy_data __do_clear_bss