📄 main.lst
字号:
724 0020 3105 SET [05H].2
724 0021 0092 MOV [012H],A
; 727: P_CS1_1632 = P_CS2_1632 = P_CS3_1632 = C_1632_CSOn; //1632 CS1 & CS2 & CS3 enable
727 0022 1F00 R CLR b0_12
727 0023 0712 MOV A,[012H]
727 0024 3605 CLR [05H].4
727 0025 1080 R SZ b0_12
727 0026 3205 SET [05H].4
727 0027 0092 MOV [012H],A
727 0028 0712 MOV A,[012H]
727 0029 3585 CLR [05H].3
727 002A 1080 R SZ b0_12
727 002B 3185 SET [05H].3
727 002C 0092 MOV [012H],A
727 002D 0712 MOV A,[012H]
727 002E 3505 CLR [05H].2
727 002F 1080 R SZ b0_12
727 0030 3105 SET [05H].2
727 0031 0092 MOV [012H],A
; 728: SBR_ALLRAM_1632(0); //all LED write 0
文件:MAIN.c 盛群编译器版本 2.86 页次21
文件:MAIN.C 盛群编译器版本 2.86 页次19
728 0032 3400 R CLR SBR_ALLRAM_16320
728 0033 2000 R CALL _SBR_ALLRAM_1632
; 729: P_CS1_1632 = P_CS2_1632 = P_CS3_1632 = C_1632_CSOff; //1632 CS1 & CS2 & CS3 disable
729 0034 1F00 R CLR b0_12
729 0035 3000 R SET b0_12.0
729 0036 0712 MOV A,[012H]
729 0037 3605 CLR [05H].4
729 0038 1080 R SZ b0_12
729 0039 3205 SET [05H].4
729 003A 0092 MOV [012H],A
729 003B 0712 MOV A,[012H]
729 003C 3585 CLR [05H].3
729 003D 1080 R SZ b0_12
729 003E 3185 SET [05H].3
729 003F 0092 MOV [012H],A
729 0040 0712 MOV A,[012H]
729 0041 3505 CLR [05H].2
729 0042 1080 R SZ b0_12
729 0043 3105 SET [05H].2
729 0044 0092 MOV [012H],A
729 0045 L100:
729 0045 0003 RET
729 0000 00 LOCAL b0_12 DB ?
729 0046 _INI_1632 ENDP
; 740: {
740 0000 @SBR_DATA_DisplayCS .SECTION 'CODE'
740 0000 PUBLIC _SBR_DATA_DisplayCS
740 0000 _SBR_DATA_DisplayCS PROC
; 739: void SBR_DATA_DisplayCS(unsigned char CSEn,unsigned char station)
739 0000 PUBLIC SBR_DATA_DisplayCS0
739 0000 00 LOCAL SBR_DATA_DisplayCS0 DB ? ; CSEn
739 0000 PUBLIC SBR_DATA_DisplayCS1
739 0001 00 LOCAL SBR_DATA_DisplayCS1 DB ? ; station
; 742: CSDis = CSEn ^ 0xff; //save CS off
742 0000 0700 R MOV A,SBR_DATA_DisplayCS0
742 0001 0CFF XOR A,0ffh
742 0002 0080 R MOV CR15,A
; 743: station = (C_DATA_MAX_CS-1)-station; //set the real station of 1632 RAM
743 0003 0F2F MOV A,02fh
743 0004 0200 R SUB A,SBR_DATA_DisplayCS1
743 0005 0080 R MOV SBR_DATA_DisplayCS1,A
743 0006 2800 R JMP L103
743 0007 L102:
; 748: if(station > 23)
748 0007 0F17 MOV A,017h
748 0008 0200 R SUB A,SBR_DATA_DisplayCS1
748 0009 3C0A SZ [0ah].0
748 000A 2800 R JMP L105
; 751: x = (station - 24); //RAM address count
751 000B 0700 R MOV A,SBR_DATA_DisplayCS1
751 000C 0A18 SUB A,018h
文件:MAIN.c 盛群编译器版本 2.86 页次22
751 000D 0080 R MOV CR13,A
文件:MAIN.C 盛群编译器版本 2.86 页次20
; 752: x = ((x & 0x0f8) + (7 - (x & 0x07))) * 4 + 2;
752 000E 0700 R MOV A,CR13
752 000F 0080 R MOV b0_13,A
752 0010 0700 R MOV A,b0_13
752 0011 0EF8 AND A,0f8h
752 0012 0080 R MOV b1_13,A
752 0013 0700 R MOV A,b0_13
752 0014 0E07 AND A,07h
752 0015 0080 R MOV b0_13,A
752 0016 0F07 MOV A,07h
752 0017 0200 R SUB A,b0_13
752 0018 0080 R MOV b0_13,A
752 0019 0700 R MOV A,b1_13
752 001A 0300 R ADD A,b0_13
752 001B 0080 R MOV b0_13,A
752 001C 340A CLR [0AH].0
752 001D 1A80 R RLC b0_13
752 001E 340A CLR [0AH].0
752 001F 1A80 R RLC b0_13
752 0020 0700 R MOV A,b0_13
752 0021 0B02 ADD A,02h
752 0022 0080 R MOV CR13,A
; 753: }
753 0023 2800 R JMP L106
753 0024 L105:
; 757: x = station; //RAM address count
757 0024 0700 R MOV A,SBR_DATA_DisplayCS1
757 0025 0080 R MOV CR13,A
; 758: x = ((x & 0x0f8) + (7 - (x & 0x07))) * 4;
758 0026 0700 R MOV A,CR13
758 0027 0080 R MOV b0_13,A
758 0028 0700 R MOV A,b0_13
758 0029 0EF8 AND A,0f8h
758 002A 0080 R MOV b1_13,A
758 002B 0700 R MOV A,b0_13
758 002C 0E07 AND A,07h
758 002D 0080 R MOV b0_13,A
758 002E 0F07 MOV A,07h
758 002F 0200 R SUB A,b0_13
758 0030 0080 R MOV b0_13,A
758 0031 0700 R MOV A,b1_13
758 0032 0300 R ADD A,b0_13
758 0033 0080 R MOV b0_13,A
758 0034 340A CLR [0AH].0
758 0035 1A00 R RLCA b0_13
758 0036 340A CLR [0AH].0
758 0037 1A85 RLC [05H]
758 0038 0080 R MOV CR13,A
758 0039 L106:
; 761: station++;
761 0039 1480 R INC SBR_DATA_DisplayCS1
; 762: data = T_Data_Value[M_DATA_TableCnt]; //load data
文件:MAIN.c 盛群编译器版本 2.86 页次23
762 003A 0F01 MOV A,1
762 003B 0300 R ADD A,_M_DATA_TableCnt
762 003C 0B00 R ADD A,OFFSET l_T_Data_Value
762 003D 2000 R CALL l_T_Data_Value
762 003E 0080 R MOV CR14,A
文件:MAIN.C 盛群编译器版本 2.86 页次21
; 763: M_DATA_TableCnt++; //next data
763 003F 1480 R INC _M_DATA_TableCnt
; 768: if((M_Function_Step == C_FunStep_UDOn) || (M_Function_Step == C_FunStep_UDOff))
768 0040 0700 R MOV A,_M_Function_Step
768 0041 0080 R MOV b0_13,A
768 0042 0700 R MOV A,b0_13
768 0043 0C06 XOR A,06h
768 0044 3D0A SZ [0ah].2
768 0045 2800 R JMP L109
768 0046 0700 R MOV A,b0_13
768 0047 0C08 XOR A,08h
768 0048 390A SNZ [0ah].2
768 0049 2800 R JMP L107
768 004A L109:
; 770: data &= M_DATA_UDMask;
770 004A 0700 R MOV A,_M_DATA_UDMask
770 004B 0680 R ANDM A,CR14
770 004C L107:
; 776: P_CSControl_1632 &= CSEn; //CS enable
776 004C 0700 R MOV A,SBR_DATA_DisplayCS0
776 004D 0692 ANDM A,__pa
; 777: SBR_PREDATA_1632(); // "101" , ready for write
777 004E 2000 R CALL _SBR_PREDATA_1632
; 778: SBR_ADDRESS_1632(x); // address = x
778 004F 0700 R MOV A,CR13
778 0050 0080 R MOV SBR_ADDRESS_16320,A
778 0051 2000 R CALL _SBR_ADDRESS_1632
; 779: SBR_DATA_1632(data);
779 0052 0700 R MOV A,CR14
779 0053 0080 R MOV SBR_DATA_16320,A
779 0054 2000 R CALL _SBR_DATA_1632
; 780: P_CSControl_1632 |= CSDis; //CS disable
780 0055 0700 R MOV A,CR15
780 0056 0592 ORM A,__pa
780 0057 L103:
; 745: while((station < C_DATA_MAX_CS) && (M_DATA_TableCnt < C_DATA_MAX_Length))
745 0057 0700 R MOV A,SBR_DATA_DisplayCS1
745 0058 0A30 SUB A,030h
745 0059 3C0A SZ [0ah].0
745 005A 2800 R JMP L110
745 005B 0700 R MOV A,_M_DATA_TableCnt
745 005C 0A90 SUB A,090h
745 005D 380A SNZ [0ah].0
745 005E 2800 R JMP L102
文件:MAIN.c 盛群编译器版本 2.86 页次24
745 005F L110:
745 005F L101:
745 005F 0003 RET
745 0002 00 LOCAL b0_13 DB ?
745 0003 00 LOCAL b1_13 DB ?
; 741: unsigned char CSDis,x,y,data;
741 0004 00 LOCAL CR13 DB ? ; x
741 0005 00 LOCAL CR14 DB ? ; data
741 0006 00 LOCAL CR15 DB ? ; CSDis
文件:MAIN.C 盛群编译器版本 2.86 页次22
741 0060 _SBR_DATA_DisplayCS ENDP
; 793: {
793 0000 @SBR_DATA_DisplayByte .SECTION 'CODE'
793 0000 PUBLIC _SBR_DATA_DisplayByte
793 0000 _SBR_DATA_DisplayByte PROC
; 792: void SBR_DATA_DisplayByte(unsigned char CSEn,unsigned char station,unsigned char data)
792 0000 PUBLIC SBR_DATA_DisplayByte0
792 0000 00 LOCAL SBR_DATA_DisplayByte0 DB ? ; CSEn
792 0000 PUBLIC SBR_DATA_DisplayByte1
792 0001 00 LOCAL SBR_DATA_DisplayByte1 DB ? ; station
792 0000 PUBLIC SBR_DATA_DisplayByte2
792 0002 00 LOCAL SBR_DATA_DisplayByte2 DB ? ; data
; 796: CSDis = CSEn ^ 0xff; //save CS off
796 0000 0700 R MOV A,SBR_DATA_DisplayByte0
796 0001 0CFF XOR A,0ffh
796 0002 0080 R MOV CR22,A
; 798: if(station > 23)
798 0003 0F17 MOV A,017h
798 0004 0200 R SUB A,SBR_DATA_DisplayByte1
798 0005 3C0A SZ [0ah].0
798 0006 2800 R JMP L112
; 801: x = (station - 24); //RAM address count
801 0007 0700 R MOV A,SBR_DATA_DisplayByte1
801 0008 0A18 SUB A,018h
801 0009 0080 R MOV CR21,A
; 802: x = ((x & 0x0f8) + (7 - (x & 0x07))) * 4 + 2;
802 000A 0700 R MOV A,CR21
802 000B 0080 R MOV b0_14,A
802 000C 0700 R MOV A,b0_14
802 000D 0EF8 AND A,0f8h
802 000E 0080 R MOV b1_14,A
802 000F 0700 R MOV A,b0_14
802 0010 0E07 AND A,07h
802 0011 0080 R MOV b0_14,A
802 0012 0F07 MOV A,07h
802 0013 0200 R SUB A,b0_14
802 0014 0080 R MOV b0_14,A
802 0015 0700 R MOV A,b1_14
802 0016 0300 R ADD A,b0_14
802 0017 0080 R MOV b0_14,A
802 0018 340A CLR [0AH].0
802 0019 1A80 R RLC b0_14
文件:MAIN.c 盛群编译器版本 2.86 页次25
802 001A 340A CLR [0AH].0
802 001B 1A80 R RLC b0_14
802 001C 0700 R MOV A,b0_14
802 001D 0B02 ADD A,02h
802 001E 0080 R MOV CR21,A
; 803: }
803 001F 2800 R JMP L113
803 0020 L112:
文件:MAIN.C 盛群编译器版本 2.86 页次23
; 807: x = station; //RAM address count
807 0020 0700 R MOV A,SBR_DATA_DisplayByte1
807 0021 0080 R MOV CR21,A
; 808: x = ((x & 0x0f8) + (7 - (x & 0x07))) * 4;
808 0022 0700 R MOV A,CR21
808 0023 0080 R MOV b0_14,A
808 0024 0700 R MOV A,b0_14
808 0025 0EF8 AND A,0f8h
808 0026 0080 R MOV b1_14,A
808 0027 0700 R MOV A,b0_14
808 0028 0E07 AND A,07h
808 0029 0080 R MOV b0_14,A
808 002A 0F07 MOV A,07h
808 002B 0200 R SUB A,b0_14
808 002C 0080 R MOV b0_14,A
808 002D 0700 R MOV A,b1_14
808 002E 0300 R ADD A,b0_14
808 002F 0080 R MOV b0_14,A
808 0030 340A CLR [0AH].0
808 0031 1A00 R RLCA b0_14
808 0032 340A CLR [0AH].0
808 0033 1A85 RLC [05H]
808 0034 0080 R MOV CR21,A
808 0035 L113:
; 812: P_CSControl_1632 &= CSEn; //CS enable
812 0035 0700 R MOV A,SBR_DATA_DisplayByte0
812 0036 0692 ANDM A,__pa
; 813: SBR_PREDATA_1632(); // "101" , ready for write
813 0037 2000 R CALL _SBR_PREDATA_1632
; 814: SBR_ADDRESS_1632(x); // address = station
814 0038 0700 R MOV A,CR21
814 0039 0080 R MOV SBR_ADDRESS_16320,A
814 003A 2000 R CALL _SBR_ADDRESS_1632
; 815: SBR_DATA_1632(data);
815 003B 0700 R MOV A,SBR_DATA_DisplayByte2
815 003C 0080 R MOV SBR_DATA_16320,A
815 003D 2000 R CALL _SBR_DATA_1632
; 816: P_CSControl_1632 |= CSDis; //CS disable
816 003E 0700 R MOV A,CR22
816 003F 0592 ORM A,__pa
816 0040 L111:
816 0040 0003 RET
文件:MAIN.c 盛群编译器版本 2.86 页次26
816 0003 00 LOCAL b0_14 DB ?
816 0004 00 LOCAL b1_14 DB ?
; 794: unsigned char CSDis,x;
794 0005 00 LOCAL CR21 DB ? ; x
794 0006 00 LOCAL CR22 DB ? ; CSDis
794 0041 _SBR_DATA_DisplayByte ENDP
; 829: {
829 0000 @SBR_FUNCTION_STEP0 .SECTION 'CODE'
829 0000 PUBLIC _SBR_FUNCTION_STEP0
829 0000 _SBR_FUNCTION_STEP0 PROC
; 832: if(M_DATA_FrePoint < C_DATA_MAX_Length)
832 0000 0700 R MOV A,_M_DATA_FrePoint
文件:MAIN.C 盛群编译器版本 2.86 页次24
832 0001 0A90 SUB A,090h
832 0002 3C0A SZ [0ah].0
832 0003 2800 R JMP L115
; 835: M_DATA_TableCnt = 0;
835 0004 1F00 R CLR _M_DATA_TableCnt
; 836: x = M_DATA_FrePoint;
836 0005 0700 R MOV A,_M_DATA_FrePoint
836 0006 0080 R MOV CR27,A
; 837: if(x < C_DATA_MAX_CS)
837 0007 0700 R MOV A,CR27
837 0008 0A30 SUB A,030h
837 0009 3C0A SZ [0ah].0
837 000A 2800 R JMP L117
; 840: SBR_DATA_DisplayCS(C_1632_CS3En,x);
840 000B 0FEF MOV A,0efh
840 000C 0080 R MOV SBR_DATA_DisplayCS0,A
840 000D 0700 R MOV A,CR27
840 000E 0080 R MOV SBR_DATA_DisplayCS1,A
840 000F 2000 R CALL _SBR_DATA_DisplayCS
; 841: }
841 0010 2800 R JMP L116
841 0011 L117:
; 844: x -= C_DATA_MAX_CS;
844 0011 0700 R MOV A,CR27
844 0012 0A30 SUB A,030h
844 0013 0080 R MOV CR27,A
; 845: if(x < C_DATA_MAX_CS)
845 0014 0700 R MOV A,CR27
845 0015 0A30 SUB A,030h
845 0016 3C0A SZ [0ah].0
845 0017 2800 R JMP L119
; 848: SBR_DATA_DisplayCS(C_1632_CS2En,x);
848 0018 0FF7 MOV A,0f7h
848 0019 0080 R MOV SBR_DATA_DisplayCS0,A
848 001A 0700 R MOV A,CR27
文件:MAIN.c 盛群编译器版本 2.86 页次27
848 001B 0080 R MOV SBR_DATA_DisplayCS1,A
848 001C 2000 R CALL _SBR_DATA_DisplayCS
; 849: SBR_DATA_DisplayCS(C_1632_CS3En,(C_DATA_MAX_CS-1));
849 001D 0FEF MOV A,0efh
849 001E 0080 R MOV SBR_DATA_DisplayCS0,A
849 001F 0F2F MOV A,02fh
849 0020 0080 R MOV SBR_DATA_DisplayCS1,A
849 0021 2000 R CALL _SBR_DATA_DisplayCS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -