📄 comm.ls1
字号:
001F E0 520 MOVX A,@DPTR
A51 MACRO ASSEMBLER COMM 08/03/2009 16:57:28 PAGE 9
0020 FB 521 MOV R3,A
0021 A3 522 INC DPTR
0022 E0 523 MOVX A,@DPTR
0023 FA 524 MOV R2,A
0024 A3 525 INC DPTR
0025 E0 526 MOVX A,@DPTR
0026 F9 527 MOV R1,A
0027 C003 528 PUSH AR3
0029 C002 529 PUSH AR2
002B C001 530 PUSH AR1
002D 900000 F 531 MOV DPTR,#inTxBuf
0030 E0 532 MOVX A,@DPTR
0031 FE 533 MOV R6,A
0032 A3 534 INC DPTR
0033 E0 535 MOVX A,@DPTR
0034 F9 536 MOV R1,A
0035 D082 537 POP DPL
0037 D083 538 POP DPH
0039 D0E0 539 POP ACC
003B 6401 540 XRL A,#01H
003D 7008 541 JNZ ?C0035
003F E9 542 MOV A,R1
0040 6582 543 XRL A,DPL
0042 7003 544 JNZ ?C0035
0044 EE 545 MOV A,R6
0045 6583 546 XRL A,DPH
0047 547 ?C0035:
0047 7005 548 JNZ ?C0010
0049 D200 F 549 SETB TIflag
004B 020000 F 550 LJMP ?C0011
004E 551 ?C0010:
552 ; SBUF0=*outTxBuf; outTxBuf++;
553 ; SOURCE LINE # 84
004E 900000 F 554 MOV DPTR,#outTxBuf
0051 E0 555 MOVX A,@DPTR
0052 FB 556 MOV R3,A
0053 A3 557 INC DPTR
0054 E0 558 MOVX A,@DPTR
0055 FA 559 MOV R2,A
0056 A3 560 INC DPTR
0057 E0 561 MOVX A,@DPTR
0058 F9 562 MOV R1,A
0059 120000 F 563 LCALL ?C?CLDPTR
005C F599 564 MOV SBUF0,A
005E 900000 F 565 MOV DPTR,#outTxBuf+01H
0061 E4 566 CLR A
0062 75F001 567 MOV B,#01H
0065 120000 F 568 LCALL ?C?IILDX
569 ; if(outTxBuf==TxBuf+LenTxBuf) outTxBuf=TxBuf;
570 ; SOURCE LINE # 85
0068 900000 F 571 MOV DPTR,#outTxBuf
006B E0 572 MOVX A,@DPTR
006C FB 573 MOV R3,A
006D A3 574 INC DPTR
006E E0 575 MOVX A,@DPTR
006F FA 576 MOV R2,A
0070 A3 577 INC DPTR
0071 E0 578 MOVX A,@DPTR
0072 F9 579 MOV R1,A
0073 7401 580 MOV A,#01H
0075 900000 F 581 MOV DPTR,#TxBuf+080H
0078 6B 582 XRL A,R3
0079 7008 583 JNZ ?C0036
007B E9 584 MOV A,R1
007C 6582 585 XRL A,DPL
007E 7003 586 JNZ ?C0036
A51 MACRO ASSEMBLER COMM 08/03/2009 16:57:28 PAGE 10
0080 EA 587 MOV A,R2
0081 6583 588 XRL A,DPH
0083 589 ?C0036:
0083 700D 590 JNZ ?C0009
0085 900000 F 591 MOV DPTR,#outTxBuf
0088 04 592 INC A
0089 F0 593 MOVX @DPTR,A
008A A3 594 INC DPTR
008B 7400 F 595 MOV A,#HIGH (TxBuf)
008D F0 596 MOVX @DPTR,A
008E A3 597 INC DPTR
008F 7400 F 598 MOV A,#LOW (TxBuf)
0091 F0 599 MOVX @DPTR,A
600 ; }
601 ; SOURCE LINE # 86
0092 602 ?C0009:
603 ;
604 ;
605 ; if (RI0)
606 ; SOURCE LINE # 89
0092 209803 607 JB RI0,$ + 6H
0095 020000 F 608 LJMP ?C0011
609 ; {
610 ; SOURCE LINE # 90
611 ; RI0=0;
612 ; SOURCE LINE # 91
0098 C298 613 CLR RI0
614 ; //这里,缓冲区的读写方式跟8019as的ram区一样,是循环读,而且也用了
615 ; //两个指针,一个用来收,一个用来读
616 ; t=inRxBuf;t++; //保留指针位置
617 ; SOURCE LINE # 94
009A 900000 F 618 MOV DPTR,#inRxBuf
009D E0 619 MOVX A,@DPTR
009E F9 620 MOV R1,A
009F A3 621 INC DPTR
00A0 E0 622 MOVX A,@DPTR
00A1 FA 623 MOV R2,A
00A2 A3 624 INC DPTR
00A3 E0 625 MOVX A,@DPTR
00A4 900000 F 626 MOV DPTR,#t?240
00A7 C9 627 XCH A,R1
00A8 F0 628 MOVX @DPTR,A
00A9 A3 629 INC DPTR
00AA EA 630 MOV A,R2
00AB F0 631 MOVX @DPTR,A
00AC A3 632 INC DPTR
00AD E9 633 MOV A,R1
00AE F0 634 MOVX @DPTR,A
00AF 900000 F 635 MOV DPTR,#t?240+01H
00B2 E4 636 CLR A
00B3 75F001 637 MOV B,#01H
00B6 120000 F 638 LCALL ?C?IILDX
639 ; if(t==RxBuf+LenRxBuf) t=RxBuf; //如果到缓冲区末尾,则返回缓冲区头
640 ; SOURCE LINE # 95
00B9 900000 F 641 MOV DPTR,#t?240
00BC E0 642 MOVX A,@DPTR
00BD FB 643 MOV R3,A
00BE A3 644 INC DPTR
00BF E0 645 MOVX A,@DPTR
00C0 FA 646 MOV R2,A
00C1 A3 647 INC DPTR
00C2 E0 648 MOVX A,@DPTR
00C3 F9 649 MOV R1,A
00C4 7401 650 MOV A,#01H
00C6 900000 F 651 MOV DPTR,#RxBuf+022H
00C9 6B 652 XRL A,R3
A51 MACRO ASSEMBLER COMM 08/03/2009 16:57:28 PAGE 11
00CA 7008 653 JNZ ?C0037
00CC E9 654 MOV A,R1
00CD 6582 655 XRL A,DPL
00CF 7003 656 JNZ ?C0037
00D1 EA 657 MOV A,R2
00D2 6583 658 XRL A,DPH
00D4 659 ?C0037:
00D4 700D 660 JNZ ?C0014
00D6 900000 F 661 MOV DPTR,#t?240
00D9 04 662 INC A
00DA F0 663 MOVX @DPTR,A
00DB A3 664 INC DPTR
00DC 7400 F 665 MOV A,#HIGH (RxBuf)
00DE F0 666 MOVX @DPTR,A
00DF A3 667 INC DPTR
00E0 7400 F 668 MOV A,#LOW (RxBuf)
00E2 F0 669 MOVX @DPTR,A
00E3 670 ?C0014:
671 ; if(t==outRxBuf) return; //如果相等,说明缓冲区满了,RxBuf F
ull
672 ; SOURCE LINE # 96
00E3 900000 F 673 MOV DPTR,#outRxBuf
00E6 E0 674 MOVX A,@DPTR
00E7 FB 675 MOV R3,A
00E8 A3 676 INC DPTR
00E9 E0 677 MOVX A,@DPTR
00EA FA 678 MOV R2,A
00EB A3 679 INC DPTR
00EC E0 680 MOVX A,@DPTR
00ED F9 681 MOV R1,A
00EE C003 682 PUSH AR3
00F0 C002 683 PUSH AR2
00F2 C001 684 PUSH AR1
00F4 900000 F 685 MOV DPTR,#t?240
00F7 E0 686 MOVX A,@DPTR
00F8 FB 687 MOV R3,A
00F9 A3 688 INC DPTR
00FA E0 689 MOVX A,@DPTR
00FB FA 690 MOV R2,A
00FC A3 691 INC DPTR
00FD E0 692 MOVX A,@DPTR
00FE F9 693 MOV R1,A
00FF D082 694 POP DPL
0101 D083 695 POP DPH
0103 D0E0 696 POP ACC
0105 6B 697 XRL A,R3
0106 7008 698 JNZ ?C0038
0108 E9 699 MOV A,R1
0109 6582 700 XRL A,DPL
010B 7003 701 JNZ ?C0038
010D EA 702 MOV A,R2
010E 6583 703 XRL A,DPH
0110 704 ?C0038:
0110 6025 705 JZ ?C0011
0112 706 ?C0015:
707 ; *inRxBuf=SBUF0;
708 ; SOURCE LINE # 97
0112 900000 F 709 MOV DPTR,#inRxBuf
0115 E0 710 MOVX A,@DPTR
0116 FB 711 MOV R3,A
0117 A3 712 INC DPTR
0118 E0 713 MOVX A,@DPTR
0119 FA 714 MOV R2,A
011A A3 715 INC DPTR
011B E0 716 MOVX A,@DPTR
011C F9 717 MOV R1,A
A51 MACRO ASSEMBLER COMM 08/03/2009 16:57:28 PAGE 12
011D E599 718 MOV A,SBUF0
011F 120000 F 719 LCALL ?C?CSTPTR
720 ; inRxBuf=t;
721 ; SOURCE LINE # 98
0122 900000 F 722 MOV DPTR,#t?240
0125 E0 723 MOVX A,@DPTR
0126 F9 724 MOV R1,A
0127 A3 725 INC DPTR
0128 E0 726 MOVX A,@DPTR
0129 FA 727 MOV R2,A
012A A3 728 INC DPTR
012B E0 729 MOVX A,@DPTR
012C 900000 F 730 MOV DPTR,#inRxBuf
012F C9 731 XCH A,R1
0130 F0 732 MOVX @DPTR,A
0131 A3 733 INC DPTR
0132 EA 734 MOV A,R2
0133 F0 735 MOVX @DPTR,A
0134 A3 736 INC DPTR
0135 E9 737 MOV A,R1
0136 F0 738 MOVX @DPTR,A
739 ;
740 ; }
741 ; SOURCE LINE # 100
742 ;
743 ;
744 ; }
745 ; SOURCE LINE # 103
0137 746 ?C0011:
0137 D006 747 POP AR6
0139 D003 748 POP AR3
013B D002 749 POP AR2
013D D001 750 POP AR1
013F D000 751 POP AR0
0141 D0D0 752 POP PSW
0143 D082 753 POP DPL
0145 D083 754 POP DPH
0147 D0F0 755 POP B
0149 D0E0 756 POP ACC
014B 32 757 RETI
758 ; END OF serial
759
760 ;
761 ; /**********************************************************************
762 ; ** 函数原型: void Printf_Char(u8_t ascii)
763 ; ** 参数说明: ascii: 发送到串口的ASCII
764 ; ** 返 回 值: 无
765 ; ** 说 明: 往串口发送一个字符
766 ; ************************************************************************/
767 ;
768 ; void Printf_Char(unsigned char ascii)
769
---- 770 RSEG ?PR?_Printf_Char?COMM
0000 771 _Printf_Char:
772 USING 0
773 ; SOURCE LINE # 112
774 ;---- Variable 'ascii?341' assigned to Register 'R7' ----
775 ; {
776 ; SOURCE LINE # 113
777 ; unsigned char *t;
778 ;
779 ; ES0=0;
780 ; SOURCE LINE # 116
0000 C2AC 781 CLR ES0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -