main.asm

来自「完整的方案」· 汇编 代码 · 共 122 行

ASM
122
字号
.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 + =
减小字号Ctrl + -
显示快捷键?