isr.lst

来自「此代码是凌阳61单片机上的程序——上电自检程序」· LST 代码 · 共 472 行 · 第 1/2 页

LST
472
字号
                     <      	.EXTERNAL	F_SP_SACM_S480_Init_
                     <      	.EXTERNAL	F_SP_SACM_S240_Init_
                     <      	
                     <      	.EXTERNAL	F_SP_SACM_MS01_Init_
                     <      	.EXTERNAL	F_SP_PlayMode0_
                     <      	.EXTERNAL	F_SP_PlayMode1_
                     <      	.EXTERNAL	F_SP_PlayMode2_
                     <      	.EXTERNAL	F_SP_PlayMode3_
                     <      	
                     <      	.EXTERNAL	F_SP_SACM_DVR_Init_
                     <      	.EXTERNAL 	F_SP_SACM_DVR_Rec_Init_
                     <      	.EXTERNAL 	F_SP_SACM_DVR_Play_Init_
                     <      	
                     <      	.EXTERNAL	F_SP_GetResource
                     <      	
                     <      	//////////////////////////////////////////////////////////////////
                     <      	// Reserve old defintion
                     <      	// Note: Some user who use old library may use the old name
                     <      	//////////////////////////////////////////////////////////////////
                     <      	.EXTERNAL	F_SP_Send_PWM					// Get RAW data 
                     <      	.EXTERNAL	F_SP_Send_DAC1 					// 
                     <      	.EXTERNAL	F_SP_Send_DAC2 					//
                     <      	
                     <      	.EXTERNAL	F_STD_Send_DAC1 				// reserved old
                     <      	.EXTERNAL	F_STD_Send_DAC2 				// reserved old
                     <      	
                     <      	.EXTERNAL 	F_RampUpDAC1					// reserved old
                     <      	.EXTERNAL 	F_RampDnDAC1					// reserved old
                     <      	.EXTERNAL 	F_RampUpDAC2					// reserved old
                     <      	.EXTERNAL  	F_RampDnDAC2					// reserved old
                     <      	///////////////////////////////////////////////////////////////////
                     <      	
                     <      	
                     <      		
                     <      	//========================================================================================        
                     <      	// End of hardware.inc
                     <      	//========================================================================================
                            	
                            	.include	S480.inc
                     <      	//////////////////////////////////////////////////////////////////////////////////////////
                     <      	// Progarm: SACM-S480 API external definition for sacmV26e.lib
                     <      	// Writen by: Andy
                     <      	// Date: 	2000/06/20
                     <      	//		 	2001/02/10
                     <      	//			2001/10/11: Add manual mode definition
                     <      	//////////////////////////////////////////////////////////////////////////////////////////
                     <      	
                     <      	.EXTERNAL F_SACM_S480_Initial
                     <      	.EXTERNAL F_SACM_S480_ServiceLoop				// For Auto Mode only
                     <      	.EXTERNAL F_SACM_S480_Play						// For Auto Mode only
                     <      	.EXTERNAL F_SACM_S480_Stop
                     <      	.EXTERNAL F_SACM_S480_Stop_EX					// Keep Int. enable
                     <      	.EXTERNAL F_SACM_S480_Pause
                     <      	.EXTERNAL F_SACM_S480_Resume
                     <      	.EXTERNAL F_SACM_S480_Volume
                     <      	.EXTERNAL F_SACM_S480_Status
                     <      	
                     <      	.EXTERNAL F_SACM_S480_InitDecoder				// For Manual Mode only
                     <      	.EXTERNAL F_SACM_S480_Decoder					// For Manual Mode only
                     <      	.EXTERNAL F_SACM_S480_InitQueue					// For Manual Mode only
                     <      	.EXTERNAL F_SACM_S480_FillQueue					// For Manual Mode only
                     <      	.EXTERNAL F_SACM_S480_TestQueue					// For Manual Mode only
                     <      	
                     <      	.EXTERNAL F_FIQ_Service_SACM_S480				// Interrupt service Routine(Play)
                     <      	
                     <      	//========================================================================================        
                     <      	// End of S480.inc
                     <      	//========================================================================================
                            	.include	Resource.inc
                     <      	
                     <      	// Resource Table
                     <      	// Created by IDE, Do not modify this table
                     <      	
00008009             <      	.TEXT
                     <      	.external _RES_Table;
                     <      	.external _RES_09_48K_SA;
                     <      	.external _RES_09_48K_EA;
                     <      	.external _RES_02_48K_SA;
                     <      	.external _RES_02_48K_EA;
                     <      	.external _RES_03_48K_SA;
                     <      	.external _RES_03_48K_EA;
                     <      	.external _RES_04_48K_SA;
                     <      	.external _RES_04_48K_EA;
                     <      	.external _RES_05_48K_SA;
                     <      	.external _RES_05_48K_EA;
                     <      	.external _RES_06_48K_SA;
                     <      	.external _RES_06_48K_EA;
                     <      	.external _RES_07_48K_SA;
                     <      	.external _RES_07_48K_EA;
                     <      	.external _RES_08_48K_SA;
                     <      	.external _RES_08_48K_EA;
                     <      	.external _RES_01_48K_SA;
                     <      	.external _RES_01_48K_EA;
                     <      	.external _RES_12_48K_SA;
                     <      	.external _RES_12_48K_EA;
                     <      	.external _RES_11_48K_SA;
                     <      	.external _RES_11_48K_EA;
                     <      	.external _RES_10_48K_SA;
                     <      	.external _RES_10_48K_EA;
                     <      	
                     <      	// End Table
                            	.public _BREAK;
                            	//.public _FIQ;
                            	.public	_IRQ0;
                            	//.public _IRQ1;
                            	.public _IRQ2;
                            	//.public _IRQ3;
                            	.public _IRQ4;
                            	.public _IRQ5;
                            	.public _IRQ6;
                            	.public _IRQ7;
                            	
                            	   
                            	.external _sum;
                            	.external _INTflag;
                            	          
                            	.public	_FIQ;
                            	_FIQ:
00008009 A0 D8              		PUSH	r1,r4 to [sp];
0000800A 09 93 00 20        		r1=0x2000;
0000800C 11 C3 10 70        		test r1,[P_INT_Ctrl];
0000800E 0B 4E              		jnz L_FIQ_TimerA;
0000800F 09 93 00 08        		r1=0x0800;
00008011 11 C3 10 70        		test r1,[P_INT_Ctrl];
00008013 0C 4E              		jnz L_FIQ_TimerB;
                            	L_FIQ_PWM:
00008014 09 93 00 80        		r1=C_FIQ_PWM;
00008016 19 D3 11 70        		[P_INT_Clear]=r1;
00008018 A0 90              		POP R1,R4 from[sp];
00008019 98 9A              		reti;
                            	L_FIQ_TimerA:
0000801A 19 D3 11 70        		[P_INT_Clear]=r1;
0000801C 40 F0 7D 87        		call F_FIQ_Service_SACM_S480;
0000801E A0 90              		pop r1,r4 from [sp];
0000801F 98 9A              		reti;
                            	L_FIQ_TimerB:
00008020 19 D3 11 70        		[P_INT_Clear]=r1;
00008022 A0 90              		pop r1,r4 from [sp];
00008023 98 9A              		reti;
                            		 
                            	
                            	/////////////////////////////////////////////////////////////////////////////////////////
                            	// Function: Interrupt Service routine Area                     
                            	// 	Service for 	IRQ1 - IRQ7
                            	// 	User's IRQ must hook on here                                 
                            	/////////////////////////////////////////////////////////////////////////////////////////  
                            	_BREAK:        
00008024 A0 D8              			push r1,r4 to [sp];
                            			
00008025 A0 90              			pop r1,r4 from [sp];
00008026 98 9A              	        reti;  
                            	     
                            	_IRQ0:        
00008027 A0 D8              			push r1,r4 to [sp];
                            			
00008028 A0 90              			pop r1,r4 from [sp];
00008029 98 9A              	        reti;  
                            	
                            	//_IRQ1:        
0000802A A0 D8              			push r1,r4 to [sp];
                            			
0000802B A0 90              			pop r1,r4 from [sp];
0000802C 98 9A              	        reti;  
                            	        
                            	_IRQ2:        
0000802D A0 D8              			push r1,r4 to [sp];
                            			
0000802E A0 90              			pop r1,r4 from [sp];
0000802F 98 9A              	        reti;         
                            	        
                            	//_IRQ3:        
00008030 A0 D8              			push r1,r4 to [sp];
                            			
00008031 A0 90              			pop r1,r4 from [sp];
00008032 98 9A              	        reti;         
                            	        
                            	_IRQ4:        
00008033 A0 D8              			push r1,r4 to [sp];
                            			
00008034 A0 90              			pop r1,r4 from [sp];
00008035 98 9A              	        reti;  
                            	//////////////////////////////        
                            	_IRQ5:                        //定时3秒的中断程序
00008036 A0 D8              		push r1,r4 to [sp];
                            	
00008037 48 92              		r1 =0x0008;						 
00008038 11 C3 10 70        		test r1,[P_INT_Ctrl];				
0000803A 14 4E              		jnz	L_4Hz;				  // Timer A FIQ entrence 	
                            	
0000803B 44 92              		r1 = 0x0004;
0000803C 19 D3 11 70        	    [P_INT_Clear] = r1;       //清中断
                            	    
0000803E 11 93 40 02        	    r1 = [_sum]               //取时基信号量     
00008040 41 02              	    r1 += 1;
00008041 44 42              	    cmp r1,4;
00008042 04 5E              	    je loop0;
                            	    
00008043 19 D3 40 02        	    [_sum]=r1                 //保存时基信号量
00008045 A0 90              	    pop r1,r4 from [sp];
00008046 98 9A              	    reti; 
                            	
                            	loop0: 
00008047 41 92              	    r1 = 0x0001;
00008048 19 D3 3F 02        	    [_INTflag] = r1;          //设置中断标识
0000804A 40 92              	    r1 = 0
0000804B 19 D3 40 02        	    [_sum] = r1
                            	
0000804D A0 90              		pop r1,r4 from [sp];
0000804E 98 9A              	    reti;     
                            	
                            	L_4Hz:  
0000804F 48 92              	 	r1 = 0x0008;
00008050 19 D3 11 70        	    [P_INT_Clear] = r1;       //清中断
00008052 A0 90              	    pop r1,r4 from [sp];
00008053 98 9A              	    reti; 
                            	
                            	//////////////////////////////
                            	_IRQ6:        
00008054 A0 D8              			push r1,r4 to [sp];
                            			
00008055 A0 90              			pop r1,r4 from [sp];
00008056 98 9A              	        reti;         
                            	        
                            	_IRQ7:        
00008057 A0 D8              			push r1,r4 to [sp];
                            			
00008058 A0 90              			pop r1,r4 from [sp];
00008059 98 9A              	        reti;
                            	
                            	//========================================================================================        
                            	// End of isr.asm
                            	//========================================================================================
                            	        
0 error(s), 0 warning(s).

⌨️ 快捷键说明

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