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

📄 function.src

📁 无线电话加来电现示加收音机
💻 SRC
📖 第 1 页 / 共 4 页
字号:
	CALL    ICONDSP
	BR      SLCDVARR

RDOFMAM2
	CALL    ENTERKEY
	BR      RDOFMAM3
RDOFMAM5
	ITMD    $A,RDOMOD
	CALL    ICONDSP
	BR      SLCDVARR

RDOFMAM3
	CALL    FUNCKEY
	BR      SLCDVARR

	ITMD    $8,RDOMOD
	CALL    CLRNAME
	CALL    DSPCHAR
	CALL    ICONDSP
	BR      SLCDVARR

RDOTUN
	INEMD   $A,RDOMOD
	LBR     RDOCPROG

	CALL    UPKEY
	LBR     RDOTUN1

	TMD     F_AMFM
	LBR     RDOTUN12
	CALL    INC_V_FM
	CALL    FM_BAND
	LBR     RDOTUN11
RDOTUN12
	CALL    INC_V_AM
	CALL    AM_BAND
RDOTUN11
	RMD     F_PROG
	ITMD    $1,SCH_STE
	ITMD    $A,TIME_CNT
     ;	CALL    RDO_MUTE
	BR      RDOCSETR

RDOTUN1
	CALL    DNKEY
	BR      RDOTUN3

	TMD     F_AMFM
	BR      RDOTUN13
	CALL    DEC_V_FM
	CALL    FM_BAND
	BR      RDOTUN14
RDOTUN13
	CALL    DEC_V_AM
	CALL    AM_BAND
RDOTUN14
	RMD     F_PROG
	ITMD    $8,SCH_STE
	ITMD    $A,TIME_CNT
	BR      RDOCSETR

RDOTUN3
	CALL    SETKEY
	BR      RDOTUN4
	SMD     F_SETFG
	ITMD    $F,TIME_CNT
	BR      RDOCSETR
RDOTUN4
	CALL    FUNCKEY
	BR      RDOCSETR
	LBR     RDOTUNE


RDOCPROG
	INEMD   $B,RDOMOD
	LBR     RDOSSET

	CALL    UPKEY
	BR      RDOPROG1
	CALL    UPSETCH
	BR      RDOCSETR
RDOPROG1
	CALL    DNKEY
	BR      RDOPROG2
	CALL    DNSETCH
RDOCSETR
	RET
RDOPROG2
	CALL    ENTERKEY
	LBR     RDOPROG3
	MTAD    V_PSET
	TMD     F_AMFM
	LBR     RDOPRG21
	ATMD    V_FMPSET
	CALL    SAV_V_FM
	LBR     RDOFMAM5

RDOPRG21
	ATMD    V_AMPSET
	CALL    SAV_V_AM
	LBR     RDOFMAM5

RDOPROG3
	CALL    FUNCKEY
	BR      RDODSETR
	LBR     RDOFMAM5

RDOSSET
	INEMD	$C,RDOMOD
	BR	RDOSLEEP

	CALL    UPKEY
	BR      RDOSSET1
	CALL    UPSSETCH
	BR      RDODSETR

RDOSSET1
	CALL    DNKEY
	BR      RDOSSET2
	CALL    DNSSETCH
	BR      RDODSETR
RDOSSET2
	CALL	ENTERKEY
	BR	RDODSETR
	LBR     RES_RDO


RDOSLEEP
	INEMD   $D,RDOMOD
	BR      RDODSETR

	CALL    UPKEY
	BR      RDOSLEP1
	MTAD    V_PSET
	AAI     $1
	ALEI    $4
	BR      RDOSLEP2
	ITA     $0
	BR      RDOSLEP2
RDOSLEP1
	CALL    DNKEY
	BR      RDOSLEP3
	MTAD    V_PSET
	AAI     $F
	BR      RDOSLEP2
	ITA     $4
RDOSLEP2
	ATMD    V_PSET
	INEMD   $0,V_PSET
	BR      RDOSLP21
	LBR     FUNCTONM
RDOSLP21
	INEMD   $1,V_PSET
	BR      RDOSLP22
	SMD     F_SLEEP
	ITMD    $E,SLEEPTM1
	ITMD    $1,SLEEPTM2
	CALL    DSP30
	BR      RDODSETR

RDOSLP22
	INEMD   $2,V_PSET
	BR      RDOSLP23
	SMD     F_SLEEP
	ITMD    $C,SLEEPTM1
	ITMD    $3,SLEEPTM2
	CALL    DSP60
	BR      RDODSETR

RDOSLP23
	INEMD   $3,V_PSET
	BR      RDOSLP24
	SMD     F_SLEEP
	ITMD    $A,SLEEPTM1
	ITMD    $5,SLEEPTM2
	CALL    DSP90
	BR      RDODSETR

RDOSLP24
	CALL    DSLEEP
	RMD     F_SLEEP
RDODSETR
	RET

RDOSLEP3
	CALL    ENTERKEY
	BR      RDOSLEP4
	LBR     RES_RDO

RDOSLEP4
	CALL    FUNCKEY
	BR      RDODSETR
	LBR     RES_RDO


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

;-----------------------------------------
G_FMADDR
	ITB     FM_SEG/10H&0FH
	T       FM_SEG/100H
	ATY
	BTA
	ATX
	ITV     $5
	RET
;-----------------------------------------
G_AMADDR
	ITB     AM_SEG/10H&0FH
	T       AM_SEG/100H
	ATY
	BTA
	ATX
	ITV     $5
	RET
;---------------------------------
AM_INIT
        ITMD    $0,AM_VALU0
	ITMD    $3,AM_VALU1
        ITMD    $C,AM_VALU2
        ITMD    $A,AM_VALU3
        ITMD    $0,AM_LCT0
        ITMD    $0,AM_LCT1
        ITMD    $0,AM_LCT2
        RET
FM_INIT
        ITMD    $1,FM_VALU0
        ITMD    $E,FM_VALU1
        ITMD    $B,FM_VALU2
        ITMD    $0,FM_VALU3
        ITMD    $0,FM_LCT0
        ITMD    $0,FM_LCT1
	ITMD    $0,FM_LCT2
	RET

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

G_V_FM
	ITMD    $0,LCD_VLU0
	ITMD    $0,LCD_VLU1
	ITMD    $0,LCD_VLU2
	ITMD    $F,LCD_VLU3
	RC
	ITA     $5
	AAMD    FM_LCT2
	DAA
	ATMD    LCD_VLU4
	ITA     $7
	AAMCD   FM_LCT1
	DAA
	ATMD    LCD_VLU2
	ITA     $8
	AAMCD   FM_LCT0
	DAA
	ATMD    LCD_VLU1

	ITA     $0
	AAMCD   LCD_VLU0
	ATMD    LCD_VLU0
	INEMD   $0,LCD_VLU0
	BR      GVFMR
	ITMD    $F,LCD_VLU0
GVFMR
	RET

INC_V_FM
	RMD     F_SRCEND
	RC
	ITA     $8
	AAMCD   FM_VALU3
	ATMD    FM_VALU3
	ITA     $0
	AAMCD   FM_VALU2
	ATMD    FM_VALU2
	ITA     $0
	AAMCD   FM_VALU1
	ATMD    FM_VALU1
	ITA     $0
	AAMCD   FM_VALU0
	ATMD    FM_VALU0
;-------------------

	MTAD    FM_LCT2
	AAI     $1
	ALEI    $9
	BR      INCVFM1
	ITMD    $0,FM_LCT2

	MTAD    FM_LCT1
	AAI     $1
	ALEI    $9
	BR      INCVFM2

	ITMD    $0,FM_LCT1
	MTAD    FM_LCT0
	AAI     $1
	ATMD    FM_LCT0
	BR      INCVFMR
	BR      INCVFMR
INCVFM2
	ATMD    FM_LCT1
INCVFMR
	LBR     INCVFMRR
INCVFM1
	ATMD    FM_LCT2
	INEMD   $6,FM_LCT2
	BR      INCVFMRR

	INEMD   $0,FM_LCT1
	BR	INCVFMRR
	INEMD   $2,FM_LCT0
	BR      INCVFMRR
	CALL    FM_INIT
	SMD     F_SRCEND
INCVFMRR
	RET
;====================================

DEC_V_FM
	RMD     F_SRCEND
	SC
	ITA     $8
	MSACD   FM_VALU3
	ATMD    FM_VALU3
        ITA     $0
        MSACD   FM_VALU2
        ATMD    FM_VALU2
        ITA     $0
        MSACD   FM_VALU1
        ATMD    FM_VALU1
        ITA     $0
        MSACD   FM_VALU0
        ATMD    FM_VALU0

        MTAD    FM_LCT2
        AAI     $F
        ATMD    FM_LCT2
        LBR     DECVFMR
        ITMD    $9,FM_LCT2

        MTAD    FM_LCT1
        AAI     $F
        ATMD    FM_LCT1
        LBR     DECVFMR
        ITMD    $9,FM_LCT1

        MTAD    FM_LCT0
        AAI     $F
        ATMD    FM_LCT0
        LBR     DECVFMR

        ITMD    $5,FM_LCT2
        ITMD    $0,FM_LCT1
        ITMD    $2,FM_LCT0

        ITMD    $8,FM_VALU3
        ITMD    $1,FM_VALU2
        ITMD    $5,FM_VALU1
        ITMD    $2,FM_VALU0
        SMD     F_SRCEND
DECVFMR
        RET





;=============================================
;=============================================
FM_BAND
        CALL    CLRDBUF
        CALL    G_V_FM
        CALL    DSPDBUF
	RET
        
;==================================================
;     AM BAND
;==================================================

G_V_AM
	ITMD    $0,LCD_VLU4
	ITMD    $0,LCD_VLU1
	ITMD    $0,LCD_VLU2
	ITMD    $0,LCD_VLU3

	RC
	ITA     $2
	AAMCD   AM_LCT2
	DAA
	ATMD    LCD_VLU3

	ITA     $5
	AAMCD   AM_LCT1
	DAA
	ATMD    LCD_VLU2

	ITA     $0
	AAMCD   AM_LCT0
	DAA
	ATMD    LCD_VLU1

	INEMD   $0,LCD_VLU1
	BR      GVAMR
	ITMD    $F,LCD_VLU1
GVAMR
	RET

INC_V_AM
	RMD     F_SRCEND
	RC
	ITA     $A
	AAMCD   AM_VALU3
	ATMD    AM_VALU3
	ITA     $0
	AAMCD   AM_VALU2
	ATMD    AM_VALU2
	ITA     $0
        AAMCD   AM_VALU1
        ATMD    AM_VALU1
        ITA     $0
        AAMCD   AM_VALU0
        ATMD    AM_VALU0
;-------------------

        MTAD    AM_LCT2
        AAI     $1
        ALEI    $9
        ATMD    AM_LCT2
        LBR     INCVAMR
        ITMD    $0,AM_LCT2

        MTAD    AM_LCT1
        AAI     $1
        ALEI    $9
        LBR     INCVAM1
        ITMD    $0,AM_LCT1

        MTAD    AM_LCT0
        AAI     $1
        ATMD    AM_LCT0
        LBR     INCVAMR
        LBR     INCVAMR
INCVAM1
        ATMD    AM_LCT1
        INEMD   $2,AM_LCT1
        LBR     INCVAMR
        INEMD   $1,AM_LCT0
        LBR     INCVAMR
        CALL    AM_INIT
        SMD     F_SRCEND
INCVAMR
        RET
;====================================
DEC_V_AM
        RMD     F_SRCEND
        SC
        ITA     $A
        MSACD   AM_VALU3
        ATMD    AM_VALU3
        ITA     $0
        MSACD   AM_VALU2
        ATMD    AM_VALU2
        ITA     $0
        MSACD   AM_VALU1
        ATMD    AM_VALU1
        ITA     $0
        MSACD   AM_VALU0
        ATMD    AM_VALU0

        MTAD    AM_LCT2
        AAI     $F
        ATMD    AM_LCT2
        LBR     DECVAMR
        ITMD    $9,AM_LCT2

        MTAD    AM_LCT1
        AAI     $F
        ATMD    AM_LCT1
        LBR     DECVAMR
        ITMD    $9,AM_LCT1

        MTAD    AM_LCT0
        AAI     $F
        ATMD    AM_LCT0
        LBR     DECVAMR

        ITMD    $9,AM_LCT2
        ITMD    $1,AM_LCT1
        ITMD    $1,AM_LCT0

        ITMD    $0,AM_VALU3
        ITMD    $7,AM_VALU2
        ITMD    $8,AM_VALU1
        ITMD    $0,AM_VALU0
        SMD     F_SRCEND
DECVAMR
        RET

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

AM_BAND
        CALL    CLRDBUF
        CALL    G_V_AM
        CALL    DSPDBUF
        RET

;=============================================
;    RDO WRITE AND READ
;=============================================

CLK_HIGH
	SMD     P_RDOCLK
	CALL	DELAY
	CALL    DELAY
	CALL	DELAY
	RET
CLKHIGN
	SMD     P_RDOCLK
	CALL    DELAY
	CALL	DELAY
	RET

CLK_LOW
	RMD     P_RDOCLK
	CALL    DELAY
	CALL	DELAY
        RET
        
DELAY
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        NOP
        RET

WR_INIT
        ITMD    :1111,DBUF
        SMD     2,PMODB
        CALL    EN_WR
        CALL    GET_VALU
        RET

DAT_INIT
        CALL    CLK_LOW
        RMD     P_RDODAT
        CALL    CLK_HIGH
        CALL    CLK_LOW
        RET
        

GET_VALU
        TMD     F_AMFM
        LBR     GETVALU1
        ITMD    :0000,WR_DATA5
        ITMD    :1000,WR_DATA4
        MTAD    FM_VALU0
        ATMD    WR_DATA0
        MTAD    FM_VALU1
        ATMD    WR_DATA1
        MTAD    FM_VALU2
        ATMD    WR_DATA2
        MTAD    FM_VALU3
        ATMD    WR_DATA3
        LBR     GETVALUR
GETVALU1
        ITMD    :0001,WR_DATA5
        ITMD    :1010,WR_DATA4
        MTAD    AM_VALU0
        ATMD    WR_DATA0
        MTAD    AM_VALU1
        ATMD    WR_DATA1
        MTAD    AM_VALU2
        ATMD    WR_DATA2
        MTAD    AM_VALU3
        ATMD    WR_DATA3
GETVALUR
        RET

WR_DAT
        ITV     WR_DATA5/100H
        ITX     WR_DATA5/10H&0FH
        ITY     WR_DATA5&00FH
WR_DAT1
        ITB     $3
        MTA
WR_DAT2
        ROLC
        TC
        BR      WR_DAT3
        RMD     P_RDODAT
        BR      WR_DAT4
WR_DAT3
        SMD     P_RDODAT
WR_DAT4 
        CALL    CLK_HIGH
        CALL    CLK_LOW
        DB
        LBR     WR_DAT2
        DY
        LBR     WR_DAT1
        RET

WR_END
        ITMD    :1111,DBUF
        SMD     2,PMODB
        RMD     P_RDODAT
        CALL    CLK_LOW
        CALL    DIS_WR
        RET

DIS_WR
DIS_MUTE
        RMD     P_RDOWT
        NOP
        NOP
        RET

EN_WR
RDO_MUTE
        SMD     P_RDOWT
        NOP
        NOP
        RET

;===================================================
;===================================================
WR_RDO
        RMD     IE
        CALL    DIS_MUTE
	CALL	CLK_HIGH
        CALL	CLK_LOW
	CALL    WR_INIT
        CALL    DAT_INIT
        CALL    WR_DAT
        CALL    WR_END
        SMD     IE
        RET

;=====================================================
RD_RDO
        CALL    DIS_MUTE
        CALL    RD_STE
        LBR     RD_RDOR
        RMD     IE
        CALL    RD_DATA
        SMD     IE
        RC
        TC
RD_RDOR
        RET

RD_STE
        TMD     P_RDODAT
        LBR     RD_STER
        RC
        TC
RD_STER
        RET
;=====================================================

RD_DATA
        ITV     WR_DATA5/100H
        ITX     WR_DATA5/10H&0FH
        ITY     WR_DATA5&00FH
RD_DAT1
        ITB     $3
RD_DAT2
	CALL    CLK_LOW
        CALL    CLK_HIGH
        CALL    DELAY
        TMD     P_RDODAT
        LBR     RD_DATA1
        RC
        BR      RD_DATA2
RD_DATA1
        SC
RD_DATA2
        ROLC
        DB
        LBR     RD_DAT2
        ATM
        DY
        LBR     RD_DAT1
        CALL    CLK_LOW        
        RET

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

SCHUPRDO
        RMD     IE
        CALL    DIS_MUTE
        CALL    DELAY
        CALL    EN_WR
        TMD     F_AMFM
        LBR     UPRDO1

⌨️ 快捷键说明

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