⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cc1000.lst

📁 一个WSN的树状路由,对于那些学WSN路由方面的朋友应该有说帮助.
💻 LST
📖 第 1 页 / 共 5 页
字号:
 277 00ce CA01      		movw r24,r20
 278 00d0 B901      		movw r22,r18
 279 00d2 A601      		movw r20,r12
 280 00d4 9501      		movw r18,r10
 281 00d6 0E94 0000 		call __udivmodsi4
 142:cc1000.c      ****       if (NRef & 0x1) {
 283               	.LM17:
 284 00da DA01      		movw r26,r20
 285 00dc C901      		movw r24,r18
 286 00de 8170      		andi r24,lo8(1)
 287 00e0 9070      		andi r25,hi8(1)
 288 00e2 A070      		andi r26,hlo8(1)
 289 00e4 B070      		andi r27,hhi8(1)
 290 00e6 892B      		or r24,r25
 291 00e8 21F0      		breq .L6
 143:cc1000.c      ****           NRef++;
 293               	.LM18:
 294 00ea 2F5F      		subi r18,lo8(-(1))
 295 00ec 3F4F      		sbci r19,hi8(-(1))
 296 00ee 4F4F      		sbci r20,hlo8(-(1))
 297 00f0 5F4F      		sbci r21,hhi8(-(1))
 298               	.L6:
 144:cc1000.c      ****         }
 145:cc1000.c      **** 
 146:cc1000.c      ****       if (NRef & 0x2) {
 300               	.LM19:
 301 00f2 DA01      		movw r26,r20
 302 00f4 C901      		movw r24,r18
 303 00f6 B695      		lsr r27
 304 00f8 A795      		ror r26
 305 00fa 9795      		ror r25
 306 00fc 8795      		ror r24
 307 00fe 8170      		andi r24,lo8(1)
 308 0100 9070      		andi r25,hi8(1)
 309 0102 892B      		or r24,r25
 310 0104 59F0      		breq .L7
 147:cc1000.c      ****           RXCalc = 16384 >> 1;
 312               	.LM20:
 313 0106 212C      		mov r2,__zero_reg__
 314 0108 F0E2      		ldi r31,hi8(8192)
 315 010a 3F2E      		mov r3,r31
 316 010c 412C      		mov r4,__zero_reg__
 317 010e 512C      		mov r5,__zero_reg__
 148:cc1000.c      ****           Channel = FRef >> 1;
 319               	.LM21:
 320 0110 8601      		movw r16,r12
 321 0112 7501      		movw r14,r10
 322 0114 1695      		lsr r17
 323 0116 0795      		ror r16
 324 0118 F794      		ror r15
 325 011a E794      		ror r14
 326               	.L7:
 149:cc1000.c      ****         }
 150:cc1000.c      **** 
 151:cc1000.c      ****       NRef >>= 2;
 328               	.LM22:
 329 011c 72E0      		ldi r23,2
 330 011e 5695      	1:	lsr r21
 331 0120 4795      		ror r20
 332 0122 3795      		ror r19
 333 0124 2795      		ror r18
 334 0126 7A95      		dec r23
 335 0128 D1F7      		brne 1b
 152:cc1000.c      **** 
 153:cc1000.c      ****       RXCalc += NRef * 16384 - 8192;
 337               	.LM23:
 338 012a DA01      		movw r26,r20
 339 012c C901      		movw r24,r18
 340 012e 6EE0      		ldi r22,14
 341 0130 880F      	1:	lsl r24
 342 0132 991F      		rol r25
 343 0134 AA1F      		rol r26
 344 0136 BB1F      		rol r27
 345 0138 6A95      		dec r22
 346 013a D1F7      		brne 1b
 347 013c 820D      		add r24,r2
 348 013e 931D      		adc r25,r3
 349 0140 A41D      		adc r26,r4
 350 0142 B51D      		adc r27,r5
 351 0144 212C      		mov r2,__zero_reg__
 352 0146 F0EE      		ldi r31,hi8(-8192)
 353 0148 3F2E      		mov r3,r31
 354 014a FFEF      		ldi r31,hlo8(-8192)
 355 014c 4F2E      		mov r4,r31
 356 014e FFEF      		ldi r31,hhi8(-8192)
 357 0150 5F2E      		mov r5,r31
 358 0152 280E      		add r2,r24
 359 0154 391E      		adc r3,r25
 360 0156 4A1E      		adc r4,r26
 361 0158 5B1E      		adc r5,r27
 154:cc1000.c      ****       if (RXCalc < CC1000ControlM_FREQ_MIN || RXCalc > CC1000ControlM_FREQ_MAX) {
 363               	.LM24:
 364 015a 8050      		subi r24,lo8(-(-4202496))
 365 015c 9042      		sbci r25,hi8(-(-4202496))
 366 015e A044      		sbci r26,hlo8(-(-4202496))
 367 0160 B040      		sbci r27,hhi8(-(-4202496))
 368 0162 8050      		subi r24,lo8(12557312)
 369 0164 9C49      		sbci r25,hi8(12557312)
 370 0166 AF4B      		sbci r26,hlo8(12557312)
 371 0168 B040      		sbci r27,hhi8(12557312)
 372 016a 08F0      		brlo .+2
 373 016c 64C0      		rjmp .L5
 155:cc1000.c      ****         continue;
 156:cc1000.c      ****         }
 157:cc1000.c      ****       TXCalc = RXCalc - CC1000ControlM_CorTbl[i];
 375               	.LM25:
 376 016e A98D      		ldd r26,Y+25
 377 0170 BA8D      		ldd r27,Y+26
 378 0172 8D91      		ld r24,X+
 379 0174 9C91      		ld r25,X
 380 0176 AA27      		clr r26
 381 0178 BB27      		clr r27
 382 017a 4201      		movw r8,r4
 383 017c 3101      		movw r6,r2
 384 017e 681A      		sub r6,r24
 385 0180 790A      		sbc r7,r25
 386 0182 8A0A      		sbc r8,r26
 387 0184 9B0A      		sbc r9,r27
 158:cc1000.c      ****       if (TXCalc < CC1000ControlM_FREQ_MIN || TXCalc > CC1000ControlM_FREQ_MAX) {
 389               	.LM26:
 390 0186 D401      		movw r26,r8
 391 0188 C301      		movw r24,r6
 392 018a 8050      		subi r24,lo8(-(-4194304))
 393 018c 9040      		sbci r25,hi8(-(-4194304))
 394 018e A044      		sbci r26,hlo8(-(-4194304))
 395 0190 B040      		sbci r27,hhi8(-(-4194304))
 396 0192 8050      		subi r24,lo8(12557312)
 397 0194 9C49      		sbci r25,hi8(12557312)
 398 0196 AF4B      		sbci r26,hlo8(12557312)
 399 0198 B040      		sbci r27,hhi8(12557312)
 400 019a 08F0      		brlo .+2
 401 019c 4CC0      		rjmp .L5
 159:cc1000.c      ****         continue;
 160:cc1000.c      ****         }
 161:cc1000.c      ****       Channel += NRef * FRef;
 403               	.LM27:
 404 019e CA01      		movw r24,r20
 405 01a0 B901      		movw r22,r18
 406 01a2 A601      		movw r20,r12
 407 01a4 9501      		movw r18,r10
 408 01a6 0E94 0000 		call __mulsi3
 409 01aa DC01      		movw r26,r24
 410 01ac CB01      		movw r24,r22
 411 01ae E80E      		add r14,r24
 412 01b0 F91E      		adc r15,r25
 413 01b2 0A1F      		adc r16,r26
 414 01b4 1B1F      		adc r17,r27
 162:cc1000.c      ****       Channel -= CC1000ControlM_IF;
 416               	.LM28:
 417 01b6 20E1      		ldi r18,lo8(-150000)
 418 01b8 36EB      		ldi r19,hi8(-150000)
 419 01ba 4DEF      		ldi r20,hlo8(-150000)
 420 01bc 5FEF      		ldi r21,hhi8(-150000)
 421 01be E20E      		add r14,r18
 422 01c0 F31E      		adc r15,r19
 423 01c2 041F      		adc r16,r20
 424 01c4 151F      		adc r17,r21
 163:cc1000.c      **** 
 164:cc1000.c      ****       diff = Channel - desiredFreq;
 426               	.LM29:
 427 01c6 D801      		movw r26,r16
 428 01c8 C701      		movw r24,r14
 429 01ca 2981      		ldd r18,Y+1
 430 01cc 3A81      		ldd r19,Y+2
 431 01ce 4B81      		ldd r20,Y+3
 432 01d0 5C81      		ldd r21,Y+4
 433 01d2 821B      		sub r24,r18
 434 01d4 930B      		sbc r25,r19
 435 01d6 A40B      		sbc r26,r20
 436 01d8 B50B      		sbc r27,r21
 165:cc1000.c      ****       if (diff < 0) {
 438               	.LM30:
 439 01da B7FF      		sbrs r27,7
 440 01dc 07C0      		rjmp .L10
 166:cc1000.c      ****         diff = 0 - diff;
 442               	.LM31:
 443 01de B095      		com r27
 444 01e0 A095      		com r26
 445 01e2 9095      		com r25
 446 01e4 8195      		neg r24
 447 01e6 9F4F      		sbci r25,lo8(-1)
 448 01e8 AF4F      		sbci r26,lo8(-1)
 449 01ea BF4F      		sbci r27,lo8(-1)
 450               	.L10:
 167:cc1000.c      ****         }
 168:cc1000.c      ****       if (diff < Offset) {
 452               	.LM32:
 453 01ec 2989      		ldd r18,Y+17
 454 01ee 3A89      		ldd r19,Y+18
 455 01f0 4B89      		ldd r20,Y+19
 456 01f2 5C89      		ldd r21,Y+20
 457 01f4 8217      		cp r24,r18
 458 01f6 9307      		cpc r25,r19
 459 01f8 A407      		cpc r26,r20
 460 01fa B507      		cpc r27,r21
 461 01fc E4F4      		brge .L5
 169:cc1000.c      ****           RXFreq = RXCalc;
 463               	.LM33:
 464 01fe 2986      		std Y+9,r2
 465 0200 3A86      		std Y+10,r3
 466 0202 4B86      		std Y+11,r4
 467 0204 5C86      		std Y+12,r5
 170:cc1000.c      ****           TXFreq = TXCalc;
 469               	.LM34:
 470 0206 6D86      		std Y+13,r6
 471 0208 7E86      		std Y+14,r7
 472 020a 8F86      		std Y+15,r8
 473 020c 988A      		std Y+16,r9
 171:cc1000.c      ****           ActualChannel = Channel;
 475               	.LM35:
 476 020e ED82      		std Y+5,r14
 477 0210 FE82      		std Y+6,r15
 478 0212 0F83      		std Y+7,r16
 479 0214 1887      		std Y+8,r17
 172:cc1000.c      ****           FSep = CC1000ControlM_FSepTbl[i];
 481               	.LM36:
 482 0216 2B8D      		ldd r18,Y+27
 483 0218 3C8D      		ldd r19,Y+28
 484 021a 2050      		subi r18,lo8(-(CC1000ControlM_FSepTbl))
 485 021c 3040      		sbci r19,hi8(-(CC1000ControlM_FSepTbl))
 486 021e F901      		movw r30,r18
 487 0220 2081      		ld r18,Z
 488 0222 3181      		ldd r19,Z+1
 489 0224 2D8F      		std Y+29,r18
 490 0226 3E8F      		std Y+30,r19
 173:cc1000.c      ****           RefDiv = i + 6;
 492               	.LM37:
 493 0228 FE89      		ldd r31,Y+22
 494 022a FA5F      		subi r31,lo8(-(6))
 495 022c FD8B      		std Y+21,r31
 174:cc1000.c      ****           Offset = diff;
 497               	.LM38:
 498 022e 898B      		std Y+17,r24
 499 0230 9A8B      		std Y+18,r25
 500 0232 AB8B      		std Y+19,r26
 501 0234 BC8B      		std Y+20,r27
 502               	.L5:
 503               	.LBE2:
 505               	.LM39:
 506 0236 2E89      		ldd r18,Y+22
 507 0238 2F5F      		subi r18,lo8(-(1))
 508 023a 2E8B      		std Y+22,r18
 509 023c 4B8D      		ldd r20,Y+27
 510 023e 5C8D      		ldd r21,Y+28
 511 0240 4E5F      		subi r20,lo8(-(2))
 512 0242 5F4F      		sbci r21,hi8(-(2))
 513 0244 4B8F      		std Y+27,r20
 514 0246 5C8F      		std Y+28,r21
 515 0248 898D      		ldd r24,Y+25
 516 024a 9A8D      		ldd r25,Y+26
 517 024c 0296      		adiw r24,2
 518 024e 898F      		std Y+25,r24
 519 0250 9A8F      		std Y+26,r25
 520 0252 2930      		cpi r18,lo8(9)
 521 0254 08F4      		brsh .+2
 522 0256 1FCF      		rjmp .L12
 175:cc1000.c      ****         }
 176:cc1000.c      ****     }
 177:cc1000.c      **** 
 178:cc1000.c      ****   if (RefDiv != 0) {
 524               	.LM40:
 525 0258 9D89      		ldd r25,Y+21
 526 025a 9923      		tst r25
 527 025c 09F4      		brne .+2
 528 025e 60C0      		rjmp .L13
 179:cc1000.c      **** 
 180:cc1000.c      ****       CC1000ControlM_gCurrentParameters[0x3] = (uint8_t )(RXFreq & 0xFF);
 530               	.LM41:
 531 0260 A985      		ldd r26,Y+9
 532 0262 A093 0000 		sts CC1000ControlM_gCurrentParameters+3,r26
 181:cc1000.c      ****       CC1000ControlM_gCurrentParameters[0x2] = (uint8_t )((RXFreq >> 8) & 0xFF);
 534               	.LM42:
 535 0266 2985      		ldd r18,Y+9
 536 0268 3A85      		ldd r19,Y+10
 537 026a 4B85      		ldd r20,Y+11
 538 026c 5C85      		ldd r21,Y+12
 539 026e BB27      		clr r27
 540 0270 A52F      		mov r26,r21
 541 0272 942F      		mov r25,r20
 542 0274 832F      		mov r24,r19
 543 0276 8093 0000 		sts CC1000ControlM_gCurrentParameters+2,r24
 182:cc1000.c      ****       CC1000ControlM_gCurrentParameters[0x1] = (uint8_t )((RXFreq >> 16) & 0xFF);
 545               	.LM43:
 546 027a CA01      		movw r24,r20
 547 027c AA27      		clr r26
 548 027e BB27      		clr r27
 549 0280 8093 0000 		sts CC1000ControlM_gCurrentParameters+1,r24
 183:cc1000.c      **** 
 184:cc1000.c      ****       CC1000ControlM_gCurrentParameters[0x6] = (uint8_t )(TXFreq & 0xFF);
 551               	.LM44:
 552 0284 3D85      		ldd r19,Y+13
 553 0286 3093 0000 		sts CC1000ControlM_gCurrentParameters+6,r19
 185:cc1000.c      ****       CC1000ControlM_gCurrentParameters[0x5] = (uint8_t )((TXFreq >> 8) & 0xFF);
 555               	.LM45:
 556 028a 2D85      		ldd r18,Y+13
 557 028c 3E85      		ldd r19,Y+14
 558 028e 4F85      		ldd r20,Y+15
 559 0290 5889      		ldd r21,Y+16
 560 0292 BB27      		clr r27
 561 0294 A52F      		mov r26,r21
 562 0296 942F      		mov r25,r20
 563 0298 832F      		mov r24,r19
 564 029a 8093 0000 		sts CC1000ControlM_gCurrentParameters+5,r24
 186:cc1000.c      ****       CC1000ControlM_gCurrentParameters[0x4] = (uint8_t )((TXFreq >> 16) & 0xFF);
 566               	.LM46:
 567 029e CA01      		movw r24,r20
 568 02a0 AA27      		clr r26
 569 02a2 BB27      		clr r27
 570 02a4 8093 0000 		sts CC1000ControlM_gCurrentParameters+4,r24
 187:cc1000.c      **** 
 188:cc1000.c      ****       CC1000ControlM_gCurrentParameters[0x8] = (uint8_t )(FSep & 0xFF);
 572               	.LM47:
 573 02a8 3D8D      		ldd r19,Y+29
 574 02aa 3093 0000 		sts CC1000ControlM_gCurrentParameters+8,r19
 189:cc1000.c      ****       CC1000ControlM_gCurrentParameters[0x7] = (uint8_t )((FSep >> 8) & 0xFF);
 576               	.LM48:
 577 02ae 4D8D      		ldd r20,Y+29
 578 02b0 5E8D      		ldd r21,Y+30

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -