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

📄 sched.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
📖 第 1 页 / 共 4 页
字号:
                Lda     #<Remarkbank
                Jmp     Longgo
;;--Menupgup--
Scanschmenupgupp:
                Lda     #>Viewnameuppage-1
                Pha
                Lda     #<Viewnameuppage-1
                Pha
                Lda     #>Remarkbank
                Pha
                Lda     #<Remarkbank
                Jmp     Longgo
;;--Menupgdown--
Scanschmenupgdownp:
                Lda     #>Viewnamedownpage-1
                Pha
                Lda     #<Viewnamedownpage-1
                Pha
                Lda     #>Remarkbank
                Pha
                Lda     #<Remarkbank
                Jmp     Longgo
;;----Enter---
Scanschmenuenterp:
Alarmenter:
                Lda     #Scanschcontenn
                Sta     <Gamestate
		Jsr     Schhelpprc
                Jsr     Ljsr
                Dw      Remarkbank
                Dw      Copydatatoinputbuff-1

                Stz     <Tempcount
                Jsr     Ljsr
                Dw      Remarkbank
                Dw      Shownamecard-1

                ;;Ldy     #6
                ;;Jsr     Inittimesche
                ;;Sta     Schemonth      ;;Save As Bcd

                ;;Ldy     #10
                ;;Jsr     Inittimesche
                ;;Sta     Scheday

                ;;Ldy     #26
                ;;Jsr     Inittimesche
                ;;Sta     Schehour

                ;;Ldy     #30
                ;;Jsr     Inittimesche
                ;;Sta     Scheminute
                Jmp     Exitwithupdate

;;-----Esc----
Scanschmenuescp:
		Jmp     Rettomenu               ;; Back To Main Menu.
;;----Delet---
Scanschmenudeletp:
                Lda     #Deletschn_Yn
                Sta     <Gamestate
                Jsr     Schhelpprc
                Lda     #>Ds0Bank
                Sta     <Drrh
                Lda     #<Ds0Bank
                Sta     <Drrl
                Lcls
                Lprint  Deletconfirmmsg
                Jmp     Exitwithupdate
;;---Insert---
Scanschmenuinsertp:
                Jmp     Initinsertkeyp
;;---Find---
Scanschmenufindp:
                Lda     <Totalcardnol
                Cmp     #6
                Bcs     ?1
                Jmp     Exitnoupdate
?1:             Lda     #Findschn
                Sta     <Gamestate
                Jsr     Schhelpprc
                Lda     #>Initeditrenyizi-1
                Pha
                Lda     #<Initeditrenyizi-1
                Pha
                Lda     #>Cardbank
                Pha
                Lda     #<Cardbank
                Jmp     Longgo

;;[St]---------------------------------[St]
;;       7.询问删除提醒状态
;;[St]---------------------------------[St]
Deletschn_Y:
                Lda     <Keyno
                Cmp     #Ykey
                Beq     Deletsch_Ykeyp
                Cmp     #Nkey
                Beq     Deletsch_Nkeyp
                Cmp     #Esckey
                Beq     Deletsch_Nkeyp
                Jmp     Exitnoupdate
;;-----Ykey-----
Deletsch_Ykeyp:
                Lcls
                Lprint  Delethintmsg
                jsr	CALL_LUpdateScreen
                Jsr     Ljsr
                Dw      Remarkbank
                Dw      Deletecurrecord-1
                Jsr     Deletescdata            ;;02-4-18 8:33
                Dec     Screcordcounter         ;; Screcordcounter -= 1

                ;Jsr     Chkscdata
                ;Jsr     Ljsr
                ;Dw      Biosbank
                ;Dw      Checkschedule_In_Bios-1
                Jsr     Checkschedule
;;-----Nkey------
Deletsch_Nkeyp:
                Jmp     Initscnsche1             ;; Update Schedule's Screen.

;;[St]---------------------------------[St]
;;       8.浏览提醒内容状态
;;[St]---------------------------------[St]
Scanschconten:
                Ldy     #0Ffh
Scanschconten_0:
                Iny
                Lda    Scanschcontkeytab,Y
                Bmi     Scanschconten_1
                Cmp     <Keyno
                Bne     Scanschconten_0
                Tya
                Asl
                Tay
                Lda     Scanschcontkeyptab+1,Y
                Pha
                Lda     Scanschcontkeyptab,Y
                Pha
                Rts
Scanschcontkeytab:
                Db      Upkey,Downkey,Esckey,Amendkey,Nullkey
Scanschcontkeyptab:
                Dw      Scanschcontupp-1,Scanschcontdownp-1
                Dw      Scanschcontescp-1,Scanschcontamendp-1
Scanschconten_1:
                Jmp     Exitnoupdate
;;----Up----
Scanschcontupp:
                Lda     #>Upviewfun-1
                Pha
                Lda     #<Upviewfun-1
                Pha
                Lda     #>Remarkbank
                Pha
                Lda     #<Remarkbank
                Jmp     Longgo
;;---Down---
Scanschcontdownp:
                Lda     #>Downviewfun-1
                Pha
                Lda     #<Downviewfun-1
                Pha
                Lda     #>Remarkbank
                Pha
                Lda     #<Remarkbank
                Jmp     Longgo
;;----Esc---
Scanschcontescp:
                Jmp     Initscnsche1
;;---Amend--
Scanschcontamendp:
                Smb4    <Schflag             ;;Amend Flag
                Jmp     Initinsertkeyp_0

;;[St]---------------------------------[St]
;;       9.查询提醒状态(任意字)
;;[St]---------------------------------[St]
Findsch:
                Lda     <Keyno
                Cmp     #Enterkey
                Beq     Startfindsch
                Cmp     #Esckey
                Beq     Escfindsch
                Jmp     Exitnoupdate
Escfindsch:	Lexitscanf		;02-9-20 9:30
                Jmp     Initscnsche1
Startfindsch:
                Lexitscanf		;02-9-20 9:30
                Jsr     Ljsr
                Dw      Remarkbank
                Dw      Findmatch-1
                ;;Jsr    Findmatch
                Bcs     Nomatchret
                Jmp     Dspschmenuentry

Nomatchret:     Lda     #>Reinputmsg-1
                Pha
                Lda     #<Reinputmsg-1
                Pha
                Lda     #>Cardbank
                Pha
                Lda     #<Cardbank
                Jmp     Longgo

;;===============================================================
Maxdayofmonth:  Db      32H,30H,32H,31H,32H,31H,32H,32H,31H
                Db      0,0,0,0,0,0,32H,31H,32H
;;[P]----------------------------------[P]
;;   设定时间加 1或减1公共入口(上下键).
;;[P]----------------------------------[P]
Changetimeent:
                Ldy     <Schselectno
                Lda     Typesettimeitem,Y
                Sta     <Tempcount
                Lda     Schesetitem
                Asl
                Clc
                Adc     <Tempcount
                Tay
                Lda     Typesettimetab+1,Y
                Pha
                Lda     Typesettimetab,Y
                Pha
                Rts

;;------Year-----
Yearset:        Sed
                Lda     <Keyno
                Cmp     #Upkey
                Beq     Setyearupkey
                Jmp     Setyeardownkey
;;------Month-----
Monthset:       Sed
                Lda     <Keyno
                Cmp     #Upkey
                Beq     Setmonthupkey
                Jmp     Setmonthdownkey
;;------Day-----
Dayset:         Sed
                Lda     <Keyno
                Cmp     #Upkey
                Beq     Setdayupkey
                Jmp     Setdaydownkey
;;------Hour-----
Hourset:        Sed
                Lda     <Keyno
                Cmp     #Upkey
                Beq     Sethourupkey
                Jmp     Sethourdownkey
;;------Minute-----
Minuteset:      Sed
                Lda     <Keyno
                Cmp     #Upkey
                Beq     Setminuteupkey
                Jmp     Setminutedownkey

;;------Week-----
Weekset:        Lda     <Keyno
                Cmp     #Upkey
                Beq     Setweekupkey
                Jmp     Setweekdownkey

;;[P]----------------------------------[P]
;;   Previous Schedule Or 设定时间加 1.
;;[P]----------------------------------[P]

;;------------Set Year-----------
Setyearupkey:
                ;;Sed
                Lda     Scheyear
                Clc
                Adc     #1
Todealwithyear: Jmp     Dealwithyear

;;------------Set Month-----------
Setmonthupkey:
                ;;Sed
                Lda     Schemonth
                Clc
                Adc     #1
                Sta     Schemonth
                Cmp     #13H
                Bne     Month_Add_01
                Lda     #1
                Sta     Schemonth
Month_Add_01:
                ;;Jsr     Corretscheday
                Jsr     Corretsetupday
                Ldx     Schemonth
                Jmp     Schesiad5
;;------------Set Day-----------
Setdayupkey:
                ;;Sed
                Lda     Scheday
                Clc
                Adc     #1
                Sta     Scheday
                Jsr     Corretscheday
                Ldx     Scheday
                Jmp     Schesiad5

;;------------Set Hour-----------
Sethourupkey:
                ;;Sed
                Lda     Schehour
                Clc
                Adc     #1
                Sta     Schehour
                Cmp     #24H
                Bne     Hour_Add1
                Stz     Schehour
Hour_Add1:      Ldx     Schehour
                Jmp     Schesiad5

;;------------Set Minite-----------
Setminuteupkey:
                ;;Sed
                Lda     Scheminute
                Clc
                Adc     #1
                Cmp     #60H
                Bne     Min_Add_1
                Lda     #0
Min_Add_1:      Sta     Scheminute
                Ldx     Scheminute
                Jmp     Schesiad5

;;------------Set Week-----------
Setweekupkey:
                Inc     Scheweek
                Lda     Scheweek
                Cmp     #7
                Bne     ?001
                Stz     Scheweek
?001:           Jmp     Dspweekent

;;---------------------------------
Schesiad5:      ;;Plp
                Cld
                La2Xy
                Phy
                Phx

                Clc
                Lda     <Curxpos
                Ldx     <Curypos
?Count:         Beq     ?000
                Adc     #20
                Dex
                Bra     ?Count
?000:           Tay
                Pla     ;;X
                Sta     Inputbuff,Y
                Sta     Textbuffor,Y
                Pla     ;;Y
                Sta     Inputbuff+1,Y
                Sta     Textbuffor+1,Y
                Jmp     Exitwithupdate

Typesettimeitem:
        Db      0,4,10,16,24
Typesettimetab:
Daytypesettime:
        Dw      Hourset-1,Minuteset-1
Weektypesettime:
        Dw      Weekset-1,Hourset-1,Minuteset-1
Monthtypesettime:
        Dw      Dayset-1,Hourset-1,Minuteset-1
Yeartypesettime:
        Dw      Monthset-1,Dayset-1,Hourset-1,Minuteset-1
Oncetypesettime:
        Dw      Yearset-1,Monthset-1,Dayset-1,Hourset-1,Minuteset-1


;;[P]------------------------------[P]
;;       设定时间减 1.
;;[P]------------------------------[P]

;;------------Set Year-----------
Setyeardownkey:
                ;;Sed
                Lda     Scheyear
                Sec
                Sbc     #1
Dealwithyear:   Sta     Scheyear
                Jsr     Corretsetupday
                Ldx     Scheyear
                Jmp     Schesiad5
                ;;Jmp    Exitnoupdate
;;------------Set Month-----------
Setmonthdownkey:
                ;;Sed
                Lda     Schemonth
                Sec
                Sbc     #1
                Bne     Month_Dec_01
                Lda     #12H
Month_Dec_01:   Sta     Schemonth
                ;;Jsr     Corretscheday
                Jsr     Corretsetupday
                Ldx     Schemonth
                Jmp     Schesiad5

;;------------Set Day-----------
Setdaydownkey:
                ;;Sed
                Lda     Scheday
                Sec
                Sbc     #1
                Sta     Scheday
                Bne     Schetimedec_10
                Ldy     Schemonth
                Dey
                Lda     Maxdayofmonth,Y
                ;;Dec            ;;绝对不能用此指令
                Sec
                Sbc     #1
                Sta     Scheday
                Jsr     Corretscheday
                ;;Jsr    Corretsetupday
Schetimedec_10: Ldx     Scheday
                Jmp     Schesiad5

;;------------Set Hour-----------
Sethourdownkey:
                ;;Sed
                Lda     Schehour
                Sec
                Sbc     #1
                Bpl     Hour_Dec1
                Lda     #23H
Hour_Dec1:      Sta     Schehour
                Ldx     Schehour
                Jmp     Schesiad5

;;------------Set Minute-----------
Setminutedownkey:
                ;;Sed
                Lda     Scheminute
                Sec
                Sbc     #1
                Bpl     Min_Sbc_1
                Lda     #59H
Min_Sbc_1:      Sta     Scheminute
                Ldx     Scheminute
                Jmp     Schesiad5

;;------------Set Week-----------
Setweekdownkey:
                Lda     Scheweek
                Bne     Dspweekent_0
                Lda     #7
                Sta     Scheweek
Dspweekent_0:   Dec     Scheweek
Dspweekent:     Lda     Scheweek
                Asl
                Tay
                Lda     Weekasciitab,Y
                Sta     Inputbuff+28
                Sta     Textbuffor+28
                Lda     Weekasciitab+1,Y
                Sta     Inputbuff+29
                Sta     Textbuffor+29
                Jmp     Exitwithupdate
;;[P]----------------------------------------------[P]
;;               Schedule 移到上一个设定项.
;;[P]----------------------------------------------[P]
Schesetleftitem:
                Lda     Schesetitem
                Beq     Schesetleftitem_1
                Dec     Schesetitem
Schesetleftitem_1:
                Bra     Selectstate

;;[P]-------------------------------------------[P]
;;   进入 Schedule 设定模式 Or 移到下一个设定项.
;;[P]-------------------------------------------[P]
Schesetrightitem:
                Inc     Schesetitem
                Lda     Schesetitem
                Cmp     <Setitemmax
                Bcc     Selectstate

                Lcls
                Lprint  Inputbuff
                jsr	CALL_LUpdateScreen

                Rmb3    <Scanfstate
                ;;Lda     #Scheinputlength
                Ldy     <Schselectno
                Lda     Typeheadlentab,Y

⌨️ 快捷键说明

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