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

📄 function.src

📁 无线电话加来电现示加收音机
💻 SRC
📖 第 1 页 / 共 4 页
字号:
        ITMD    :1000,WR_DATA5
	ITMD    :1000,WR_DATA4
        LBR     UPRDO2
UPRDO1
        ITMD    :1001,WR_DATA5
        ITMD    :1000,WR_DATA4
UPRDO2
        ITMD    :0000,WR_DATA3
        ITMD    :0000,WR_DATA2
        ITMD    :0000,WR_DATA1
        ITMD    :0000,WR_DATA0
        SMD     P_RDODAT
        CALL    CLK_HIGH
        CALL    CLK_LOW
        CALL    WR_DAT
        RMD     P_RDOCLK
        ITMD    :1101,DBUF
        SMD     2,PMODB
        SMD     P_RDODAT
        SMD     IE
        RET

SCHDNRDO
        RMD     IE
        CALL    DIS_MUTE
        CALL    DELAY
        CALL    EN_WR
        TMD     F_AMFM
	LBR     SCHNRDO1
        ITMD    :0000,WR_DATA5
        ITMD    :1010,WR_DATA4
	LBR     SCHNRDO2
SCHNRDO1
        ITMD    :0001,WR_DATA5
        ITMD    :1000,WR_DATA4
SCHNRDO2
        ITMD    :0000,WR_DATA3
        ITMD    :0000,WR_DATA2
        ITMD    :0000,WR_DATA1
        ITMD    :0000,WR_DATA0
        SMD     P_RDODAT
        CALL    CLK_HIGH
        CALL    CLK_LOW
        CALL    WR_DAT
        RMD     P_RDOCLK
        ITMD    :1101,DBUF
        SMD     2,PMODB
        SMD     P_RDODAT
        SMD     IE
        RET


;=====================================================
;=====================================================

SAV_V_FM
        CALL    G_FMADDR
        MTAD    FM_VALU0
        ATMIY
        MTAD    FM_VALU1
        ATMIY
        MTAD    FM_VALU2
        ATMIY
        MTAD    FM_VALU3
        ATMIY
        MTAD    FM_LCT0
        ATMIY
        MTAD    FM_LCT1
        ATMIY
        MTAD    FM_LCT2
        ATM
        RET

GET_V_FM
        CALL    G_FMADDR
        MTA
        ATMD    FM_VALU0
        IY
        MTA
        ATMD    FM_VALU1
        IY
        MTA
        ATMD    FM_VALU2
        IY
        MTA
        ATMD    FM_VALU3
        IY
        MTA
        ATMD    FM_LCT0
        IY
        MTA
        ATMD    FM_LCT1
        IY
        MTA
        ATMD    FM_LCT2
        RET

;=====================================================
;=====================================================

SAV_V_AM
        CALL    G_AMADDR
        MTAD    AM_VALU0
        ATMIY
        MTAD    AM_VALU1
        ATMIY
        MTAD    AM_VALU2
        ATMIY
        MTAD    AM_VALU3
        ATMIY
        MTAD    AM_LCT0
        ATMIY
        MTAD    AM_LCT1
        ATMIY
        MTAD    AM_LCT2
        ATM
        RET

GET_V_AM
        CALL    G_AMADDR
        MTA
        ATMD    AM_VALU0
        IY
        MTA
        ATMD    AM_VALU1
        IY
        MTA
        ATMD    AM_VALU2
        IY
        MTA
        ATMD    AM_VALU3
        IY
        MTA
        ATMD    AM_LCT0
        IY
        MTA
        ATMD    AM_LCT1
        IY
        MTA
        ATMD    AM_LCT2
	RET
;====================================================
ON_RDO
	SMD     P_RDOON
	RMD     F_SETFG
	ITMD    $0,SCH_STE

	MTAD    VOL_CNT
	CALL	CTRL_VOL

	TMD     F_AMFM
	BR      ON_RDO2
	CALL    FM_BAND
	BR      ON_RDO1
ON_RDO2
	CALL    AM_BAND
ON_RDO1
	SMD     F_RDOEN

  ;	CALL    RDO_MUTE
RES_RDO
	ITMD    $8,RDOMOD
	ITMD    $0,FUNCMOD
	RMD     F_PROG
	CALL    ICONDSP
	ITMD    $f,TIME_CNT
	CALL    CLRNAME
	CALL    DSPCHAR
	RET

;====================================================

SCH_RDO
	MTAD    TIME_CNT
	AAI     $F
	LBR     SCH_RDOE
	ITMD    $3,TIME_CNT

	TMD     F_RDOEN
	CALL    ONWRRDO
	TMD     F_SETFG
	CALL    SETPROG
	INEMD   $0,SCH_STE
	BR      SCH_RDO1
	BR      SCH_RDOR
SCH_RDOE
	ATMD    TIME_CNT
SCH_RDOR
	RET

;----------------------------
SCH_RDO1
	ITMD    $A,RES_TIME
	INEMD   $1,SCH_STE
	LBR     SCH_RDO2

	TMD     KEYACT
	BR      SCHRDO11
        ITMD    $0,SCH_STE
        CALL    WR_RDO
        BR      SCH_RDOR

SCHRDO11
        ITMD    $2,SCH_STE
        LBR     SCH_RDOR

SCH_RDO2
        INEMD   $2,SCH_STE
        LBR     SCH_RDO3

        TMD     KEYACT
        LBR     SCHRDO21
        CALL    WR_RDO
        ITMD    $3,SCH_STE
        ITMD    $0,TIME_CNT
        LBR     SCH_RDOR

SCHRDO21
	TMD     F_AMFM
	LBR     SCHRO211
	CALL    INC_V_FM
	CALL    FM_BAND
	LBR     SCH_RDOR
SCHRO211
	CALL    INC_V_AM
	CALL    AM_BAND
	LBR     SCH_RDOR

SCH_RDO3
	INEMD   $3,SCH_STE
	LBR     SCH_RDO4
	CALL    SCHUPRDO
	CALL    DIS_MUTE
	ITMD    $4,SCH_STE
	ITMD    $8,TIME_CNT
	LBR     SCH_RDOR

SCH_RDO4
	INEMD   $4,SCH_STE
	LBR     SCH_RDO5
	CALL    RD_RDO
	LBR     SCHRDO46        ;
	TMD     F_AMFM
	LBR     SCHRDO41
	CALL    CHKFMVLU
	LBR     SCHRDO42
	LBR     SCHRDO43
SCHRDO46
	TMD     F_AMFM
	LBR     SCHRDO47
	CALL    INC_V_FM
	CALL    FM_BAND
	TMD     F_SRCEND
	LBR     SCHRDO55
	LBR     SCHRDORR

SCHRDO47
	CALL    INC_V_AM
	CALL    AM_BAND
	TMD     F_SRCEND
	LBR     SCHRDO55
	LBR     SCHRDORR

SCHRDO42
	ITMD    $2,WR_DATA0
	ITMD    $5,WR_DATA1
	ITMD    $1,WR_DATA2
	ITMD    $8,WR_DATA3
SCHRDO43
	ITMD    $5,SCH_STE
	LBR     SCHRDO51

SCHRDO41
	CALL    CHKAMVLU
	BR      SCHRDO44
	BR      SCHRDO43
SCHRDO44
	ITMD    $0,WR_DATA0
	ITMD    $8,WR_DATA1
	ITMD    $7,WR_DATA2
	ITMD    $0,WR_DATA3
	LBR     SCHRDO43

;-----------------------------
SCH_RDO5
	INEMD   $5,SCH_STE
	LBR     SCHRDODN

	TMD     F_AMFM
	BR      SCHRDO53
	CALL    INC_V_FM
	CALL    FM_BAND
	BR      SCHRDO51
SCHRDO53
	CALL    INC_V_AM
	CALL    AM_BAND
SCHRDO51
	TMD     F_AMFM
	LBR     SCHRDO56
	CALL    CHKFMEQU
	LBR     SCHRDO52
SCHRDO55
	CALL    WR_RDO
	ITMD    $0,SCH_STE
	LBR     SCHRDORR
SCHRDO56
	CALL    CHKAMEQU
	BR      SCHRDO52
	LBR     SCHRDO55
SCHRDO52
	CALL    RDO_MUTE
SCHRDORR
	RET

;=====================================
SCHRDODN
	INEMD   $8,SCH_STE
	LBR     SCHRRDO1

	TMD     KEYACT
	BR      SCHNRD01
	ITMD    $0,SCH_STE
	CALL    WR_RDO
	LBR     SCHRDORR
SCHNRD01
	ITMD    $9,SCH_STE
	LBR     SCHRDORR

SCHRRDO1
	INEMD   $9,SCH_STE
	LBR     SCHRRDO2

	TMD     KEYACT
	LBR     SCHNRD11
	CALL    WR_RDO
	ITMD    $A,SCH_STE
	ITMD    $0,TIME_CNT
	LBR     SCHRDORR

SCHNRD11
	TMD     F_AMFM
	BR      SCHNRD12
	CALL    DEC_V_FM
	CALL    FM_BAND
	LBR     SCHRDORR
SCHNRD12
	CALL    DEC_V_AM
	CALL    AM_BAND
	LBR     SCHRDORR

SCHRRDO2
	INEMD   $A,SCH_STE
	BR      SCHNRDO3
	CALL    SCHDNRDO
	CALL    DIS_MUTE
	ITMD    $B,SCH_STE
	LBR     SCHRDORR

SCHNRDO3
	INEMD   $B,SCH_STE
	LBR     SCHNRDO5
	CALL    RD_RDO
	LBR     SCHNRD36        ;TOTTI

	TMD     F_AMFM
	LBR     SCHNRD31
	CALL    CHKFMVLU
	LBR     SCHNRD32
	LBR     SCHNRD33
SCHNRD36
	TMD     F_AMFM
	LBR     SCHNRD37
	CALL    DEC_V_FM
	CALL    FM_BAND
	TMD     F_SRCEND
	LBR     SCHNRD55
	LBR     SCHRDORR

SCHNRD37
	CALL    DEC_V_AM
	CALL    AM_BAND
	TMD     F_SRCEND
	LBR     SCHNRD55
	LBR     SCHRDORR
SCHNRD32
	ITMD    $2,WR_DATA0
	ITMD    $5,WR_DATA1
	ITMD    $1,WR_DATA2
	ITMD    $8,WR_DATA3
SCHNRD33
	ITMD    $C,SCH_STE
	LBR     SCHNRD51
SCHNRD31
	CALL    CHKAMVLU
	BR      SCHNRD34
	LBR     SCHNRD33
SCHNRD34
	ITMD    $0,WR_DATA0
	ITMD    $8,WR_DATA1
	ITMD    $7,WR_DATA2
	ITMD    $0,WR_DATA3
	LBR     SCHNRD33

;-----------------------------
SCHNRDO5
	INEMD   $C,SCH_STE
	LBR     SCHRDRRR

	TMD     F_AMFM
	BR      SCHNRD53
	CALL    DEC_V_FM
	CALL    FM_BAND
	BR      SCHNRD51
SCHNRD53
	CALL    DEC_V_AM
	CALL    AM_BAND
SCHNRD51
	TMD     F_AMFM
	LBR     SCHNRD56
	CALL    CHKFMEQU
	LBR     SCHNRD52
SCHNRD55
	CALL    WR_RDO
	ITMD    $0,SCH_STE
	LBR     SCHRDRRR
SCHNRD56
	CALL    CHKAMEQU
	BR      SCHNRD52
	LBR     SCHNRD55
SCHNRD52
	CALL    RDO_MUTE
SCHRDRRR
        RET





;---------------------------------------------
;           1EB0 <= X <= 2518
;---------------------------------------------
CHKFMVLU        
        ITA     $8
        ANDMD   WR_DATA3
        ATMD    WR_DATA3

        INEMD   $2,WR_DATA0
	LBR     CHKFVLU1
        ILEMD   $6,WR_DATA1
        BR      CHKFVLER
        INEMD   $5,WR_DATA1
        BR      CHKFVLEQ
        ILEMD   $2,WR_DATA2
        BR      CHKFVLER
        BR      CHKFVLEQ

CHKFVLU1
        INEMD   $1,WR_DATA0
        BR      CHKFVLER
        INEMD   $F,WR_DATA1
        BR      CHKFVLU2
        BR      CHKFVLEQ

CHKFVLU2
        INEMD   $E,WR_DATA1
        BR      CHKFVLER
        ILEMD   $B,WR_DATA2
        BR      CHKFVLEQ
        BR      CHKFVLER
CHKFVLEQ
        RC
        TC
CHKFVLER
        RET

;--------------------------------------
CHKFMEQU
        MTAD    FM_VALU0
	ANEMD   WR_DATA0
	LBR     CHKFMEQR

	MTAD    FM_VALU1
	ANEMD   WR_DATA1
	LBR     CHKFMEQR

	MTAD    FM_VALU2
	ANEMD   WR_DATA2
	BR      CHKFMEQR

	MTAD    FM_VALU3
	ANEMD   WR_DATA3
	BR      CHKFMEQR
	RC
	TC
CHKFMEQR
	RET

;---------------------------------------------
;           03CA <= X <= 0870
;---------------------------------------------
CHKAMVLU

	INEMD   $0,WR_DATA0
	LBR      CHKAVLER
	ILEMD   $9,WR_DATA1
	LBR      CHKAVLER
	INEMD   $8,WR_DATA1
	LBR      CHKAVLE1
	ILEMD   $8,WR_DATA2
	LBR      CHKAVLER
	INEMD   $7,WR_DATA2
	LBR      CHKAVLEQ
	INEMD   $0,WR_DATA3
	LBR      CHKAVLER
	LBR      CHKAVLEQ

CHKAVLE1
	ILEMD   $4,WR_DATA1
	BR      CHKAVLEQ
	INEMD   $3,WR_DATA1
	BR      CHKAVLER
	ILEMD   $C,WR_DATA2
	BR      CHKAVLEQ
	BR      CHKAVLER
CHKAVLEQ
	RC
	TC
CHKAVLER
	RET
;--------------------------------------
CHKAMEQU
	MTAD    AM_VALU0
	ANEMD   WR_DATA0
	LBR     CHKAMEQR

	MTAD    AM_VALU1
	ANEMD   WR_DATA1
	LBR     CHKAMEQR

	MTAD    AM_VALU2
	ANEMD   WR_DATA2
	BR      CHKAMEQR

;        MTAD    AM_VALU3
;        ANEMD   WR_DATA3
;        BR      CHKAMEQR

	RC
	TC
CHKAMEQR
	RET

;================================================
;
;================================================
SETPROG
	RMD     F_SETFG
	TMD     KEYACT
	BR      SETPROG1

	ITMD	$C,RDOMOD
	CALL	UPSSETC2
	BR	SETPROGR
SETPROG1
	ITMD    $B,RDOMOD
	CALL    UPSETCH4

SETPROGR
	RET


;===============================================

PSETFDSP
	CALL    CLRDBUF
	ITMD    $D,LCDBUF0
	ITMD    $C,LCDBUF1
        MTAD    V_FMPSET
        ATMD    LCDBUF2
        CALL    G_V_FM
        CALL    DSPDBUF
        RET   
PSETADSP
        CALL    CLRDBUF
        ITMD    $D,LCDBUF0
        ITMD    $C,LCDBUF1
        MTAD    V_AMPSET
        ATMD    LCDBUF2
        CALL    G_V_AM
        CALL    DSPDBUF
        RET

;========================================

UPSETCH
	CALL    CLRDBUF
	MTAD    V_PSET
	AAI     $1
	ALEI    $9
	BR      UPSETCH1
UPSETCH4
	ITA     $0
UPSETCH1
	ATMD    V_PSET
UPSETCH2
	ATMD    LCDBUF2
	ITMD    $D,LCDBUF0
	ITMD    $C,LCDBUF1
	TMD     F_AMFM
	LBR     UPSETCH3
	CALL    G_V_FM
	CALL    DSPDBUF
	RET
UPSETCH3
	CALL    G_V_AM
	CALL    DSPDBUF
	RET

;===============================================

DNSETCH
	CALL    CLRDBUF
	MTAD    V_PSET
	AAI     $F
	LBR     UPSETCH1
	ITA     $9
	LBR     UPSETCH1


;=================================================
RDO_OFF
	RMD     P_RDOON
	RMD     F_SETFG
	ITMD    $0,SCH_STE
	ITMD    $0,RDOMOD
	RMD     F_PROG
	RMD     F_SLEEP
	CALL    CLRDBUF
	CALL    DSPDBUF
	CALL    ICONDSP

	INEMD	$0,FLAG64
	BR	RDOOFFR

	CALL    CLRNAME
	CALL    DSPCHAR
RDOOFFR
	RET

;========================================================
;
;========================================================

ONWRRDO
	CALL    WR_RDO
	RMD     F_RDOEN
	RET

;========================================================
;     FUNCTION AND RDO RES
;========================================================
FUNCRELE
	MTAD    RES_TIME
	AAI     $F
	BR      FUNCRELR

	INEMD   $0,FUNCMOD
	LBR     FUNDCLKL

	TMD     F_RDOON
	BR      FUNCREL1
	RET

FUNCREL1
	INEMD   $8,RDOMOD
	LBR     RES_RDO
	TMD	F_PROG
	CALL    RDOCSET6
	RET
FUNCRELR
	ATMD    RES_TIME
	RET

;========================================================
;
;========================================================
TSLEEP
	TMD     F_SLEEP
	BR      TSLEEP1
	RET
TSLEEP1
    ;	CALL    CHK_P9
	MTAD    SLEEPTM1
	AAI     $F
	ATMD    SLEEPTM1
	BR      TSLEEPR

	MTAD    SLEEPTM2
	AAI     $F
	ATMD	SLEEPTM2
	BR      TSLEEPR
	CALL    RDO_OFF
TSLEEPR

⌨️ 快捷键说明

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