📄 system.lst
字号:
< .EXTERNAL F_SP_Send_DAC1; //
< .EXTERNAL F_SP_Send_DAC2; //
< .EXTERNAL F_SP_Send_Two_DAC; //
< .EXTERNAL F_SP_Init_HW; //
<
< .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_ReadQueue;
< .EXTERNAL F_SP_WriteQueue;
< .EXTERNAL F_SP_TestQueue;
<
<
<
< .EXTERNAL F_SP_Get_ADC
<
< .EXTERNAL F_SP_Set_P_TimerA_Ctrl
< .EXTERNAL F_SP_Set_P_TimerA_Data
< .EXTERNAL F_SP_Set_P_TimerB_Ctrl
< .EXTERNAL F_SP_Set_P_TimerB_Data
< .EXTERNAL F_SP_Set_P_INT_Ctrl
< .EXTERNAL F_SP_Set_P_INT_Clear
< .EXTERNAL F_SP_Set_P_SystemClock
< .EXTERNAL F_SP_Set_P_DAC_Ctrl
< .EXTERNAL F_SP_Set_P_ADC_Ctrl
<
<
<
< //--------------------------------------------
< SACM_MACRO1: .MACRO
<
< .ENDM
<
< SACM_MACRO2: .MACRO
<
< .ENDM
<
<
<
<
< //.define PC_Play_Enable_A2000 1 // Enable the PC-Play function for SACM-A2000 module
< //.define PC_Play_Enable_S480 1 // Enable the PC-Play function for SACM-S480 module
< //.define PC_Play_Enable_S240 1 // Enable the PC-Play function for SACM-S240 module
< //.define PC_Play_Enable_MS01 1 // Enable the PC-Play function for SACM-MS01 module
<
<
<
< //========================================================================================
< // End of hardware.inc
< //========================================================================================
.include key.inc;
< //========================================================================================
< // Progarm: The head file for pcplay.asm
< // Wrote by: Andy Hsu
< // Last modified date:
< // 2000/06/23: first version
< // 2000/07/20: modified
< //========================================================================================
<
< .EXTERNAL F_Key_Scan_Initial;
< .EXTERNAL F_Key_Scan_ServiceLoop; // 1 scan line +Vcc
< .EXTERNAL F_Key_Scan_ServiceLoop_2; // 2 scan line +Vcc / IOA
< .EXTERNAL F_Key_DebounceCnt_Down;
< .EXTERNAL F_SP_GetCh;
.public R_SpeechType;
000001AF .RAM
000001AF 00 00 .VAR R_SpeechType;
00008E23 .CODE
.public _System_Initial;
.public F_System_Initial;
_System_Initial: .PROC
F_System_Initial:
//push BP,BP to [SP]; //add if some parameters in
//BP = SP + 1;
//r1 = [BP+3];
//r2 = [BP+4];
00008E23 40 F0 26 8E call F_User_Init_IO; // For keyboard scan
// Add other general initialization here
//r1 =0x0001; // return value
//pop BP,BP from [SP];
00008E25 90 9A retf;
.ENDP;
///////////////////////////////////////////////
F_User_Init_IO:
00008E26 40 92 R1 = 0x0000;
00008E27 19 D3 02 70 [P_IOA_Dir] = R1; //
00008E29 19 D3 00 70 [P_IOA_Data] = R1; //
00008E2B 40 92 R1 = 0x0000;
00008E2C 19 D3 03 70 [P_IOA_Attrib] = R1; //
00008E2E 90 9A retf;
.public _System_ServiceLoop;
.public F_System_ServiceLoop;
_System_ServiceLoop: .PROC
F_System_ServiceLoop:
00008E2F 40 F0 36 8D call F_Key_DebounceCnt_Down; //
00008E31 40 F0 D0 8C call F_Key_Scan_ServiceLoop; //
00008E33 41 92 R1=0x0001; //
00008E34 19 D3 12 70 [P_Watchdog_Clear]=R1; //
00008E36 90 9A retf;
.ENDP;
.public _Clear_WatchDog;
_Clear_WatchDog: .PROC
00008E37 41 92 R1=0x0001; // Clear watch dog
00008E38 19 D3 12 70 [P_Watchdog_Clear]=R1;
00008E3A 90 9A retf;
.ENDP
//=========================================//
//函数名称:RunTime2Hz()
//=========================================//
.public _RunTime2Hz; //初始化中断为2HZ定时中断源
_RunTime2Hz: .proc
00008E3B 44 92 r1 = 0x0004;
00008E3C 19 D3 10 70 [P_INT_Ctrl] = r1;
00008E3E 41 F1 INT IRQ; //开中断
00008E3F 90 9A retf
.endp;
//=========================================//
//函数名称:OffTime2Hz()
//========================================//
.public _OffTime2Hz;
_OffTime2Hz: .proc
00008E40 11 93 10 70 r1 = [P_INT_Ctrl]
00008E42 09 B3 FB FF r1 &= 0xfffb;
00008E44 19 D3 10 70 [P_INT_Ctrl] = r1;
00008E46 40 92 r1 = 0x0000
00008E47 19 D3 A9 01 [_sum] = r1;
00008E49 90 9A retf;
.endp;
//=======================================//
//DataBusTest()
//=======================================//
.public _DataBusTest;
_DataBusTest: .proc
00008E4A 40 92 r1=0x0000 //初始化A口为输入端
00008E4B 19 D3 02 70 [P_IOA_Dir]=r1
00008E4D 19 D3 03 70 [P_IOA_Attrib]=r1
00008E4F 19 D3 00 70 [P_IOA_Data]=r1
//初始化B口为输出端
00008E51 09 93 FF FF r1=0xffff
00008E53 19 D3 07 70 [P_IOB_Dir]=r1
00008E55 19 D3 08 70 [P_IOB_Attrib]=r1
00008E57 40 92 r1=0x0000
00008E58 19 D3 05 70 [P_IOB_Data]=r1
00008E5A 09 93 FF FF r1=0xffff
00008E5C 19 D3 05 70 [P_IOB_Data]=r1
loop1:
00008E5E 00 EE nop;
00008E5F 00 EE nop;
00008E60 00 EE nop;
00008E61 00 EE nop;
00008E62 00 EE nop;
00008E63 12 95 00 70 r2 = [P_IOA_Data]
00008E65 01 45 cmp r2,r1
00008E66 01 4E jne exit;
00008E67 4A EE jmp loop1;
exit:
00008E68 90 9A retf;
.endp
0 error(s), 0 warning(s).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -