📄 main.asm
字号:
.PUBLIC ___ProgramBeginAddr
.PUBLIC ___ProgramEndAddr
//.INCLUDE HARDWARE.INC
.INCLUDE CONST.INC
.INCLUDE PLAY.INC
.INCLUDE TPLAY.INC
.INCLUDE RAM.INC
.INCLUDE LP.MAC
.EXTERNAL F_SACM_DVR_Stop
.EXTERNAL F_SACM_DVR_Initial
.EXTERNAL _SACM_DVR_InitEncoder
.PUBLIC _main
.CODE
___ProgramBeginAddr:
.INCLUDE SYS.ASM
.INCLUDE PEN.ASM
.INCLUDE DISP.ASM
.INCLUDE SUB.ASM
.INCLUDE BP.ASM
.INCLUDE PRINT.ASM
.INCLUDE SEARCH.ASM
.INCLUDE INDEX.ASM
.INCLUDE CTRS.ASM
.INCLUDE INDEX2.ASM
.INCLUDE TAB.ASM
.INCLUDE IND.INC
.INCLUDE NOR.ASM
.INCLUDE ADJ.ASM
.INCLUDE OTHER.ASM
.INCLUDE DOWN.ASM
.INCLUDE NAND.ASM
.INCLUDE CCHG.ASM
.INCLUDE PLAY.ASM
_main:
INT OFF
R1=0x0080 // system clock
[P_SystemClock]=R1
CALL Delay50ms
INT OFF
R1=0x0080 // system clock
[P_SystemClock]=R1
CALL Delay50ms
R1=1110111111111011B
[P_IOA_Data]=R1
[P_IOA_Buffer]=R1
R1=1111111111111000B
[P_IOA_Attrib]=R1
R1=0111011101111000B // port A
[P_IOA_Dir]=R1
R1=1110111111111011B
[P_IOA_Data]=R1
R1=0xfeff
[P_IOB_Attrib]=R1
R1=0xfe00
[P_IOB_Dir]=R1
R1=nINIT
[P_IOB_Data]=R1
R1=0000000000000011 // TB2=32HZ
[P_TimeBase_Setup]=R1
R1=[P_IOA_Buffer]
R1&=RstB_
[P_IOA_Buffer]=R1
CALL Delay50ms
CALL Delay50ms
R1=[P_IOA_Buffer]
R1|=RstB
[P_IOA_Buffer]=R1
CALL Delay50ms
CALL Delay50ms
CALL ClearWatchDog
CALL PrReset
MainH:
R4=0x1000
MainH0:
R1=[P_IOB_Data]
R1&=0x3f
CMP R1,0x15
JE MainDown
R4-=1
JE _main_
JMP MainH0
MainDown:
PC=DownLoad
_main_:
CALL PcDataOut
CALL IDChip
CALL _InitSacm
CALL Delay50ms
CALL ModeSelect
CMP R1, 0
JE MainIn
PC=DealSysError
MainIn:
R1=[_CardMode]
R1&=0x07
R1+=ModeTab
PC=[R1]
ModeTab:
.DW UnitOff
.DW DSLNormal
.DW MainAdjust
.DW MainOther
.DW MainOther
.DW XYDNormal
.DW MainOther
.INCLUDE ISR.ASM
___ProgramEndAddr:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -