serial.lst
来自「dsp tmslf2407a 汇编,c的原代码,包括i2c,scitimer,f」· LST 代码 · 共 1,452 行 · 第 1/5 页
LST
1,452 行
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 11
516 ******************************************************
517 00cb _serialPortOutput1byte:
518
519 0000 LF3 .set 0
520
521 00cb 8aa0 POPD *+
522 00cc 80a0 SAR AR0,*+
523 00cd 8180 SAR AR1,*
524 00ce b001 LARK AR0,1
525 00cf 00e0 LAR AR0,*0+
526
527 .sym _c,-3+LF3,12,9,16
528 .line 2
529 .line 3
530 ;>>>> setSNT();
531 00d0 7a80 CALL _setSNT
00d1 00e5'
532 .line 4
533 ;>>>> b_com_success = 1;
534 00d2 b901 LACK 1
535 00d3 bc00! LDPK _b_com_success
536 00d4 9000! SACL _b_com_success
537 .line 5
538 ;>>>> SCITXBUF = c;
539 00d5 8b8a MAR * ,AR2
540 00d6 bf0a LARK AR2,-3+LF3
00d7 fffd
541 00d8 8be0 MAR *0+
542 00d9 a980 BLDD * ,#_SCITXBUF
00da 0000!
543 00db L15:
544 .line 6
545 ;>>>> while((SCICTL2 & 0x40) == 0);
546 ;>>>> // while((SCICTL2 & 0xc0) == 0);
547 00db bc00! LDPK _SCICTL2
548 00dc 4900! BIT _SCICTL2,9
549 00dd e200 BBZ L15
00de 00db'
550 .line 8
551 ;>>>> clrSNT();
552 00df 7a89 CALL _clrSNT,AR1
00e0 00f8'
553 00e1 EPI0_3:
554 .line 9
555 00e1 7c02 SBRK 2
556 00e2 0090 LAR AR0,*-
557 00e3 7680 PSHD *
558 00e4 ef00 RET
559
560 .endfunc 93,000000000H,1
561
562 .sym _setSNT,_setSNT,32,2,0
563 .globl _setSNT
564
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 12
565 .func 94
566 ;>>>> void setSNT(void)
567 ******************************************************
568 * FUNCTION DEF : _setSNT
569 ******************************************************
570 00e5 _setSNT:
571 00e5 8aa0 POPD *+
572 00e6 80a0 SAR AR0,*+
573 00e7 8180 SAR AR1,*
574 00e8 b001 LARK AR0,1
575 00e9 00e0 LAR AR0,*0+
576
577 .line 3
578 ;>>>> MCRB &= 0xfffe;
579 00ea bf80 LACK 65534
00eb fffe
580 00ec bc00! LDPK _MCRB
581 00ed 6e00! AND _MCRB
582 00ee 9000! SACL _MCRB
583 .line 4
584 ;>>>> PCDATDIR |= 0x0101; //IOPC0设置为输出方式,置为1,send out
585 00ef bf80 LACK 257
00f0 0101
586 00f1 bc00! LDPK _PCDATDIR
587 00f2 6d00! OR _PCDATDIR
588 00f3 9000! SACL _PCDATDIR
589 00f4 EPI0_4:
590 .line 5
591 00f4 7c02 SBRK 2
592 00f5 0090 LAR AR0,*-
593 00f6 7680 PSHD *
594 00f7 ef00 RET
595
596 .endfunc 98,000000000H,1
597
598 .sym _clrSNT,_clrSNT,32,2,0
599 .globl _clrSNT
600
601 .func 99
602 ;>>>> void clrSNT(void)
603 ******************************************************
604 * FUNCTION DEF : _clrSNT
605 ******************************************************
606 00f8 _clrSNT:
607 00f8 8aa0 POPD *+
608 00f9 80a0 SAR AR0,*+
609 00fa 8180 SAR AR1,*
610 00fb b001 LARK AR0,1
611 00fc 00e0 LAR AR0,*0+
612
613 .line 3
614 ;>>>> MCRB &= 0xfffe;
615 00fd bf80 LACK 65534
00fe fffe
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 13
616 00ff bc00! LDPK _MCRB
617 0100 6e00! AND _MCRB
618 0101 9000! SACL _MCRB
619 .line 4
620 ;>>>> PCDATDIR |= 0x0100;
621 0102 bf80 LACK 256
0103 0100
622 0104 bc00! LDPK _PCDATDIR
623 0105 6d00! OR _PCDATDIR
624 0106 9000! SACL _PCDATDIR
625 .line 5
626 ;>>>> PCDATDIR &= 0xfffe; //IOPC0设置为输出方式置为0,receive
627 0107 bf80 LACK 65534
0108 fffe
628 0109 6e00! AND _PCDATDIR
629 010a 9000! SACL _PCDATDIR
630 010b EPI0_5:
631 .line 6
632 010b 7c02 SBRK 2
633 010c 0090 LAR AR0,*-
634 010d 7680 PSHD *
635 010e ef00 RET
636
637 .endfunc 104,000000000H,1
638
639 .sym _send_resp,_send_resp,32,2,0
640 .globl _send_resp
641
642 .func 106
643 ;>>>> void send_resp(void)
644 ;>>>> uchar i;
645 ;>>>> uint j;
646 ******************************************************
647 * FUNCTION DEF : _send_resp
648 ******************************************************
649 010f _send_resp:
650 010f 8aa0 POPD *+
651 0110 80a0 SAR AR0,*+
652 0111 8180 SAR AR1,*
653 0112 b003 LARK AR0,3
654 0113 00ea LAR AR0,*0+,AR2
655
656 .sym _i,1,12,1,16
657 .sym _j,2,14,1,16
658 .line 5
659 ;>>>> i = pcdata[0] - 2;
660 0114 bc00! LDPK _pcdata
661 0115 1000! LAC _pcdata
662 0116 ba02 SUBK 2
663 0117 b201 LARK AR2,1
664 0118 8be0 MAR *0+
665 0119 9080 SACL *
666 .line 6
667 ;>>>> j = crc16Calculate(pcdata,i);
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 14
668 011a 1089 LAC * ,AR1
669 011b 90a0 SACL *+
670 011c bf80 LALK _pcdata+0
011d 0000!
671 011e 90a0 SACL *+
672 011f 7a80 CALL _crc16Calculate
0120 0000!
673 0121 7c02 SBRK 2
674 0122 8b8a MAR * ,AR2
675 0123 b202 LARK AR2,2
676 0124 8be0 MAR *0+
677 0125 9080 SACL *
678 .line 7
679 ;>>>> j = ~j;
680 0126 1080 LAC *
681 0127 be01 CMPL
682 0128 9080 SACL *
683 .line 8
684 ;>>>> pcdata[i] = (j&0xff); //crc LSByte
685 0129 b9ff LACK 255
686 012a 6e99 AND *-,AR1
687 012b 908a SACL * ,AR2
688 012c 10a8 LAC *+,AR0
689 012d bf90 ADLK _pcdata+0,0
012e 0000!
690 012f 9080 SACL *
691 0130 0389 LAR AR3,* ,AR1
692 0131 108b LAC * ,AR3
693 0132 908a SACL * ,AR2
694 .line 9
695 ;>>>> pcdata[i+1] = (j>>8); //crc MSByte
696 0133 be46 RSXM
697 0134 1799 LAC *-,7,AR1
698 0135 998a SACH * ,1,AR2
699 0136 1088 LAC * ,AR0
700 0137 bf90 ADLK _pcdata+1,0
0138 0001!
701 0139 9080 SACL *
702 013a 0389 LAR AR3,* ,AR1
703 013b 108b LAC * ,AR3
704 013c 908a SACL * ,AR2
705 .line 10
706 ;>>>> for(i=0;i<pcdata[0];i++)
707 013d b900 LACK 0
708 013e 9080 SACL *
709 013f 6980 ZALS *
710 0140 bc00! LDPK _pcdata
711 0141 6600! SUBS _pcdata
712 0142 e38c BGEZ L17
0143 0158'
713 0144 L16:
714 .line 11
715 ;>>>> serialPortOutput1byte(pcdata[i]);
716 0144 1088 LAC * ,AR0
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
Copyright (c) 1987-1999 Texas Instruments Incorporated
serial.asm PAGE 15
717 0145 bf90 ADLK _pcdata+0,0
0146 0000!
718 0147 9080 SACL *
719 0148 038b LAR AR3,* ,AR3
720 0149 1089 LAC * ,AR1
721 014a 90a0 SACL *+
722 014b 7a80 CALL _serialPortOutput1byte
014c 00cb'
723 014d 8b9a MAR *-,AR2
724 .line 10
725 014e b201 LARK AR2,1
726 014f 8be0 MAR *0+
727 0150 1080 LAC *
728 0151 b801 ADDK 1
729 0152 9080 SACL *
730 0153 6980 ZALS *
731 0154 bc00! LDPK _pcdata
732 0155 6600! SUBS _pcdata
733 0156 e344 BLZ L16
0157 0144'
734 0158 L17:
735 0158 EPI0_6:
736 .line 12
737 0158 8b89 MAR * ,AR1
738 0159 7c04 SBRK 4
739 015a 0090 LAR AR0,*-
740 015b 7680 PSHD *
741 015c ef00 RET
742
743 .endfunc 117,000000000H,3
744
745 0000 .sect ".cinit"
746 0000 0001 .word 1,_simConter
0001 0000-
747 0002 0000 .word 0
748
749 .sym _simConter,_simConter,12,3,16
750 015d .text
751
752 .sym _GISR1,_GISR1,32,2,0
753 .globl _GISR1
754
755 .func 120
756 ;>>>> void interrupt GISR1()
757 ******************************************************
758 * FUNCTION DEF : _GISR1
759 ******************************************************
760 015d _GISR1:
761 015d 7a80 CALL I$$SAVE
015e 0000!
762 015f 8180 SAR AR1,*
763 0160 b005 LARK AR0,5
764 0161 00ea LAR AR0,*0+,AR2
765
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Thu Dec 8 11:06:24 2005
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?