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

📄 can_sja1000.lst

📁 开发环境为GCC,AVR单片机与SJA1000实现CAN通讯。
💻 LST
📖 第 1 页 / 共 3 页
字号:
 401               	.L25:
 402               	.LM47:
 403 0206 1B82      		std Y+3,__zero_reg__
 404               	.L24:
 405 0208 8B81      		ldd r24,Y+3
 406               	/* epilogue start */
 407               	.LM48:
 408 020a 0F90      		pop __tmp_reg__
 409 020c 0F90      		pop __tmp_reg__
 410 020e 0F90      		pop __tmp_reg__
 411 0210 CF91      		pop r28
 412 0212 DF91      		pop r29
 413 0214 0895      		ret
 414               	.LFE11:
 416               	.global	BCAN_SET_OUTCLK
 418               	BCAN_SET_OUTCLK:
 419               	.LFB12:
 420               	.LM49:
 421 0216 DF93      		push r29
 422 0218 CF93      		push r28
 423 021a 00D0      		rcall .
 424 021c 0F92      		push __tmp_reg__
 425 021e CDB7      		in r28,__SP_L__
 426 0220 DEB7      		in r29,__SP_H__
 427               	/* prologue: function */
 428               	/* frame size = 3 */
 429 0222 8983      		std Y+1,r24
 430 0224 6A83      		std Y+2,r22
 431               	.LM50:
 432 0226 6981      		ldd r22,Y+1
 433 0228 88E0      		ldi r24,lo8(32520)
 434 022a 9FE7      		ldi r25,hi8(32520)
 435 022c 0E94 0000 		call CANREG_WRITE
 436               	.LM51:
 437 0230 88E0      		ldi r24,lo8(32520)
 438 0232 9FE7      		ldi r25,hi8(32520)
 439 0234 0E94 0000 		call CANREG_READ
 440 0238 982F      		mov r25,r24
 441 023a 8981      		ldd r24,Y+1
 442 023c 9817      		cp r25,r24
 443 023e 01F0      		breq .L28
 444               	.LM52:
 445 0240 81E0      		ldi r24,lo8(1)
 446 0242 8B83      		std Y+3,r24
 447 0244 00C0      		rjmp .L29
 448               	.L28:
 449               	.LM53:
 450 0246 6A81      		ldd r22,Y+2
 451 0248 8FE1      		ldi r24,lo8(32543)
 452 024a 9FE7      		ldi r25,hi8(32543)
 453 024c 0E94 0000 		call CANREG_WRITE
 454               	.LM54:
 455 0250 8FE1      		ldi r24,lo8(32543)
 456 0252 9FE7      		ldi r25,hi8(32543)
 457 0254 0E94 0000 		call CANREG_READ
 458 0258 982F      		mov r25,r24
 459 025a 8A81      		ldd r24,Y+2
 460 025c 9817      		cp r25,r24
 461 025e 01F0      		breq .L30
 462               	.LM55:
 463 0260 81E0      		ldi r24,lo8(1)
 464 0262 8B83      		std Y+3,r24
 465 0264 00C0      		rjmp .L29
 466               	.L30:
 467               	.LM56:
 468 0266 1B82      		std Y+3,__zero_reg__
 469               	.L29:
 470 0268 8B81      		ldd r24,Y+3
 471               	/* epilogue start */
 472               	.LM57:
 473 026a 0F90      		pop __tmp_reg__
 474 026c 0F90      		pop __tmp_reg__
 475 026e 0F90      		pop __tmp_reg__
 476 0270 CF91      		pop r28
 477 0272 DF91      		pop r29
 478 0274 0895      		ret
 479               	.LFE12:
 481               	.global	BCAN_DATA_SEND
 483               	BCAN_DATA_SEND:
 484               	.LFB13:
 485               	.LM58:
 486 0276 DF93      		push r29
 487 0278 CF93      		push r28
 488 027a 00D0      		rcall .
 489 027c CDB7      		in r28,__SP_L__
 490 027e DEB7      		in r29,__SP_H__
 491               	/* prologue: function */
 492               	/* frame size = 2 */
 493               	.LM59:
 494 0280 82E0      		ldi r24,lo8(32514)
 495 0282 9FE7      		ldi r25,hi8(32514)
 496 0284 0E94 0000 		call CANREG_READ
 497 0288 882F      		mov r24,r24
 498 028a 90E0      		ldi r25,lo8(0)
 499 028c 8870      		andi r24,lo8(8)
 500 028e 9070      		andi r25,hi8(8)
 501 0290 0097      		sbiw r24,0
 502 0292 01F4      		brne .L33
 503               	.LM60:
 504 0294 81E0      		ldi r24,lo8(1)
 505 0296 8A83      		std Y+2,r24
 506 0298 00C0      		rjmp .L34
 507               	.L33:
 508               	.LM61:
 509 029a 82E0      		ldi r24,lo8(32514)
 510 029c 9FE7      		ldi r25,hi8(32514)
 511 029e 0E94 0000 		call CANREG_READ
 512 02a2 882F      		mov r24,r24
 513 02a4 90E0      		ldi r25,lo8(0)
 514 02a6 8470      		andi r24,lo8(4)
 515 02a8 9070      		andi r25,hi8(4)
 516 02aa 0097      		sbiw r24,0
 517 02ac 01F4      		brne .L35
 518               	.LM62:
 519 02ae 81E0      		ldi r24,lo8(1)
 520 02b0 8A83      		std Y+2,r24
 521 02b2 00C0      		rjmp .L34
 522               	.L35:
 523               	.LM63:
 524 02b4 8091 0000 		lds r24,Send_BUF
 525 02b8 682F      		mov r22,r24
 526 02ba 8AE0      		ldi r24,lo8(32522)
 527 02bc 9FE7      		ldi r25,hi8(32522)
 528 02be 0E94 0000 		call CANREG_WRITE
 529               	.LM64:
 530 02c2 8091 0000 		lds r24,Send_BUF+1
 531 02c6 882F      		mov r24,r24
 532 02c8 90E0      		ldi r25,lo8(0)
 533 02ca 880F      		lsl r24
 534 02cc 991F      		rol r25
 535 02ce 8295      		swap r24
 536 02d0 9295      		swap r25
 537 02d2 907F      		andi r25,0xf0
 538 02d4 9827      		eor r25,r24
 539 02d6 807F      		andi r24,0xf0
 540 02d8 9827      		eor r25,r24
 541 02da 282F      		mov r18,r24
 542 02dc 8091 0000 		lds r24,Send_BUF+2
 543 02e0 882F      		mov r24,r24
 544 02e2 90E0      		ldi r25,lo8(0)
 545 02e4 8295      		swap r24
 546 02e6 9295      		swap r25
 547 02e8 907F      		andi r25,0xf0
 548 02ea 9827      		eor r25,r24
 549 02ec 807F      		andi r24,0xf0
 550 02ee 9827      		eor r25,r24
 551 02f0 922F      		mov r25,r18
 552 02f2 982B      		or r25,r24
 553 02f4 8091 0000 		lds r24,Send_BUF+3
 554 02f8 892B      		or r24,r25
 555 02fa 682F      		mov r22,r24
 556 02fc 8BE0      		ldi r24,lo8(32523)
 557 02fe 9FE7      		ldi r25,hi8(32523)
 558 0300 0E94 0000 		call CANREG_WRITE
 559               	.LM65:
 560 0304 8091 0000 		lds r24,Send_BUF+2
 561 0308 8823      		tst r24
 562 030a 01F4      		brne .L36
 563               	.LM66:
 564 030c 1982      		std Y+1,__zero_reg__
 565 030e 00C0      		rjmp .L37
 566               	.L38:
 567               	.LM67:
 568 0310 8981      		ldd r24,Y+1
 569 0312 882F      		mov r24,r24
 570 0314 90E0      		ldi r25,lo8(0)
 571 0316 FC01      		movw r30,r24
 572 0318 E050      		subi r30,lo8(-(Send_BUF+4))
 573 031a F040      		sbci r31,hi8(-(Send_BUF+4))
 574 031c 2081      		ld r18,Z
 575 031e 8981      		ldd r24,Y+1
 576 0320 882F      		mov r24,r24
 577 0322 90E0      		ldi r25,lo8(0)
 578 0324 845F      		subi r24,lo8(-(32524))
 579 0326 9048      		sbci r25,hi8(-(32524))
 580 0328 622F      		mov r22,r18
 581 032a 0E94 0000 		call CANREG_WRITE
 582               	.LM68:
 583 032e 8981      		ldd r24,Y+1
 584 0330 8F5F      		subi r24,lo8(-(1))
 585 0332 8983      		std Y+1,r24
 586               	.L37:
 587 0334 9091 0000 		lds r25,Send_BUF+3
 588 0338 8981      		ldd r24,Y+1
 589 033a 8917      		cp r24,r25
 590 033c 00F0      		brlo .L38
 591               	.L36:
 592               	.LM69:
 593 033e 1A82      		std Y+2,__zero_reg__
 594               	.L34:
 595 0340 8A81      		ldd r24,Y+2
 596               	/* epilogue start */
 597               	.LM70:
 598 0342 0F90      		pop __tmp_reg__
 599 0344 0F90      		pop __tmp_reg__
 600 0346 CF91      		pop r28
 601 0348 DF91      		pop r29
 602 034a 0895      		ret
 603               	.LFE13:
 605               	.global	BCAN_DATA_RECEIVE
 607               	BCAN_DATA_RECEIVE:
 608               	.LFB14:
 609               	.LM71:
 610 034c 0F93      		push r16
 611 034e 1F93      		push r17
 612 0350 DF93      		push r29
 613 0352 CF93      		push r28
 614 0354 00D0      		rcall .
 615 0356 CDB7      		in r28,__SP_L__
 616 0358 DEB7      		in r29,__SP_H__
 617               	/* prologue: function */
 618               	/* frame size = 2 */
 619               	.LM72:
 620 035a 82E0      		ldi r24,lo8(32514)
 621 035c 9FE7      		ldi r25,hi8(32514)
 622 035e 0E94 0000 		call CANREG_READ
 623 0362 882F      		mov r24,r24
 624 0364 90E0      		ldi r25,lo8(0)
 625 0366 8170      		andi r24,lo8(1)
 626 0368 9070      		andi r25,hi8(1)
 627 036a 0097      		sbiw r24,0
 628 036c 01F4      		brne .L41
 629               	.LM73:
 630 036e 81E0      		ldi r24,lo8(1)
 631 0370 8A83      		std Y+2,r24
 632 0372 00C0      		rjmp .L42
 633               	.L41:
 634               	.LM74:
 635 0374 84E1      		ldi r24,lo8(32532)
 636 0376 9FE7      		ldi r25,hi8(32532)
 637 0378 0E94 0000 		call CANREG_READ
 638 037c 8093 0000 		sts Receive_BUF,r24
 639               	.LM75:
 640 0380 85E1      		ldi r24,lo8(32533)
 641 0382 9FE7      		ldi r25,hi8(32533)
 642 0384 0E94 0000 		call CANREG_READ
 643 0388 8F70      		andi r24,lo8(15)
 644 038a 8093 0000 		sts Receive_BUF+3,r24
 645               	.LM76:
 646 038e 85E1      		ldi r24,lo8(32533)
 647 0390 9FE7      		ldi r25,hi8(32533)
 648 0392 0E94 0000 		call CANREG_READ
 649 0396 882F      		mov r24,r24
 650 0398 90E0      		ldi r25,lo8(0)
 651 039a 8071      		andi r24,lo8(16)
 652 039c 9070      		andi r25,hi8(16)
 653 039e 9595      		asr r25
 654 03a0 8795      		ror r24
 655 03a2 9595      		asr r25
 656 03a4 8795      		ror r24
 657 03a6 9595      		asr r25
 658 03a8 8795      		ror r24
 659 03aa 9595      		asr r25
 660 03ac 8795      		ror r24
 661 03ae 8093 0000 		sts Receive_BUF+2,r24
 662               	.LM77:
 663 03b2 85E1      		ldi r24,lo8(32533)
 664 03b4 9FE7      		ldi r25,hi8(32533)
 665 03b6 0E94 0000 		call CANREG_READ
 666 03ba 8295      		swap r24
 667 03bc 8695      		lsr r24
 668 03be 8770      		andi r24,lo8(7)
 669 03c0 8093 0000 		sts Receive_BUF+1,r24
 670               	.LM78:
 671 03c4 8091 0000 		lds r24,Receive_BUF+2
 672 03c8 8823      		tst r24
 673 03ca 01F4      		brne .L43
 674               	.LM79:
 675 03cc 1982      		std Y+1,__zero_reg__
 676 03ce 00C0      		rjmp .L44
 677               	.L45:
 678               	.LM80:
 679 03d0 8981      		ldd r24,Y+1
 680 03d2 082F      		mov r16,r24
 681 03d4 10E0      		ldi r17,lo8(0)
 682 03d6 8981      		ldd r24,Y+1
 683 03d8 882F      		mov r24,r24
 684 03da 90E0      		ldi r25,lo8(0)
 685 03dc 8A5E      		subi r24,lo8(-(32534))
 686 03de 9048      		sbci r25,hi8(-(32534))
 687 03e0 0E94 0000 		call CANREG_READ
 688 03e4 F801      		movw r30,r16
 689 03e6 E050      		subi r30,lo8(-(Receive_BUF+4))
 690 03e8 F040      		sbci r31,hi8(-(Receive_BUF+4))
 691 03ea 8083      		st Z,r24
 692               	.LM81:
 693 03ec 8981      		ldd r24,Y+1
 694 03ee 8F5F      		subi r24,lo8(-(1))
 695 03f0 8983      		std Y+1,r24
 696               	.L44:
 697 03f2 9091 0000 		lds r25,Receive_BUF+3
 698 03f6 8981      		ldd r24,Y+1
 699 03f8 8917      		cp r24,r25
 700 03fa 00F0      		brlo .L45
 701               	.L43:
 702               	.LM82:
 703 03fc 1A82      		std Y+2,__zero_reg__
 704               	.L42:
 705 03fe 8A81      		ldd r24,Y+2
 706               	/* epilogue start */
 707               	.LM83:
 708 0400 0F90      		pop __tmp_reg__
 709 0402 0F90      		pop __tmp_reg__
 710 0404 CF91      		pop r28
 711 0406 DF91      		pop r29
 712 0408 1F91      		pop r17
 713 040a 0F91      		pop r16
 714 040c 0895      		ret
 715               	.LFE14:
 717               	.global	CanRcv_Prg
 719               	CanRcv_Prg:
 720               	.LFB15:
 721               	.LM84:
 722 040e DF93      		push r29
 723 0410 CF93      		push r28
 724 0412 0F92      		push __tmp_reg__
 725 0414 CDB7      		in r28,__SP_L__
 726 0416 DEB7      		in r29,__SP_H__
 727               	/* prologue: function */
 728               	/* frame size = 1 */
 729               	.LM85:
 730 0418 0E94 0000 		call BCAN_DATA_RECEIVE
 731 041c 8983      		std Y+1,r24
 732               	.LM86:
 733 041e 8981      		ldd r24,Y+1
 734 0420 8823      		tst r24
 735 0422 01F4      		brne .L50
 736               	.LM87:
 737 0424 8091 0000 		lds r24,Receive_BUF+2
 738 0428 8130      		cpi r24,lo8(1)
 739 042a 01F4      		brne .L49
 740               	.LM88:
 741               	/* #APP */
 742               	 ;  199 "CAN_SJA1000.c" 1
 743 042c 0000      		NOP
 744               	 ;  0 "" 2
 745               	/* #NOAPP */
 746 042e 00C0      		rjmp .L50
 747               	.L49:
 748               	.LM89:
 749               	/* #APP */
 750               	 ;  203 "CAN_SJA1000.c" 1
 751 0430 0000      		NOP
 752               	 ;  0 "" 2
 753               	/* #NOAPP */
 754               	.L50:
 755               	/* epilogue start */
 756               	.LM90:
 757 0432 0F90      		pop __tmp_reg__
 758 0434 CF91      		pop r28
 759 0436 DF91      		pop r29
 760 0438 0895      		ret
 761               	.LFE15:
 763               	.global	SJA1000_Init
 765               	SJA1000_Init:
 766               	.LFB16:
 767               	.LM91:
 768 043a DF93      		push r29
 769 043c CF93      		push r28
 770 043e 0F92      		push __tmp_reg__
 771 0440 CDB7      		in r28,__SP_L__
 772 0442 DEB7      		in r29,__SP_H__
 773               	/* prologue: function */
 774               	/* frame size = 1 */
 775               	.LM92:
 776               	/* #APP */
 777               	 ;  213 "CAN_SJA1000.c" 1
 778 0444 F894      		cli
 779               	 ;  0 "" 2
 780               	.LM93:
 781               	/* #NOAPP */
 782 0446 67E0      		ldi r22,lo8(7)
 783 0448 80E0      		ldi r24,lo8(32512)
 784 044a 9FE7      		ldi r25,hi8(32512)
 785 044c 0E94 0000 		call CANREG_WRITE
 786               	.LM94:

⌨️ 快捷键说明

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