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

📄 cid.lst

📁 cid file. the prgram is used to get caller id
💻 LST
📖 第 1 页 / 共 5 页
字号:
                     <      	.const  B_Com11                  = 0x0800
                     <      	.const  B_Com12                  = 0x1000
                     <      	.const  B_Com13                  = 0x2000
                     <      	.const  B_Com14                  = 0x4000
                     <      	.const  B_Com15                  = 0x8000;
                     <      	
                     <      	.const  P_Seg0          = 0x7100;
                     <      	.const  P_Seg1          = 0x7101;
                     <      	.const  P_Seg2          = 0x7102;
                     <      	.const  P_Seg3          = 0x7103;
                     <      	.const  P_Seg4          = 0x7104;
                     <      	.const  P_Seg5          = 0x7105;
                     <      	.const  P_Seg6          = 0x7106;
                     <      	.const  P_Seg7          = 0x7107;
                     <      	.const  P_Seg8          = 0x7108;
                     <      	.const  P_Seg9          = 0x7109;
                     <      	.const  P_Seg10         = 0x710A;
                     <      	.const  P_Seg11         = 0x710B;
                     <      	.const  P_Seg12         = 0x710C;
                     <      	.const  P_Seg13         = 0x710D;
                     <      	.const  P_Seg14         = 0x710E;
                     <      	.const  P_Seg15         = 0x710F;
                     <      	.const  P_Seg16         = 0x7110;
                     <      	.const  P_Seg17         = 0x7111;
                     <      	.const  P_Seg18         = 0x7112;
                     <      	.const  P_Seg19         = 0x7113;
                     <      	.const  P_Seg20         = 0x7114;
                     <      	.const  P_Seg21         = 0x7115;
                     <      	.const  P_Seg22         = 0x7116;
                     <      	.const  P_Seg23         = 0x7117;
                     <      	.const  P_Seg24         = 0x7118;
                     <      	.const  P_Seg25         = 0x7119;
                     <      	.const  P_Seg26         = 0x711A;
                     <      	.const  P_Seg27         = 0x711B;
                     <      	.const  P_Seg28          = 0x711C
                     <      	.const  P_Seg29          = 0x711D
                     <      	.const  P_Seg30          = 0x711E
                     <      	.const  P_Seg31          = 0x711F
                     <      	.const  P_Seg32          = 0x7120
                     <      	.const  P_Seg33          = 0x7121
                     <      	.const  P_Seg34          = 0x7122
                     <      	.const  P_Seg35          = 0x7123
                     <      	.const  P_Seg36          = 0x7124
                     <      	.const  P_Seg37          = 0x7125
                     <      	.const  P_Seg38          = 0x7126
                     <      	.const  P_Seg39          = 0x7127
                     <      	
                     <      	//-----------------------------------------------------------------------------//
                     <      	//Line Control
                     <      	//Procedure : 1. Enable Line det.
                     <      	//            2. Latch line status
                     <      	//            3. Enable wakeup/int
                     <      	//            4. Set wakeup/int sources
                     <      	//            5. Sleep....
                     <      	//-----------------------------------------------------------------------------//
                     <      	.const  P_LineDetCtrl   = 0x702E; //(R/W)
                     <      	
                     <      	.const  B_CMPOut        = 0x0001; //
                     <      	.const  B_EnLineIntWp   = 0x0040; //
                     <      	.const  B_EnLineDet     = 0x0080; //
                     <      	
                     <      	.const  P_LatchLine     = 0x702F; //
                     <      	
                     <      	//-----------------------------------------------------------------------------//
                     <      	.const  P_KeyScanCtrl   = 0x703B;
                     <      	.const  B_AKSEN       = 0x0080;   //0/1 - disable/enable auto key scan function
                     <      	.const  B_HIZ1        = 0x0002;   //0/1 - disable/enable normal key scan mode of P_Seg15~8
                     <      	.const  B_HIZ0        = 0x0001;   //0/1 - disable/enable normal key scan mode of P_Seg7~0
                     <      	
                     <      	.const  P_KeyScanMode   = 0x703A; //b0~b8 select IOAx as wakeup source
                     <      	.const  P_KeyScanPort   = 0x703C; //maually scan key
                            	.include                Display.ASM
                     <      	//-----------------------------------------------------------------------
                     <      	//Program Name:         LcdDisplay.asm
                     <      	//Applied Body:         SPT6604A
                     <      	//Project Description:  This is a Demo of Display in SPT6604A
                     <      	//Compile:              Sunplus u'nSP IDE
                     <      	//Programmer:           WangXu
                     <      	//Current Version:      1.0
                     <      	//Write Date:           2002/10/30
                     <      	//-----------------------------------------------------------------------
                     <      	.const                  P_ColonSeg              = P_Seg24
                     <      	.const                  B_ColonCom              = B_Com7
                     <      	.const                  P_OutOfAreaSeg          = P_Seg8
                     <      	.const                  B_OutOfAreaCom          = B_Com3
                     <      	.const                  P_PrivateSeg            = P_Seg10
                     <      	.const                  B_PrivateCom            = B_Com3
                     <      	.const                  P_MessageSeg            = P_Seg14
                     <      	.const                  B_MessageCom            = B_Com3
                     <      	//-----------------------------------------------------------------------
00008BC0             <      	.code
                     <      	F_ShowMessageFlag:
00008BC0 11 93 0E 71 <      	        r1 =    [P_MessageSeg]
00008BC2 48 A2       <      	        r1|=    B_MessageCom
00008BC3 19 D3 0E 71 <      	        [P_MessageSeg] = r1
00008BC5 90 9A       <      	        retf
                     <      	//-----------------------------------------------------------------------
                     <      	F_ClrMessageFlag:
00008BC6 11 93 0E 71 <      	        r1 =    [P_MessageSeg]
00008BC8 09 B3 F7 FF <      	        r1&=    0xffff-B_MessageCom
00008BCA 19 D3 0E 71 <      	        [P_MessageSeg] = r1
00008BCC 90 9A       <      	        retf
                     <      	//-----------------------------------------------------------------------       
                     <      	F_ShowOutOfAreaFlag:
00008BCD 11 93 08 71 <      	        r1 =    [P_OutOfAreaSeg]
00008BCF 48 A2       <      	        r1|=    B_OutOfAreaCom
00008BD0 19 D3 08 71 <      	        [P_OutOfAreaSeg] = r1 
00008BD2 90 9A       <      	        retf
                     <      	//-----------------------------------------------------------------------
                     <      	F_ShowPrivateFlag:
00008BD3 11 93 0A 71 <      	        r1 =    [P_PrivateSeg]
00008BD5 48 A2       <      	        r1|=    B_PrivateCom
00008BD6 19 D3 0A 71 <      	        [P_PrivateSeg] = r1 
00008BD8 90 9A       <      	        retf
                     <      	//-----------------------------------------------------------------------
                     <      	F_ShowCidNumber:
00008BD9 12 95 00 71 <      	        R2 = [P_Seg0];
00008BDB 0A A5 80 00 <      	        R2 |= B_Com7;
00008BDD 1A D5 00 71 <      	        [P_Seg0] = R2;
                     <      	
00008BDF 01 95       <      	        R2 = R1;
00008BE0 0A 45 63 00 <      	        CMP     R2,99;
00008BE2 03 8E       <      	        JBE     NotOverflow;
00008BE3 49 92       <      	        R1 = 9;
00008BE4 49 94       <      	        R2 = 9;
00008BE5 06 EE       <      	        JMP     BCD_OK;
                     <      	
                     <      	NotOverflow:
00008BE6 40 92       <      	        R1 = 0;
                     <      	ConvertToBCD:
00008BE7 4A 44       <      	        CMP     R2,10;
00008BE8 03 0E       <      	        JB      BCD_OK;
00008BE9 4A 24       <      	        R2 -= 10;
00008BEA 41 02       <      	        R1 += 1;
00008BEB 45 EE       <      	        JMP     ConvertToBCD;
                     <      	
                     <      	BCD_OK:
00008BEC 40 42       <      	        CMP     R1,0;
00008BED 01 4E       <      	        JNZ     BCD_OK1;
00008BEE 4A 92       <      	        R1 = 0x000A;
                     <      	BCD_OK1:
00008BEF 40 44       <      	        CMP     R2,0;
00008BF0 01 4E       <      	        JNZ     BCD_OK2;
00008BF1 4A 94       <      	        R2 = 0x000A;
                     <      	BCD_OK2:
00008BF2 0D 9B B5 8D <      	        BP = TB_SerialNumber;
00008BF4 40 F0 3B 8C <      	        CALL    F_ShowDigit;
00008BF6 02 93       <      	        R1 = R2;
00008BF7 80 FE 3B 8C <      	        GoTo    F_ShowDigit;
                     <      	
                     <      	//-----------------------------------------------------------------------
                     <      	F_ShowMonthDay:
00008BF9 0D 9B B0 8D <      	        bp =    TW_MonthDay
                     <      	?L_ShowMontDayLoop:
00008BFB D5 92       <      	        r1 =    [bp++]
00008BFC 05 5E       <      	        jz              ?L_ShowFlagOver
00008BFD D5 96       <      	        r3 =    [bp++]
00008BFE C1 98       <      	        r4 =    [r1]
00008BFF 03 A9       <      	        r4|=    r3
00008C00 C1 D8       <      	        [r1]    = r4
00008C01 47 EE       <      	        jmp             ?L_ShowMontDayLoop
                     <      	?L_ShowFlagOver:
00008C02 90 9A       <      	        retf
                     <      	//-----------------------------------------------------------------------
                     <      	F_ShowTime:
00008C03 0D 9B 74 8D <      	        bp =    TW_DigitTime
00008C05 12 95 C3 00 <      	        r2 =    [RW_Time]
00008C07 0A C5 00 0F <      	        test    r2,0x0f00
00008C09 02 4E       <      	        jnz             ?L_HourLowOk
00008C0A 0A A5 00 0A <      	        r2|=    0x0a00
                     <      	?L_HourLowOk:
00008C0C 0A C5 F0 00 <      	        test    r2,0x00f0
00008C0E 02 4E       <      	        jnz             ?L_MinuteHighOk
00008C0F 0A A5 A0 00 <      	        r2|=    0x00a0
                     <      	?L_MinuteHighOk:
00008C11 4F C4       <      	        test    r2,0x000f
00008C12 01 4E       <      	        jnz             ?L_MinuteLowOk
00008C13 4A A4       <      	        r2|=    0x000a
                     <      	?L_MinuteLowOk:
00008C14 12 EE       <      	        jmp             L_ShowTwoDigit  
                     <      	F_ShowDate:
00008C15 0D 9B 38 8D <      	        bp =    TW_DigitDate
00008C17 12 95 C2 00 <      	        r2 =    [RW_Date]
00008C19 0A C5 00 F0 <      	        test    r2,0xf000
00008C1B 05 5E       <      	        jz              ?L_MonthLowOk
00008C1C 0A C5 00 0F <      	        test    r2,0x0f00
00008C1E 02 4E       <      	        jnz             ?L_MonthLowOk
00008C1F 0A A5 00 0A <      	        r2 |=   0x0a00
                     <      	?L_MonthLowOk:
00008C21 0A C5 F0 00 <      	        test    r2,0x00f0
00008C23 03 5E       <      	        jz              L_ShowTwoDigit
00008C24 4F C4       <      	        test    r2,0x000f
00008C25 01 4E       <      	        jnz             L_ShowTwoDigit
00008C26 4A A4       <      	        r2|=    0x000a
                     <      	L_ShowTwoDigit:
00008C27 7A 93       <      	        r1 =    r2 lsr 4
00008C28 79 93       <      	        r1 =    r1 lsr 4
00008C29 79 93       <      	        r1 =    r1 lsr 4
00008C2A 4F B2       <      	        r1 =    r1&0x000f
00008C2B 40 F0 3B 8C <      	        call    F_ShowDigit
00008C2D 7A 93       <      	        r1 =    r2 lsr 4
00008C2E 79 93       <      	        r1 =    r1 lsr 4
00008C2F 4F B2       <      	        r1 =    r1&0x000f
00008C30 40 F0 3B 8C <      	        call    F_ShowDigit
00008C32 7A 93       <      	        r1 =    r2 lsr 4
00008C33 4F B2       <      	        r1 =    r1&0x000f
00008C34 40 F0 3B 8C <      	        call    F_ShowDigit
00008C36 0A B3 0F 00 <      	        r1 =    r2&0x000f
00008C38 40 F0 3B 8C <      	        call    F_ShowDigit
00008C3A 90 9A       <      	        retf
                     <      	//-----------------------------------------------------------------------
                     <      	F_ShowDigit:
00008C3B 09 09 56 8C <      	        R4 =    R1+TB_Pattern0
00008C3D C4 92       <      	        R1 =    [R4]                    //Get pattern of corresponding number
                     <      	?L_ShowPointLoop:
00008C3E D5 98       <      	        R4 =    [BP++]                  //Get display buffer address of current dot
00008C3F 0D 5E       <      	        JZ              ?L_ShowDigitOver//Digital display dots is over, subrotine over
00008C40 C4 96       <      	        R3 =    [R4]                    //Get display buffer content of current dot
00008C41 CD 98       <      	        R4 =    [BP--]                  //Get bit map in display buffer of current dot
00008C42 04 A7       <      	        R3|=    R4                              //Set bit of current dot
00008C43 41 C2       <      	        TEST    R1,0x0001               //Test if current dot is display
00008C44 03 4E       <      	        JNZ             ?L_ShowDigit_30 //Yes, Display buffer content is Ok
00008C45 0C 89 FF 00 <      	        R4^=    0x00FF                  //No, clear the bit
00008C47 04 B7       <      	        R3&=    R4
                     <      	?L_ShowDigit_30:
00008C48 D5 98       <      	        R4 =    [BP++]                  //Get display buffer address
00008C49 C4 D6       <      	        [R4]    = R3                    //Put prepared content into the buffer
00008C4A 41 0A       <      	        BP+=    0x0001                  //Skip bit map of current dot
00008C4B 61 93       <      	        R1 =    R1 LSR 1                //shift pattern register so that next
                     <      	                                                        //dot can be test in next loop
00008C4C 4F EE       <      	        JMP             ?L_ShowPointLoop

⌨️ 快捷键说明

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