📄 isr.lst
字号:
<
< //... Definition for P_SystemClock ............
< .DEFINE C_Fosc 0x0000 // b3..b0
< .DEFINE C_Fosc_Div_2 0x0001 //
< .DEFINE C_Fosc_Div_4 0x0002 //
< .DEFINE C_Fosc_Div_8 0x0003 // (default)
< .DEFINE C_Fosc_Div_16 0x0004 //
< .DEFINE C_Fosc_Div_32 0x0005 //
< .DEFINE C_Fosc_Div_64 0x0006 //
< .DEFINE C_Sleep 0x0007 //
<
< .DEFINE C_32K_Work 0x0000 // b4
< .DEFINE C_32K_Off 0x0000 //
< .DEFINE C_StrongMode 0x0000 // b5
< .DEFINE C_AutoMode 0x0000 //
<
< //... Define for P_AD_Ctrl ....................
< .DEFINE C_AD 0x0001 //
< .DEFINE C_DA 0x0000 //
< .DEFINE C_MIC 0x0000 //
< .DEFINE C_LINE 0x0002 //
<
< //... Define for P_DA_Ctrl ....................
< .DEFINE C_PushPull 0x0000 // b0, (default)
< .DEFINE C_DoubleEnd 0x0001 // b0
< .DEFINE C_DAC_Mode 0x0000 // b1, (default)
< .DEFINE C_PWM_Mode 0x0002 // b1
<
< .DEFINE C_D1_Direct 0x0000 // DAC1 latch
< .DEFINE C_D1_LatchA 0x0008 //
< .DEFINE C_D1_LatchB 0x0010 //
< .DEFINE C_D1_LatchAB 0x0018 //
<
< .DEFINE C_D2_Direct 0x0000 // DAC2 latch
< .DEFINE C_D2_LatchA 0x0020 //
< .DEFINE C_D2_LatchB 0x0040 //
< .DEFINE C_D2_LatchAB 0x00C0 //
<
< //... Define for P_LVD_Ctrl ...................
< .DEFINE C_LVD24V 0x0000 // LVD = 2.4V
< .DEFINE C_LVD28V 0x0001 // LVD = 2.8V
< .DEFINE C_LVD32V 0x0002 // LVD = 3.2V
< .DEFINE C_LVD36V 0x0003 // LVD = 3.6V
<
< //////////////////////////////////////////////////
< // Note: This register will map to the P_INT_Ctrl
< // (0x7010), The SACMvxx.lib use this register to
< // combine with user's interrupt setting
< //////////////////////////////////////////////////
< .EXTERNAL R_InterruptStatus
< //////////////////////////////////////////////////
<
<
< .EXTERNAL F_SP_RampUpDAC1
< .EXTERNAL F_SP_RampDnDAC1
< .EXTERNAL F_SP_RampUpDAC2
< .EXTERNAL F_SP_RampDnDAC2
<
< .EXTERNAL F_SP_InitQueue
< .EXTERNAL F_SP_InitQueue_A2000
< .EXTERNAL F_SP_InitQueue_S480
< .EXTERNAL F_SP_InitQueue_S240
< .EXTERNAL F_SP_InitQueue_MS01
< .EXTERNAL F_SP_InitQueue_DVR
<
< .EXTERNAL F_SP_ReadQueue
< .EXTERNAL F_SP_ReadQueue_A2000
< .EXTERNAL F_SP_ReadQueue_S480
< .EXTERNAL F_SP_ReadQueue_S240
< .EXTERNAL F_SP_ReadQueue_MS01
< .EXTERNAL F_SP_ReadQueue_DVR
<
< .EXTERNAL F_SP_WriteQueue
< .EXTERNAL F_SP_WriteQueue_A2000
< .EXTERNAL F_SP_WriteQueue_S480
< .EXTERNAL F_SP_WriteQueue_S240
< .EXTERNAL F_SP_WriteQueue_MS01
< .EXTERNAL F_SP_WriteQueue_DVR
<
< .EXTERNAL F_SP_TestQueue
< .EXTERNAL F_SP_TestQueue_A2000
< .EXTERNAL F_SP_TestQueue_S480
< .EXTERNAL F_SP_TestQueue_S240
< .EXTERNAL F_SP_TestQueue_MS01
< .EXTERNAL F_SP_TestQueue_DVR
<
< .EXTERNAL F_SP_ReadQueue_NIC // Read queue with no index change
< .EXTERNAL F_SP_ReadQueue_NIC_A2000
< .EXTERNAL F_SP_ReadQueue_NIC_S480
< .EXTERNAL F_SP_ReadQueue_NIC_S240
< .EXTERNAL F_SP_ReadQueue_NIC_MS01
< .EXTERNAL F_SP_ReadQueue_NIC_DVR
<
<
< .EXTERNAL F_SP_SACM_A2000_Init_
< .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
< //========================================================================================
000086FA .TEXT
.PUBLIC _FIQ
_FIQ:
000086FA A8 DA push r1,r5 to [sp]
000086FB 09 93 00 20 r1 = C_FIQ_TMA //判断是否是定时器A的FIQ中断?
000086FD 11 C3 10 70 test r1,[P_INT_Ctrl]
000086FF 0B 4E jnz L_FIQ_TimerA
00008700 09 93 00 08 r1 = C_FIQ_TMB //判断是否是定时器B的FIQ中断?
00008702 11 C3 10 70 test r1,[P_INT_Ctrl]
00008704 0C 4E jnz L_FIQ_TimerB
L_FIQ_PWM: //Fosc/1024中断
00008705 09 93 00 80 r1 = C_FIQ_PWM
00008707 19 D3 11 70 [P_INT_Clear] = r1
00008709 A8 90 pop r1,r5 from [sp]
0000870A 98 9A reti
L_FIQ_TimerA: //TimerA的FIQ中断
0000870B 19 D3 11 70 [P_INT_Clear] = r1 //清中断标志位
0000870D 40 F0 CA 92 call F_FIQ_Service_SACM_A2000 //调用音频中断服务程序A2000的
0000870F A8 90 pop r1,r5 from [sp]
00008710 98 9A reti
L_FIQ_TimerB:
00008711 19 D3 11 70 [P_INT_Clear] = r1
00008713 A8 90 pop r1,r5 from [sp]
00008714 98 9A reti
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -