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

📄 xttx.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
字号:
; ***************************************************************************
; *     Project : Electronic Dictionary                                     *
; *        Date : 2003.9                                                    *
; *   File Name : XTTX.ASM                                                  *
; ***************************************************************************

        pw      128
        case    off
        externs on

       include st2202.def      ;; Include ST2100 I/O define.
        include Data.def
        include DataBank.def
        include KeyDef.def
        include Graph.def
        include Graphics.h
        include bios.h
        include Debug.h         ;; Include debug macro.

        public  CheckSchedule_in_bios
ps0   .SECTION
BankNo  equ     biosbank

CheckSchedule_in_bios:
                rmb5    <scanfstate
                rmb5    <SF0
                
                stz     TP0                     ;; Initial schedule set counter = 0.
                bra     checkschedule2
checkschedule1: inc     TP0                     ;; Schedule set counter += 1.
checkschedule2: lda     TP0
                cmp     SCRecordCounter
                beq     checkschedule4          ;; Skip if finish check schedule.

                lda     TP0
                asl
                sta     TP1                    ;;TempCount
                asl
                ;;clc
                adc     TP1                    ;;TempCount
                tay
                
                ldx     #4
?Cmpweek:       lda     SchData+5,y
                cmp     #0ffh
                beq     ?CmpYear
                cmp     <RealWeek
                bne     checkschedule1
                ldx     #2
                bra     ?CmpHour
                
?CmpYear:       lda     SchData+4,y
                cmp     #0ffh
                beq     ?CmpMonth
                cmp     <Min,x
                bne     checkschedule1

?CmpMonth:      dex
                lda     SchData+3,y
                cmp     #0ffh
                beq     ?CmpDay
                cmp     <Min,x
                bne     checkschedule1

?CmpDay:        dex
                lda     SchData+2,y
                cmp     #0ffh
                beq     ?CmpHour
                cmp     <Min,x
                bne     checkschedule1

?CmpHour:       dex
                lda     SchData+1,y
                cmp     <Min,x
                bcc     checkschedule1  ;时间已过
                beq     ?CmpMinute
                smb5    <SCanfState
                bra     checkschedule1  ;时间未到

?CmpMinute:     dex
                lda     SchData,y
                cmp     <Min,x
                bcc     checkschedule1  ;时间已过
                smb5    <SCanfState
                bne     checkschedule1  ;时间未到
                lda     #00100000b              ;; Set to multi-alarm go.
                ora     AlarmFlag2
                sta     AlarmFlag2
                lda     #3Ch                    ;; Tone counter = 60.
                sta     ToneCounter
                smb5    <SF0
checkschedule4:
                rts

     end        

⌨️ 快捷键说明

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