⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 acmftsj_n.asm

📁 一个完整且典型的遥控器程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        MOV     MIN,XA
        MOV     BC,#3CH
        SKE     XA,BC
        BR      YOU
        MOV     XA,#00H
        MOV     MIN,XA
        CALL    !HCLOCK
YOU:    MOV     HL,#TREG
        MOV     XA,@HL
        ADDS    XA,#0AH
        NOP
;        MOV     BC,#3BH
        MOV     BC,#3CH
        SUBS    XA,BC
        BR      YOU6
        MOV     XA,@HL
        ADDS    XA,#0AH
        NOP
YOU3:   MOV     BC,XA
        MOV     XA,MIN
        SKE     XA,BC
        BR      S30_10
        SET1    ADD10F
        CLR1    INCHF
;
;        MOV     BCD,XA
;        CALL    !CHTOBCD
;        MOV     XA,BCD
;        SKE     A,#0H
;        BR      S30_10
;        SET1    ADD10F
;        CLR1    INCHF
;        SKE     X,#06H
;        BR      S30_10
;        MOV     XA,#00H
;        MOV     MIN,XA
S30_10:
        CALL    !DISCL
        RET
YOU6:
;        DECS    XA
        NOP
        BR      YOU3
S30_11: MOV     XA,MIN
        ADDS    XA,#0AH
        NOP
;        MOV     BC,#3BH
        MOV     BC,#3CH
        SUBS    XA,BC
        BR      YOUOK
        MOV     XA,MIN
        ADDS    XA,#0AH
        NOP
        MOV     MIN,XA
        BR      YOU4
YOUOK:
;        DECS    XA
        NOP
        MOV     MIN,XA
        CALL    !HCLOCK
YOU4:   MOV     XA,MIN
        MOV     HL,#TREG
        SKE     XA,@HL
        BR      YOU5
        CLR1    ADD10F
        SET1    INCHF
YOU5:   CALL    !DISCL
        RET
;
;        CLR1    ADD10F
;        SET1    INCHF
;        MOV     XA,#00H
;        MOV     MIN,XA
;        CALL    !DISCL
;        RET
;S30_111:MOV     MIN,XA
;        MOV     BC,#3CH
;        SUBS    XA,BC
;        BR      MYNO
;        CALL    !DISCL
;        RET
;MYNO:   MOV     MIN,XA
;        CALL    !DISCL
;        RET
S30_2:  CALL    !HCLOCK
        CALL    !DISCL
        RET
;
;        MOV     XA,CLKCC
;        MOV     BC,#0BH
;        SUBS    XA,BC
;        BR      S30_2
;        INCS    MIN
;        NOP
;        MOV     XA,MIN
;        MOV     BC,#3CH
;        SKE     XA,BC
;        BR      S30_10
;        MOV     XA,#00H
;        MOV     MIN,XA
;S30_10: CALL    !DISCL
;        RET
;S30_2:  MOV     BC,#07H
;        SUBS    XA,BC
;        BR      S30_3
;        MOV     XA,MIN
;        ADDS    XA,#0AH
;        NOP
;        MOV     BC,#3BH
;        SUBS    XA,BC
;        BR      S30_20
;        ADDS    XA,BC
;        NOP
;        BR      S30_21
;S30_20: MOV     BC,#0AH
;        SUBS    XA,BC
;S30_21: MOV     MIN,XA
;        CALL    !DISCL
;        RET
;S30_3:  INCS    HOUR
;        NOP
;        MOV     XA,CLKCC
;        MOV     BC,#28H
;        SKE     XA,BC
;        BR      S30_30
;        MOV     XA,#00H                 ;NEXT INC ONE MIN
;        MOV     CLKCC,XA
;        MOV     HOUR,XA
;S30_30: CALL    !DISCL
;        RET
;
;****************CHANGE ON TIME KEY SUBROUTINE***************
S7:
        CLR1    KC
        SKF     TSETF
        BR      S73
S700:   SKT     CLOKF
        RET
        SEL     MB1
        CLR1    DFLG7.2
        CLR1    DFLG7.3
        SEL     MB0
        SKF     FLASHONF
        BR      S70
        SET1    FLA5SF
        CLR1    FLASECF
        MOV     A,#0H
        MOV     FLA5SC,A
        SKT     FLASHOFF
        BR      S71
        CLR1    FLASHOFF
        SEL     MB1
        SET1    DFLG6.3
        SEL     MB0
S71:
        SET1    FLASHONF
        SET1    ONTIMEF
        CALL    !DISONT
        RET
S70:    SKT     TTF
        BR      WA1
WA0:    SKF     DFLG70F
        BR      WA
        SKF     DFLG71F
        BR      WA
        RET
WA2:    SKT     TIMOFF
        BR      WA
        BR      WA0
WA1:    SKT     OFTIMEF
        BR      WA2
        BR      WA0
WA:
        SET1    (REM96B+12).2
        SET1    KEYF
        CALL    !TSETON
        RET
;
S73:    SKT     TTF
        BR      S73_0
        SET1    KEYF
        CLR1    TTF
        SKT     TIMONF
        BR      JUAN1
        CALL    !REFRESH
JUAN1:  SET1    TIMOFF
        CLR1    TIMONF
        CLR1    (REM96B+8).3
        SEL     MB1
        MOV     A,#0H
        CLR1    DFLG14.1
        CLR1    DFLG14.3
        CLR1    DFLG14.2
        MOV     DFLG7,A
        MOV     DFLG12,A
        MOV     DFLG13,A
        MOV     DFLG10,A
        MOV     DFLG11,A
        MOV     DFLG8,A
        MOV     DFLG9,A
        SEL     MB0
        RET
S73_1:
        SEL     MB1
        SET1    DFLG7.2
        SET1    DFLG7.3
        SEL     MB0
        SKT     ONOF
        BR      ACM3
        SKF     ONOFF
        BR      ACM7
        CLR1    ONOF
        clr1    (REM96B+11).3
        SET1    (REM96B+11).2
        CALL    !OFFDISP
        RET
ACM3:   SKT     ONOFF
        BR      GIRL1
;        BR      ACM7
        SET1    ONOF
        CLR1    (REM96B+11).2
        SET1    (REM96B+11).3
        CALL    !ONDISP
        RET
GIRL1:
        SEL     MB1
        MOV     A,#0H
        MOV     DFLG20,A
        MOV     DFLG21,A
        CLR1    DFLG22.0
        CLR1    DFLG22.1
        CLR1    DFLG22.2
        CLR1    DFLG23.1
        CLR1    DFLG14.0
        CLR1    DFLG15.2
        CLR1    DFLG15.3
        CLR1    DFLG16.2
        CLR1    DFLG16.3
        CLR1    DFLG17.2
        CLR1    DFLG17.3
        MOV     DFLG18,A
        CLR1    DFLG19.0
        CLR1    DFLG19.1
        CLR1    DFLG19.3
        CLR1    DFLG24.3
        SEL     MB0
ACM7:   CLR1    TSETF
        CLR1    TIMONF
        CLR1    TIMOFF
        CLR1    (REM96B+12).2
        CLR1    (REM96B+8).2
        CLR1    (REM96B+8).3
        SEL     MB1
        CLR1    DFLG6.0
        CLR1    DFLG6.1
        CLR1    DFLG6.3
        CLR1    DFLG7.0
        CLR1    DFLG7.1
        MOV     A,#0H
        CLR1    DFLG7.0
        CLR1    DFLG7.1
        MOV     A,#0H
        CLR1    DFLG6.2
        MOV     DFLG28,A
        MOV     DFLG26,A
        MOV     DFLG27,A
        CLR1    DFLG24.0
        CLR1    DFLG24.1
        CLR1    DFLG24.2
        MOV     DFLG25,A
        MOV     DFLG5,A
        SEL     MB0
        CALL    !DISCL
        RET
S73_0:  SKT     TIMONF
        BR      S700
        SKF     FLA5SF
        BR      S700
        SET1    KEYF
        BR      S73_1
;
;
;*****************DISPLAY ONTIME SUB***************
DISONT  CSEG    INBLOCK
        MOV     XA,ONTIME
;        MOV     BC,#0CH
;        SUBS    XA,BC
;        BR      DISONT0
;        SEL     MB1
;        SET1    DFLG10.3
;        CLR1    DFLG14.3
;        SET1    DFLG14.1
;        SEL     MB0
;        MOV     BC,#00H
;        MOV     XA,ONTIME
;        SKE     XA,BC
;        BR      DISONT1
;        MOV     XA,#0CH
;        BR      DISONT1
;DISONT0:SEL     MB1
;        SET1    DFLG10.3
;        CLR1    DFLG14.1
;        SET1    DFLG14.3
;        SEL     MB0
;        MOV     BC,#00H
;        SKE     XA,BC
;        BR      DISONT1
;        MOV     XA,#0CH
DISONT1:MOV     BCD,XA
        CALL    !CHTOBCD
        MOV     XA,BCD
        MOV     DE,XA
        CALL    !LCDSEG
        SEL     MB1
        OR      A,#1000B
        MOV     DFLG12,A
        XCH     A,X
        MOV     DFLG13,A
        SKE     D,#0H
        BR      DISONT2
        CLR1    DFLG14.2
        CLR1    DFLG14.1
        CLR1    DFLG14.3
        BR      DISONT3
DISONT2_1:
        SET1    DFLG14.1
        CLR1    DFLG14.2
        SET1    DFLG14.3
        BR      DISONT3
DISONT2:SKE     D,#01H
        BR      DISONT2_1
        SET1    DFLG14.2
        SET1    DFLG14.1
        CLR1    DFLG14.3
DISONT3:SEL     MB0
        MOV     XA,ONMTIME
        MOV     BCD,XA
        CALL    !CHTOBCD
        MOV     XA,BCD
        MOV     DE,XA
        CALL    !LCDSEG
        SEL     MB1
        MOV     DFLG8,A
        XCH     A,X
        MOV     DFLG9,A
        SEL     MB0
        MOV     A,D
        CALL    !LCDSEG
        SEL     MB1
        OR      A,#1000B
        MOV     DFLG10,A
        XCH     A,X
        MOV     DFLG11,A
        SEL     MB0
        SKF     TTF
        BR      DISONT5
        SKT     TIMOFF
        BR      DISONT4
DISONT5:CALL    !DCOMP
        RET
DISONT4:SKT     OFTIMEF
        RET
        BR      DISONT5
;
;*************************CHANGE OFF TIME KEY SUBROUTINE**************
S4:     CLR1    KC
        SKF     TSETF
        BR      S42
S400:   SKT     CLOKF
        RET
        SEL     MB1
        CLR1    DFLG7.2
        CLR1    DFLG7.3
        SEL     MB0
        SKF     FLASHOFF
        BR      S40
        SET1    FLA5SF
        MOV     A,#0H
        MOV     FLA5SC,A
        SKT     FLASHONF
        BR      S41
        CLR1    FLASHONF
        SEL     MB1
        SET1    DFLG10.3
        SEL     MB0
        BR      S41_0
S41:    SKF     TIMONF
        BR      S41_0
        SKF     TTF
        BR      S41_0
        SEL     MB1
        MOV     A,#0H
        MOV     DFLG12,A
        MOV     DFLG13,A
        MOV     DFLG10,A
        MOV     DFLG11,A
        MOV     DFLG8,A
        MOV     DFLG9,A
        CLR1    DFLG14.1
        CLR1    DFLG14.2
        CLR1    DFLG14.3
        SEL     MB0
S41_0:
        SET1    FLASHOFF
        SET1    OFTIMEF
        CALL    !DISOFT
        RET
S40:    SKT     TTF
        BR      WO1
WO0:    SKF     DFLG70F
        BR      WO
        SKF     DFLG71F
        BR      WO
        RET
WO2:    SKT     TIMONF
        BR      WO
        BR      WO0
WO1:    SKT     ONTIMEF
        BR      WO2
        BR      WO0
WO:
        SET1    (REM96B+12).2
        SET1    KEYF
        CALL    !TSETOF
        RET
;
S42:    SKT     TTF
        BR      S42_0
        SET1    KEYF
        CLR1    TTF
        SKT     TIMOFF
        BR      JUAN2
        CALL    !REFRESH
JUAN2:  SET1    TIMONF
        CLR1    TIMOFF
        CLR1    (REM96B+8).2
        SEL     MB1
        MOV     A,#0H
        MOV     DFLG7,A
        MOV     DFLG6,A
        MOV     DFLG5,A
        MOV     DFLG28,A
        MOV     DFLG26,A
        MOV     DFLG27,A
        MOV     DFLG25,A
        CLR1    DFLG24.0
        CLR1    DFLG24.1
        CLR1    DFLG24.2
        SEL     MB0
        RET
S42_1:
        SEL     MB1
        SET1    DFLG7.2
        SET1    DFLG7.3
        SEL     MB0
        SKT     ONOF
        BR      ACM2
        SKF     ONOFF
        BR      ACM8
        CLR1    ONOF
        CLR1    (REM96B+11).3
        SET1    (REM96B+11).2
        CALL    !OFFDISP
        RET
ACM2:   SKT     ONOFF
        BR      GIRL
;        BR      ACM8
        SET1    ONOF
        SET1    (REM96B+11).3
        CLR1    (REM96B+11).2
        CALL    !ONDISP
        RET
GIRL:   SEL     MB1
        MOV     A,#0H
        MOV     DFLG20,A
        MOV     DFLG21,A
        CLR1    DFLG22.0
        CLR1    DFLG22.1
        CLR1    DFLG22.2
        CLR1    DFLG23.1
        CLR1    DFLG14.0
        CLR1    DFLG15.2
        CLR1    DFLG15.3
        CLR1    DFLG16.2
        CLR1    DFLG16.3
        CLR1    DFLG17.2
        CLR1    DFLG17.3
        MOV     DFLG18,A
        CLR1    DFLG19.0
        CLR1    DFLG19.1
        CLR1    DFLG19.3
        CLR1    DFLG24.3
        SEL     MB0
ACM8:   CLR1    TSETF
        CLR1    TIMONF
        CLR1    TIMOFF
        CLR1    (REM96B+12).2
        CLR1    (REM96B+8).2
        CLR1    (REM96B+8).3
        SEL     MB1
        CLR1    DFLG6.0
        CLR1    DFLG6.1
        CLR1    DFLG6.3
        CLR1    DFLG7.0
        CLR1    DFLG7.1
        MOV     A,#0H
        CLR1    DFLG6.2
        MOV     DFLG28,A
        MOV     DFLG26,A
        MOV     DFLG27,A
        CLR1    DFLG24.0
        CLR1    DFLG24.1
        CLR1    DFLG24.2
        MOV     DFLG25,A
        MOV     DFLG5,A
        SEL     MB0
        CALL    !DISCL
        RET
S42_0:  SKT     TIMOFF
        BR      S400
        SKF     FLA5SF
        BR      S400
        SET1    KEYF
        BR      S42_1
;
TSETOF  CSEG    INBLOCK
        CLR1    SLEEPF
        SEL     MB1
        CLR1    DFLG16.3
        SEL     MB0
        CLR1    (REM96B+12).3
        SET1    TSETF
        CLR1    FLA5SF
        MOV     A,#00H
        MOV     FLA5SC,A
        MOV     XA,#88H
        MOV     WSEC,XA
        CLR1    FLASHOFF
        SET1    TIMOFF
        CLR1    OFTIMEF
        SEL     MB1
        CLR1    DFLG7.2
        CLR1    DFLG7.3
        SET1    DFLG6.3
        SEL     MB0
        SET1    (REM96B+8).2
        MOV     XA,OFTIME
        MOV     BC,XA

⌨️ 快捷键说明

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