cc2420db_library.lst

来自「MatLab图像传感器网络仿真平台WiSNAP」· LST 代码 · 共 1,465 行 · 第 1/5 页

LST
1,465
字号
 515 0228 8081      		ld r24,Z
 516 022a 9927      		clr r25
 517 022c 9F93      		push r25
 518 022e 8F93      		push r24
 519 0230 80E0      		ldi r24,lo8(.LC3)
 520 0232 90E0      		ldi r25,hi8(.LC3)
 521 0234 9F93      		push r25
 522 0236 8F93      		push r24
 523 0238 FF92      		push r15
 524 023a EF92      		push r14
 525 023c 0E94 0000 		call sprintf
 214:cc2420db_library.c **** 		command[0], address, value);
 215:cc2420db_library.c **** 
 216:cc2420db_library.c **** 	/* return status */
 217:cc2420db_library.c **** 	return status;
 527               	.LM35:
 528 0240 2DB7      		in r18,__SP_L__
 529 0242 3EB7      		in r19,__SP_H__
 530 0244 265F      		subi r18,lo8(-(10))
 531 0246 3F4F      		sbci r19,hi8(-(10))
 532 0248 0FB6      		in __tmp_reg__,__SREG__
 533 024a F894      		cli
 534 024c 3EBF      		out __SP_H__,r19
 535 024e 0FBE      		out __SREG__,__tmp_reg__
 536 0250 2DBF      		out __SP_L__,r18
 537               	/* epilogue: frame size=2 */
 538 0252 2296      		adiw r28,2
 539 0254 0FB6      		in __tmp_reg__,__SREG__
 540 0256 F894      		cli
 541 0258 DEBF      		out __SP_H__,r29
 542 025a 0FBE      		out __SREG__,__tmp_reg__
 543 025c CDBF      		out __SP_L__,r28
 544 025e DF91      		pop r29
 545 0260 CF91      		pop r28
 546 0262 1F91      		pop r17
 547 0264 0F91      		pop r16
 548 0266 FF90      		pop r15
 549 0268 EF90      		pop r14
 550 026a 0895      		ret
 551               	/* epilogue end (size=13) */
 552               	/* function read_cc_register size 105 (78) */
 556               	.Lscope4:
 558               		.data
 559               	.LC4:
 560 0027 2532 5825 		.string	"%2X%4X"
 560      3458 00
 561               		.text
 565               	.global	write_cc_register
 567               	write_cc_register:
 218:cc2420db_library.c **** }
 219:cc2420db_library.c **** 
 220:cc2420db_library.c **** /*******************************************************************************
 221:cc2420db_library.c ****  * Function: Write CC2420 register.                                            *
 222:cc2420db_library.c ****  *******************************************************************************/
 223:cc2420db_library.c **** int write_cc_register(char *command, char *response)
 224:cc2420db_library.c **** {
 569               	.LM36:
 570               	/* prologue: frame size=4 */
 571 026c EF92      		push r14
 572 026e FF92      		push r15
 573 0270 0F93      		push r16
 574 0272 1F93      		push r17
 575 0274 CF93      		push r28
 576 0276 DF93      		push r29
 577 0278 CDB7      		in r28,__SP_L__
 578 027a DEB7      		in r29,__SP_H__
 579 027c 2497      		sbiw r28,4
 580 027e 0FB6      		in __tmp_reg__,__SREG__
 581 0280 F894      		cli
 582 0282 DEBF      		out __SP_H__,r29
 583 0284 0FBE      		out __SREG__,__tmp_reg__
 584 0286 CDBF      		out __SP_L__,r28
 585               	/* prologue end (size=14) */
 586 0288 8C01      		movw r16,r24
 587 028a 7B01      		movw r14,r22
 225:cc2420db_library.c **** 	int				status;
 226:cc2420db_library.c **** 	unsigned int 	address = 0, value = 0;
 589               	.LM37:
 590 028c 1B82      		std Y+3,__zero_reg__
 591 028e 1C82      		std Y+4,__zero_reg__
 592 0290 1982      		std Y+1,__zero_reg__
 593 0292 1A82      		std Y+2,__zero_reg__
 227:cc2420db_library.c **** 	
 228:cc2420db_library.c **** 	/* parse command argument(s) */
 229:cc2420db_library.c **** 	status = sscanf(&command[1], "%2X%4X", &address, &value);
 595               	.LM38:
 596 0294 CE01      		movw r24,r28
 597 0296 0196      		adiw r24,1
 598 0298 9F93      		push r25
 599 029a 8F93      		push r24
 600 029c CE01      		movw r24,r28
 601 029e 0396      		adiw r24,3
 602 02a0 9F93      		push r25
 603 02a2 8F93      		push r24
 604 02a4 80E0      		ldi r24,lo8(.LC4)
 605 02a6 90E0      		ldi r25,hi8(.LC4)
 606 02a8 9F93      		push r25
 607 02aa 8F93      		push r24
 608 02ac 0F5F      		subi r16,lo8(-(1))
 609 02ae 1F4F      		sbci r17,hi8(-(1))
 610 02b0 1F93      		push r17
 611 02b2 0F93      		push r16
 612 02b4 0150      		subi r16,lo8(-(-1))
 613 02b6 1040      		sbci r17,hi8(-(-1))
 614 02b8 0E94 0000 		call sscanf
 230:cc2420db_library.c **** 
 231:cc2420db_library.c **** 	/* execute command */
 232:cc2420db_library.c **** 	FASTSPI_SETREG(address, value);
 616               	.LM39:
 617 02bc C098      		cbi 56-0x20,0
 618 02be 8B81      		ldd r24,Y+3
 619 02c0 8FB9      		out 47-0x20,r24
 620 02c2 2DB7      		in r18,__SP_L__
 621 02c4 3EB7      		in r19,__SP_H__
 622 02c6 285F      		subi r18,lo8(-(8))
 623 02c8 3F4F      		sbci r19,hi8(-(8))
 624 02ca 0FB6      		in __tmp_reg__,__SREG__
 625 02cc F894      		cli
 626 02ce 3EBF      		out __SP_H__,r19
 627 02d0 0FBE      		out __SREG__,__tmp_reg__
 628 02d2 2DBF      		out __SP_L__,r18
 629               	.L27:
 631               	.LM40:
 632 02d4 779B      		sbis 46-0x20,7
 633 02d6 FECF      		rjmp .L27
 634 02d8 8981      		ldd r24,Y+1
 635 02da 9A81      		ldd r25,Y+2
 636 02dc 892F      		mov r24,r25
 637 02de 9927      		clr r25
 638 02e0 8FB9      		out 47-0x20,r24
 639               	.L32:
 640 02e2 779B      		sbis 46-0x20,7
 641 02e4 FECF      		rjmp .L32
 642 02e6 8981      		ldd r24,Y+1
 643 02e8 8FB9      		out 47-0x20,r24
 644               	.L37:
 645 02ea 779B      		sbis 46-0x20,7
 646 02ec FECF      		rjmp .L37
 647 02ee C09A      		sbi 56-0x20,0
 233:cc2420db_library.c **** 
 234:cc2420db_library.c **** 	/* generate command response */
 235:cc2420db_library.c **** 	status = sprintf(&response[0], ":%c%02X%04X\r\n",
 649               	.LM41:
 650 02f0 8981      		ldd r24,Y+1
 651 02f2 9A81      		ldd r25,Y+2
 652 02f4 9F93      		push r25
 653 02f6 8F93      		push r24
 654 02f8 8B81      		ldd r24,Y+3
 655 02fa 9C81      		ldd r25,Y+4
 656 02fc 9F93      		push r25
 657 02fe 8F93      		push r24
 658 0300 F801      		movw r30,r16
 659 0302 8081      		ld r24,Z
 660 0304 9927      		clr r25
 661 0306 9F93      		push r25
 662 0308 8F93      		push r24
 663 030a 80E0      		ldi r24,lo8(.LC3)
 664 030c 90E0      		ldi r25,hi8(.LC3)
 665 030e 9F93      		push r25
 666 0310 8F93      		push r24
 667 0312 FF92      		push r15
 668 0314 EF92      		push r14
 669 0316 0E94 0000 		call sprintf
 236:cc2420db_library.c **** 		command[0], address, value);
 237:cc2420db_library.c **** 
 238:cc2420db_library.c **** 	/* return status */
 239:cc2420db_library.c **** 	return status;
 671               	.LM42:
 672 031a 2DB7      		in r18,__SP_L__
 673 031c 3EB7      		in r19,__SP_H__
 674 031e 265F      		subi r18,lo8(-(10))
 675 0320 3F4F      		sbci r19,hi8(-(10))
 676 0322 0FB6      		in __tmp_reg__,__SREG__
 677 0324 F894      		cli
 678 0326 3EBF      		out __SP_H__,r19
 679 0328 0FBE      		out __SREG__,__tmp_reg__
 680 032a 2DBF      		out __SP_L__,r18
 681               	/* epilogue: frame size=4 */
 682 032c 2496      		adiw r28,4
 683 032e 0FB6      		in __tmp_reg__,__SREG__
 684 0330 F894      		cli
 685 0332 DEBF      		out __SP_H__,r29
 686 0334 0FBE      		out __SREG__,__tmp_reg__
 687 0336 CDBF      		out __SP_L__,r28
 688 0338 DF91      		pop r29
 689 033a CF91      		pop r28
 690 033c 1F91      		pop r17
 691 033e 0F91      		pop r16
 692 0340 FF90      		pop r15
 693 0342 EF90      		pop r14
 694 0344 0895      		ret
 695               	/* epilogue end (size=13) */
 696               	/* function write_cc_register size 109 (82) */
 700               	.Lscope5:
 702               		.data
 703               	.LC5:
 704 002e 2532 5825 		.string	"%2X%4X%4X"
 704      3458 2534 
 704      5800 
 705               	.LC6:
 706 0038 3A25 6325 		.string	":%c%02X%04X%04X\r\n"
 706      3032 5825 
 706      3034 5825 
 706      3034 580D 
 706      0A00 
 707               		.text
 711               	.global	init_cc_transceiver
 713               	init_cc_transceiver:
 240:cc2420db_library.c **** }
 241:cc2420db_library.c **** 
 242:cc2420db_library.c **** /*******************************************************************************
 243:cc2420db_library.c ****  * Function: Set ATmega128 port direction.                                     *
 244:cc2420db_library.c ****  *******************************************************************************/
 245:cc2420db_library.c **** 
 246:cc2420db_library.c **** /*******************************************************************************
 247:cc2420db_library.c ****  * Function: Read ATmega128 port.                                              *
 248:cc2420db_library.c ****  *******************************************************************************/
 249:cc2420db_library.c **** 
 250:cc2420db_library.c **** /*******************************************************************************
 251:cc2420db_library.c ****  * Function: Write ATmega128 port.                                             *
 252:cc2420db_library.c ****  *******************************************************************************/
 253:cc2420db_library.c **** 
 254:cc2420db_library.c **** /*******************************************************************************
 255:cc2420db_library.c ****  * Function: Initialize CC2420 transceiver.                                    *
 256:cc2420db_library.c ****  *******************************************************************************/
 257:cc2420db_library.c **** int init_cc_transceiver(char *command, char *response)
 258:cc2420db_library.c **** {
 715               	.LM43:
 716               	/* prologue: frame size=6 */
 717 0346 EF92      		push r14
 718 0348 FF92      		push r15
 719 034a 0F93      		push r16
 720 034c 1F93      		push r17
 721 034e CF93      		push r28
 722 0350 DF93      		push r29
 723 0352 CDB7      		in r28,__SP_L__
 724 0354 DEB7      		in r29,__SP_H__
 725 0356 2697      		sbiw r28,6
 726 0358 0FB6      		in __tmp_reg__,__SREG__
 727 035a F894      		cli
 728 035c DEBF      		out __SP_H__,r29
 729 035e 0FBE      		out __SREG__,__tmp_reg__
 730 0360 CDBF      		out __SP_L__,r28
 731               	/* prologue end (size=14) */
 732 0362 8C01      		movw r16,r24
 733 0364 7B01      		movw r14,r22
 259:cc2420db_library.c **** 	int				status;
 260:cc2420db_library.c **** 	unsigned int 	channel = 0, panid = 0, myaddress = 0;
 735               	.LM44:
 736 0366 80E0      		ldi r24,lo8(0)
 737 0368 90E0      		ldi r25,hi8(0)
 738 036a 8D83      		std Y+5,r24
 739 036c 9E83      		std Y+6,r25
 740 036e 8B83      		std Y+3,r24
 741 0370 9C83      		std Y+4,r25
 742 0372 8983      		std Y+1,r24
 743 0374 9A83      		std Y+2,r25
 261:cc2420db_library.c **** 	
 262:cc2420db_library.c **** 	/* parse command argument(s) */
 263:cc2420db_library.c **** 	status = sscanf(&command[1], "%2X%4X%4X", &channel, &panid, &myaddress);
 745               	.LM45:
 746 0376 CE01      		movw r24,r28
 747 0378 0196      		adiw r24,1
 748 037a 9F93      		push r25
 749 037c 8F93      		push r24
 750 037e CE01      		movw r24,r28
 751 0380 0396      		adiw r24,3
 752 0382 9F93      		push r25
 753 0384 8F93      		push r24
 754 0386 CE01      		movw r24,r28
 755 0388 0596      		adiw r24,5
 756 038a 9F93      		push r25
 757 038c 8F93      		push r24
 758 038e 80E0      		ldi r24,lo8(.LC5)
 759 0390 90E0      		ldi r25,hi8(.LC5)
 760 0392 9F93      		push r25
 761 0394 8F93      		push r24
 762 0396 0F5F      		subi r16,lo8(-(1))
 763 0398 1F4F      		sbci r17,hi8(-(1))
 764 039a 1F93      		push r17
 765 039c 0F93      		push r16
 766 039e 0E94 0000 		call sscanf
 264:cc2420db_library.c **** 
 265:cc2420db_library.c **** 	/* execute command */
 266:cc2420db_library.c **** 	basicRfInit(&rfRxInfo, channel, panid, myaddress);
 768               	.LM46:
 769 03a2 2981      		ldd r18,Y+1
 770 03a4 3A81      		ldd r19,Y+2
 771 03a6 4B81      		ldd r20,Y+3
 772 03a8 5C81      		ldd r21,Y+4
 773 03aa 6D81      		ldd r22,Y+5
 774 03ac 80E0      		ldi r24,lo8(rfRxInfo)
 775 03ae 90E0      		ldi r25,hi8(rfRxInfo)

⌨️ 快捷键说明

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