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

📄 alarm.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
📖 第 1 页 / 共 5 页
字号:
                bra     flashmalm2
flashmalm1:     bbs0    <SysF,flashmalm3        ; Skip if complete second.
                lda     #SpaceChar              ; Blank MALMMinute.
                sta     TextBuffor+45H+3  ;;;;2*16+8
                sta     TextBuffor+46H+3  ;;2*16+9
flashmalm2:     ;LUpdateScreen                   ; Update multi-alarm's screen.
                jsr	dispalarmbmp
                rts                             ; Return to superstructure.
flashmalm3:     jsr     DisplayMAlarm           ; Update multi-alarm's screen.
                rts                             ; Return to superstructure.

;[P]----------------------[P]
;   Display calendar data.
;[P]----------------------[P]
DisplayDate:
                lda     <ViewYear
                cmp     #31h
                bcs     displaydate1            ; Skip if 1931 ~ 1999.

                stz   <ox
                lda   #16
                sta   <oy
                ljprintimage  eforyeli
                lda   #8
                sta   <ox
                lda   #16
                sta   <oy
                ljprintimage  lingforyeli

                bra     displaydate2
displaydate1:
                stz   <ox
                lda   #16
                sta   <oy
                ljprintimage  yiforyeli
                lda   #8
                sta   <ox
                lda   #16
                sta   <oy
                ljprintimage  jiuforyeli
displaydate2:
                lda    #16
                sta    <ox
                sta    <oy
                lda     <ViewYear
                jsr     Ba2xyCH
                phy
                txa
                jsr     publicshow09
                lda    #24
                sta    <ox
                lda    #16
                sta    <oy
                ply
                tya
                jsr    publicshow09
                lda   #32
                sta   <ox
                lda   #16
                sta   <oy
                ljprintimage  yearfontforyeli
                lda    #8
                sta    <ox
                lda    #32
                sta    <oy
                lda     <ViewMonth
                jsr     Ba2xyCH
                cpx     #0
                bne     displaydate3            ; Skip if 1x.
                ;;ldx     #SpaceChar
                phy

                ljprintimage  nulldraw
                bra  displaydate3xno0
displaydate3:
                phy
                txa
                jsr    publicshow09
displaydate3xno0:
                lda    #16
                sta    <ox
                lda    #32
                sta    <oy
                ply
                tya
                jsr    publicshow09

                lda  #24
                sta  <ox
                lda  #32
                sta  <oy
                ljprintimage  monthfontforyeli
                ;LUpdateScreen                   ; Update calendar screen.
                jsr	dispalarmbmp
                rts                             ; Return to superstructure.

;[S]------------------------[S]
;   Display stop-watch data.
;[S]------------------------[S]
DisplaySWatch: ; LSetCur 0,0
               ; LPrint  SWATCHDSLine0           ; Display "【秒表】" on TextBuffor.
               ; lda     #00000100b
               ; bit     AlarmFlag4
               ; beq     displayswatch2          ; Skip if stop.
               ; lda     #00001000b
               ; bit     AlarmFlag4
               ; bne     displayswatch1          ; Skip if pause.
               ; LPrint  SWATCHDSLine2           ; Display "启动" on TextBuffor.
               ; bra     displayswatch4
displayswatch1:; LPrint  SWATCHDSLine3           ; Display "暂停" on TextBuffor.
               ; bra     displayswatch4
displayswatch2:; lda     #00001000b
               ; bit     AlarmFlag4
               ; bne     displayswatch1          ; Skip if pause.
               ; lda     #00h
               ; cmp     SWHour
               ; bne     displayswatch3          ; Skip if SWHour <> 0.
               ; cmp     SWMinute
               ; bne     displayswatch3          ; Skip if SWMinute <> 0.
               ; cmp     SWSecond
               ; bne     displayswatch3          ; Skip if SWSecond <> 0.
               ; bra     displayswatch4
displayswatch3:; LPrint  SWATCHDSLine1           ; Display "停止" on TextBuffor.
displayswatch4:; LCheckCRLF
               ; lda     #':'                    ; Display ":" on TextBuffor.
               ; sta     TextBuffor+2eh ;;30h ;;+2*16+5
               ; sta     TextBuffor+31h  ;;33h ;;+2*16+8
               ; lda     #00000100b
               ; bit     AlarmFlag4
               ; beq     displayswatch6          ; Skip if stop.
               ; lda     #00001000b
               ; bit     AlarmFlag4
               ; beq     displayswatch6          ; Skip if go.
               ; bbs0    <SysF,displayswatch6    ; Skip if complete second.
               ; lda     #SpaceChar              ; Blank ":".
               ; sta     TextBuffor+2eh  ;;30h  ;;+2*16+5
               ; sta     TextBuffor+31h     ;;33h  ;;+2*16+8
displayswatch6:; lda     AlarmFlag4
               ; bit     #00001000b
               ; bne     test1
               ; lda     SWHour
               ; bra     displayswatch7
test1:         ; lda     SWHourPause
displayswatch7:; jsr     Ba2xyCH
               ; stx     TextBuffor+2ch  ;;2eh ;+2*16+3       ; Display SWHour on TextBuffor.
               ; sty     TextBuffor+2dh  ;;2fh   ;;2*16+4
               ; lda     AlarmFlag4
               ; bit     #00001000b
               ; bne     test2
               ; lda     SWMinute
               ; bra     displayswatch8
test2:         ; lda     SWMinutePause
displayswatch8:; jsr     Ba2xyCH
               ; stx     TextBuffor+2fh   ;;31h  ;;+2*16+6       ; Display SWMinute on TextBuffor.
               ; sty     TextBuffor+30h   ;;32h  ;;2*16+7
               ; lda     AlarmFlag4
               ; bit     #00001000b
               ; bne     test3
               ; lda     SWSecond
               ; bra     displayswatch9
test3:         ; lda     SWSecondPause
displayswatch9:; jsr     Ba2xyCH
               ; stx     TextBuffor+32h  ;;34h ;;+2*16+9       ; Display SWSecond on TextBuffor.
               ; sty     TextBuffor+33h  ;;35h  ;;2*16+10
               ; LUpdateScreen                   ; Update stop-watch's screen.
                rts                             ; Return to superstructure.

;[S]---------------------------[S]
;   将萤幕上正在设定的项目闪烁.
;[S]---------------------------[S]
FlashTimer:     lda     TMRSetItem
                cmp     #00h
                beq     flashtimer2             ; Skip if setting TMRSecond.
                cmp     #01h
                beq     flashtimer1             ; Skip if setting TMRMinute.
                bbs0    <SysF,flashtimer4       ; Skip if complete second.
                lda     #SpaceChar              ; Blank TMRHour.
                sta      TextBuffor+2ch
                sta      TextBuffor+2dh
                bra     flashtimer3
flashtimer1:    bbs0    <SysF,flashtimer4       ; Skip if complete second.
                lda     #SpaceChar              ; Blank TMRMinute.
                sta      TextBuffor+2fh
                sta      TextBuffor+30h
                bra     flashtimer3
flashtimer2:    bbs0    <SysF,flashtimer4       ; Skip if complete second.
                lda     #SpaceChar              ; Blank TMRSecond.
                sta      TextBuffor+32h
                sta      TextBuffor+33h
flashtimer3:    ;LUpdateScreen                   ; Update timer's screen.
		jsr  dispalarmbmp
                rts                             ; Return to superstructure.
flashtimer4:    jsr     DisplayTimer            ; Update timer's screen.
                rts                             ; Return to superstructure.



;[S]-------------------[S]
;   Display timer data.
;[S]-------------------[S]
DisplayTimer:   ;LSetScreen      14                      ; Set screen mode 1.
                ;LPrint  TIMERDSLine0                    ; Display "【定时器】" on TextBuffor.
                ;bbs4    <AlarmFlag1,displaytimer2       ; Skip if timer set screen.
                ;lda     #00100000b
                ;bit     AlarmFlag4
                ;beq     displaytimer2                   ; Skip if timer stop.
                ;lda     #00010000b
                ;bit     AlarmFlag4
                ;beq     displaytimer1                   ; Skip if timer go.
                ;LPrint  SWATCHDSLine3                   ; Display "暂停" on TextBuffor.
                ;bra     displaytimer2
displaytimer1:  ;LPrint  SWATCHDSLine2                   ; Display "启动" on TextBuffor.
displaytimer2:  ;LCheckCRLF
                ;lda     #':'                            ; Display ":" on TextBuffor.
                ;sta     TextBuffor+2eh  ;;30h   ;;2*16+5
                ;sta     TextBuffor+31h   ;;33h  ;;2*16+8
                ;lda     TMRHour
                ;jsr     Ba2xyCH
                ;stx     TextBuffor+2ch   ;;2eh ;;+2*16+3               ; Display TMRHour on TextBuffor.
                ;sty     TextBuffor+2dh   ;;2fh  ;;+2*16+4
                ;lda     TMRMinute
                ;jsr     Ba2xyCH
                ;stx     TextBuffor+2fh  ;;31h ;; 2*16+6               ; Display TMRMinute on TextBuffor.
                ;sty     TextBuffor+30h  ;;32h   ;;2*16+7
                ;lda     TMRSecond
                ;jsr     Ba2xyCH
                ;stx     TextBuffor+32h     ;;34h ;;+2*16+9               ; Display TMRSecond on TextBuffor.
                ;sty     TextBuffor+33h     ;;35h ;;+2*16+10
                ;LUpdateScreen                           ; Update timer's screen.
                rts                                     ; Return to superstructure.

;[S]---------------------------[S]
;   将萤幕上正在设定的项目闪烁.
;[S]---------------------------[S]
FlashAD2K:      lda     AD2KSetItem
                cmp     #02h
                beq     flashad2k2              ; Skip if setting AD2KDay.
                cmp     #01h
                beq     flashad2k1              ; Skip if setting AD2KMonth.
                bbs0    <SysF,flashad2k4        ; Skip if complete second.
                lda     #SpaceChar              ; Blank AD2KYear.
                sta     TextBuffor+2ah ;;+1*16+0
                sta     TextBuffor+2bh  ;;1*16+1
                sta     TextBuffor+2ch  ;;1*16+2
                sta     TextBuffor+2dh  ;;1*16+3
                bra     flashad2k3
flashad2k1:     bbs0    <SysF,flashad2k4        ; Skip if complete second.
                lda     #SpaceChar              ; Blank AD2KMonth.
                sta     TextBuffor+30h  ;;1*16+6
                sta     TextBuffor+31h  ;;1*16+7
                bra     flashad2k3
flashad2k2:     bbs0    <SysF,flashad2k4        ; Skip if complete second.
                lda     #SpaceChar              ; Blank AD2KDay.
                sta     TextBuffor+34h   ;;1*16+10
                sta     TextBuffor+35h      ;;1*16+11
flashad2k3:     ;LUpdateScreen                   ; Update AD2000's screen.
		jsr  dispalarmbmp
                rts                             ; Return to superstructure.
flashad2k4:     jsr     DisplayAD2000           ; Update AD2000's screen.
                rts                             ; Return to superstructure.

;[S]------------------------[S]
;   Display world-time data.
;[S]------------------------[S]
DisplayWTime:
                LSetScreen_to_ds0 14            ; Set screen mode 1.
                jsr     DisplayCity             ; Display city name on TextBuffor.
                jsr     TransferData            ; Transfer real time clock to world time.
                jsr     CalWTime                ; Calculate world time lag.
                jsr     DisplayWDate            ; Display World date on TextBuffor.  Ji Ang
                LUpdateScreen                   ; Update world time's screen.
		jsr  dispshipbmp
                rts                             ; Return to superstructure.

DisplayWTimeA:
                LSetScreen_to_ds0 14            ; Set screen mode 1.
                jsr     DisplayCity             ; Display city name on TextBuffor.
                jsr     TransferData            ; Transfer real time clock to world time.
                jsr     CalWTime                ; Calculate world 

⌨️ 快捷键说明

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