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

📄 sleep.lst

📁 the sleep file .the program is used to goto sleep mode.
💻 LST
📖 第 1 页 / 共 5 页
字号:
                     <      	//Check if other key is pressed
000050EC 0C 99 01 00 <      		r4 = SW_KeyStatusBuf
                     <      	?L_SearchOtherKeyLoop:
000050EE 05 49       <      		cmp	r4,bp
000050EF 05 5E       <      		jz      ?L_SearchNextLine
000050F0 C4 96       <      		r3 =	[r4]
000050F1 5F C6       <      		test    r3,0x001F
000050F2 02 5E       <      		jz	?L_SearchNextLine
000050F3 0F 9F 29 51 <      		goto	?L_ReStartScanKey	//other key is still pressed
                     <      	?L_SearchNextLine:
000050F5 41 08       <      		r4+=	0x0001
000050F6 0C 49 06 00 <      		cmp     r4,SW_KeyStatusBuf+0x0005
000050F8 4B 3E       <      		jl	?L_SearchOtherKeyLoop
                     <      	//----------------------------------------------------------------------------
000050F9 0D 9B 3B 51 <      		bp =	TB_KeyNumber		//r2 - key status buffer's value
000050FB 01 0B       <      		bp+=	r1
000050FC C5 96       <      		r3 =	[bp]
000050FD 0A B5 00 1F <      		r2&=	0x1F00
000050FF 4A 95       <      		r2 =	r2 LSL 2
                     <      	?L_GetRowNumberLoop:
00005100 41 26       <      		r3-=	0x0001
00005101 42 95       <      		r2 =	r2 LSL 1
00005102 43 6E       <      		jpl	?L_GetRowNumberLoop
00005103 0A C5 FF 7F <      		test	r2,0x7FFF
00005105 02 5E       <      		jz	?L_NoOtherKey
00005106 0F 9F 29 51 <      		goto	?L_ReStartScanKey
                     <      	?L_NoOtherKey:
00005108 0B 07 40 51 <      		r3+=	TB_KeyCode
0000510A C3 92       <      		r1 =	[r3]			//get key_code
                     <      	
0000510B 12 95 06 00 <      		r2 = [RPtr_KeyQueueBuf]
0000510D 0A C5 00 08 <      		test    r2,0x0800
0000510F 19 4E       <      		jnz	?L_ReStartScanKey	//KeyQueueBuf is full
                     <      	?L_KeyBufNotFull:
00005110 7A 95       <      		r2 =	r2 lsr 4
00005111 47 B4       <      		r2&=	0x0007			//write pointer
00005112 62 97       <      		r3 =	r2 lsr 1
00005113 0B 07 07 00 <      		r3+=	SW_KeyQueueBuf
00005115 C3 98       <      		r4 =	[r3]
00005116 41 C4       <      		test    r2,0x0001
00005117 05 5E       <      		jz      ?L_SaveKeyLowByte
00005118 0C B9 FF 00 <      		r4&=	0x00FF
0000511A 59 93       <      		r1 =	r1 LSL 4
0000511B 59 93       <      		r1 =	r1 LSL 4
0000511C 02 EE       <      		jmp     ?L_KeyValueIsOk
                     <      	?L_SaveKeyLowByte:
0000511D 0C B9 00 FF <      		r4&=	0xFF00
                     <      	?L_KeyValueIsOk:
0000511F 04 A3       <      		r1|=	r4
00005120 C3 D2       <      		[r3]	= r1			//store key
00005121 11 93 06 00 <      		r1 =	[RPtr_KeyQueueBuf]
00005123 09 03 10 01 <      		r1+=	0x0110			//increase writer pointer & size
00005125 09 B3 7F FF <      		r1&=	0xFF7F
00005127 19 D3 06 00 <      		[RPtr_KeyQueueBuf] = r1
                     <      	?L_ReStartScanKey:
00005129 40 F0 6C 51 <      		call    F_ClrKeyStatusBuf
0000512B 40 92       <      		r1 = S_ReadKeyBeforeBounce	//initialize RW_KeyScanFlag
0000512C 19 D3 00 00 <      		[RW_KeyScanFlag] = r1		//scan from R-option line
0000512E 09 93 D3 50 <      		r1 =	TW_ScanLine
00005130 C1 92       <      		r1 =	[r1]
00005131 40 F1       <      		int	off
00005132 12 95 06 70 <      		r2 =	[P_IOB_Buf]
00005134 0A B5 E0 00 <      		r2&=	0x00E0
00005136 01 A5       <      		r2|=	r1
00005137 1A D5 05 70 <      		[P_IOB_Data] = r2		//Set scan line
00005139 43 F1       <      		int	fiq,irq
0000513A 90 9A       <      		retf
                     <      	//-------------------------------------------------------------------------------
                     <      	TB_KeyNumber:
0000513B 05 00       <      		.DW    5
0000513C 0A 00       <      		.DW    10
0000513D 0F 00       <      		.DW    15
0000513E 14 00       <      		.DW    20
0000513F 19 00       <      		.DW    25
                     <      	//-------------------------------------------------------------------------------
                     <      	TB_KeyCode:
00005140 01 00 04 00 <      		.DW    C_One,    C_Four, C_Seven, C_Star,  C_Flash
         07 00 0B 00
         10 00      
00005145 02 00 05 00 <      		.DW    C_Two,    C_Five, C_Eight, C_Zero,  C_Store
         08 00 0A 00
         12 00      
0000514A 03 00 06 00 <      		.DW    C_Three,  C_Six,  C_Nine,  C_Pound, C_Redial
         09 00 0C 00
         1C 00      
0000514F 13 00 00 00 <      		.DW    C_Recall, C_Nop, C_Pause, C_IP,    C_HandFree
         0D 00 19 00
         1A 00      
00005154 18 00 14 00 <      		.DW    C_Del,    C_Out,  C_Down,  C_Up,    C_Hold
         17 00 16 00
         1B 00      
                     <      	//-------------------------------------------------------------------------------
                     <      	//	   IOB0     IOB1    IOB2      IOB3       IOB4     IOA5(Opt1)  IOA6(Opt2)
                     <      	//      +--------+-------+--------+----------+---------+-----------+-----------+
                     <      	// IOA0 |   1    |   2   |   3    | Recall   |  Delete |  lock 0   |    PPS    |
                     <      	//      +--------+-------+--------+----------+---------+-----------+-----------+
                     <      	// IOA1 |   4    |   5   |   6    |   AC     |   Out   |  lock all |    M/B    |
                     <      	//      +--------+-------+--------+----------+---------+-----------+-----------+
                     <      	// IOA2 |   7    |   8   |   9    |  Pause   |   Down  |    P/T    |  Lock0,9  |
                     <      	//      +--------+-------+--------+----------+---------+-----------+-----------+
                     <      	// IOA3 |*(P-->T)|   0   |   #    |   IP     |   Up    |  Enalarm  |    ---    |
                     <      	//      +--------+-------+--------+----------+---------+-----------+-----------+
                     <      	// IOA4 | Flash  | Store | Redial | HandFree |   Hold  |   Tel/Box |    ---    |
                     <      	//      +--------+-------+--------+----------+---------+-----------+-----------+
                     <      	//-------------------------------------------------------------------------------
                     <      	F_StartKeyScan:				//initialize key scan
00005159 40 92       <      		r1 = 0				//clear KeyStatusBuf
0000515A 19 D3 06 00 <      		[RPtr_KeyQueueBuf] = r1	//clear KeyQueueBufPtr
0000515C 40 F0 6C 51 <      		call    F_ClrKeyStatusBuf
0000515E 40 92       <      		r1 = S_ReadKeyBeforeBounce	//initialize KeyScanFlag
0000515F 19 D3 00 00 <      		[RW_KeyScanFlag] = r1		//scan from R-option line
00005161 09 93 D3 50 <      		r1 =	TW_ScanLine
00005163 C1 92       <      		r1 =	[r1]
00005164 12 95 06 70 <      		r2 =	[P_IOB_Buf]
00005166 0A B5 E0 00 <      		r2&=	0x00E0
00005168 01 A5       <      		r2|=	r1
00005169 1A D5 05 70 <      		[P_IOB_Data] = r2		//Set scan line
0000516B 90 9A       <      		retf
                     <      	//-------------------------------------------------------------------------------
                     <      	F_ClrKeyStatusBuf:
0000516C 0D 9B 01 00 <      		bp =	SW_KeyStatusBuf
0000516E 09 93 FF 00 <      		r1 =	0x00FF
                     <      	?L_ClrBufLoop:
00005170 C5 94       <      		r2 =	[bp]
00005171 01 B5       <      		r2&=	r1
00005172 D5 D4       <      		[bp++]	= r2
00005173 0D 4B 06 00 <      		cmp	bp,SW_KeyStatusBuf+5
00005175 46 0E       <      		jb	?L_ClrBufLoop
00005176 90 9A       <      		retf
                     <      	//-----------------------------------------------------------------------
                     <      	//Key code constants
                     <      	.const	C_One           = 0x0001
                     <      	.const	C_Two           = 0x0002
                     <      	.const	C_Three         = 0x0003
                     <      	.const	C_Four          = 0x0004
                     <      	.const	C_Five          = 0x0005
                     <      	.const	C_Six           = 0x0006
                     <      	.const	C_Seven         = 0x0007
                     <      	.const	C_Eight         = 0x0008
                     <      	.const	C_Nine          = 0x0009
                     <      	.const	C_Zero          = 0x000A
                     <      	.const	C_Star          = 0x000B
                     <      	.const	C_Pound         = 0x000C
                     <      	.const	C_Pause         = 0x000D
                     <      	.const	C_Flash         = 0x0010
                     <      	.const	C_Store         = 0x0012
                     <      	.const	C_Set           = 0x0012
                     <      	.const	C_Recall        = 0x0013
                     <      	.const	C_Search        = 0x0013
                     <      	.const	C_Out           = 0x0014
                     <      	.const	C_Up            = 0x0016
                     <      	.const	C_Down          = 0x0017
                     <      	.const	C_Del           = 0x0018
                     <      	.const	C_IP            = 0x0019
                     <      	.const	C_HandFree      = 0x001A
                     <      	.const	C_Hold          = 0x001B
                     <      	.const	C_Redial        = 0x001C
                     <      	.const	C_Nop		= 0x0000
                     <      	//-----------------------------------------------------------------------
                     <      	//-----------------------------------------------------------------------
                            	.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
                     <      	//-----------------------------------------------------------------------
00005177             <      	.code
                     <      	F_ShowMessageFlag:
00005177 11 93 0E 71 <      		r1 =	[P_MessageSeg]
00005179 48 A2       <      		r1|=	B_MessageCom
0000517A 19 D3 0E 71 <      		[P_MessageSeg] = r1
0000517C 90 9A       <      		retf
                     <      	//-----------------------------------------------------------------------
                     <      	F_ClrMessageFlag:
0000517D 11 93 0E 71 <      		r1 =	[P_MessageSeg]
0000517F 09 B3 F7 FF <      		r1&=	0xffff-B_MessageCom
00005181 19 D3 0E 71 <      		[P_MessageSeg] = r1
00005183 90 9A       <      		retf
                     <      	//-----------------------------------------------------------------------	
                     <      	F_ShowOutOfAreaFlag:
00005184 11 93 08 71 <      		r1 =	[P_OutOfAreaSeg]
00005186 48 A2       <      		r1|=	B_OutOfAreaCom
00005187 19 D3 08 71 <      		[P_OutOfAreaSeg] = r1 
00005189 90 9A       <      		retf
                     <      	//-----------------------------------------------------------------------
                     <      	F_ShowPrivateFlag:
0000518A 11 93 0A 71 <      		r1 =	[P_PrivateSeg]
0000518C 48 A2       <      		r1|=	B_PrivateCom
0000518D 19 D3 0A 71 <      		[P_PrivateSeg] = r1 
0000518F 90 9A       <      		retf
                     <      	//-----------------------------------------------------------------------
                     <      	F_ShowMonthDay:
00005190 0D 9B 44 53 <      		bp =	TW_MonthDay
                     <      	?L_ShowMontDayLoop:
00005192 D5 92       <      		r1 =	[bp++]
00005193 05 5E       <      		jz	?L_ShowFlagOver
00005194 D5 96       <      		r3 =	[bp++]
00005195 C1 98       <      		r4 =	[r1]
00005196 03 A9       <      		r4|=	r3
00005197 C1 D8       <      		[r1]	= r4
00005198 47 EE       <      		jmp	?L_ShowMontDayLoop
                     <      	?L_ShowFlagOver:
00005199 90 9A       <      		retf
                     <      	//-----------------------------------------------------------------------
                     <      	F_ShowTime:
0000519A 0D 9B 08 53 <      		bp =	TW_DigitTime
0000519C 12 95 0C 00 <      		r2 =	[RW_Time]
0000519E 0A C5 00 0F <      		test	r2,0x0f00
000051A0 02 4E       <      		jnz	?L_HourLowOk
000051A1 0A A5 00 0A <      		r2|=	0x0a00
                     <      	?L_HourLowOk:
000051A3 0A C5 F0 00 <      		test	r2,0x00f0
000051A5 02 4E       <      		jnz	?L_MinuteHighOk
000051A6 0A A5 A0 00 <      		r2|=	0x00a0
                     <      	?L_MinuteHighOk:
000051A8 4F C4       <      		test	r2,0x000f

⌨️ 快捷键说明

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