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

📄 card.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;;--------显示一屏记录(最多)------
BCardTLoad_1:
        LCls

        lda     #IconDown&0ffh		;;zl.IconDown equ 17e10h in data.def
        trb     IconDown>>8		;;zl.trb:test and reset bit

        stz     <CurCardOff
        lda     #<TextBuffor
        sta     <INDL
        lda     #>TextBuffor
        sta     <INDH
        jsr     ReadNameToBuff

        inc     <CurCardOff
        jsr     CmpCurCard_TotalCard
        bcs     NoNextCard

        lda     #<TextBuffor+20
        sta     <INDL
        lda     #>TextBuffor+20
        sta     <INDH
        jsr     ReadNameToBuff

        inc     <CurCardOff
        jsr     CmpCurCard_TotalCard
        bcs     NoNextCard

        lda     #<TextBuffor+40
        sta     <INDL
        lda     #>TextBuffor+40
        sta     <INDH
        jsr     ReadNameToBuff

        inc     <CurCardOff
        jsr     CmpCurCard_TotalCard
        bcs     NoNextCard

        lda     #<TextBuffor+60
        sta     <INDL
        lda     #>TextBuffor+60
        sta     <INDH
        jsr     ReadNameToBuff

        inc     <CurCardOff
        jsr     CmpCurCard_TotalCard
        bcs     NoNextCard

        lda     #<TextBuffor+80
        sta     <INDL
        lda     #>TextBuffor+80
        sta     <INDH
        jsr     ReadNameToBuff

        inc     <CurCardOff
        jsr     CmpCurCard_TotalCard
        bcs     NoNextCard

        lda     #IconDown&0ffh
        tsb     IconDown>>8

NoNextCard:
        stz     <CurCardOff
TLoad_2:
        lda     #IconUp&0ffh
        tsb     IconUp>>8

        lda     <CurCardNoL
        bne     Tload_4
        lda     <CurCardNoH
        bne     Tload_4

        lda     #IconUp&0ffh
        trb     IconUp>>8

Tload_4:
        lda     <CurCardOffBak
        sta     <CurCardOff
        sta     <FirstNameOff
        jmp     InvertDspItem

;;------------------StateTable-----------------------
KeyDownFunTbl:
        dw      SecCodeIn-1             ;;0.密码输入状态
        dw      EditBoxEnter-1          ;;1.名片编辑状态
        dw      EditSelectRelat-1       ;;2.编辑名片关系选择状态
        dw      Save_or_Not-1           ;;3.询问保存状态
        dw      ViewCardName-1          ;;4.浏览名片姓名状态
        dw      ViewCardCon-1           ;;5.浏览名片内容状态
        dw      DelRecordYN-1           ;;6.询问删除状态
        dw      FindSelect-1            ;;7.选择查询方式状态
        dw      BaiJiaXingSelect-1      ;;8.选择百家姓状态
        dw      EditSelectRelat-1       ;;9.选择查找名片关系状态
        dw      EditRenYiZi-1           ;;10.编辑任意字状态
        dw      RecentCards-1           ;;11.浏览常用名片状态
        dw      ViewFindBJXName-1       ;;12.按姓浏览名片姓名状态
        dw      ScanFindRelatName-1     ;;13.按关系浏览名片姓名状态
        dw      LoadNameCard-1          ;;14.空间满按任意键返回主菜单
	dw	NoCardRecord-1		;;15.无名片记录状态
	dw	EditGroupKeyDown-1	;;16.组别编辑状态 ZL.

;;------------------StateNo.Table-----------------------
SecCodeInN              equ     0
EditBoxEnterN           equ     1
EditSelectRelatN        equ     2
Save_or_NotN            equ     3
ViewCardNameN           equ     4
ViewCardConN            equ     5
DelRecordYNN            equ     6
FindSelectN             equ     7
BaiJiaXingSelectN       equ     8
FindSelectRelatN        equ     9
EditRenYiZiN            equ     10
RecentCardsN            equ     11
ViewFindBJXNameN        equ     12
ScanFindRelatNameN      equ     13
FlashOverWait           equ     14
NoCardRecordN		equ     15
groupeditkeydownN	equ	16		;ZL.
;;[ST]-----------------------------------[ST]
;;       15.无名片记录状态
;;[ST]-----------------------------------[ST]
NoCardRecord:
		lda	<KeyNo
		cmp	#EscKey
		beq	RetMenuMode
		jmp	EditNewCard
RetMenuMode:	lda	#Card_bakMode
		sta	<Mode
		lda	#80h
		sta	<EFlag
		jmp	ExitNoUpdate
;;[ST]-----------------------------------[ST]
;;       浏览常用名片状态
;;[ST]-----------------------------------[ST]
RecentCards:
                ldy     #0ffh
RecentLoop:     iny
                lda     RecentCardsKey,y
                bmi     RecentLoopEnd
                cmp     <KeyNo
                bne     RecentLoop
                tya
                asl
                tay
                lda     RecentCardsKeyP+1,y
                pha
                lda     RecentCardsKeyP,y
                pha
                rts

RecentCardsKey:
                db      UpKey,DownKey,FindKey,EnterKey,EscKey,NullKey
RecentCardsKeyP:
                dw      RecentCardsUP-1,RecentCardsDown-1
                dw      ViewNameFind-1,RecentCardEnter-1
                dw      ViewNameFind_0-1
RecentLoopEnd:  jmp     ExitWithoutUpdate

;;-----Enter----
RecentCardEnter:
                lda     <CurCardOffBak
                asl
                tax
                lda     CurCardBuff,x
                sta     <CurCardNOH
                lda     CurCardBuff+1,x
                sta     <CurCardNOL
                jsr     DecCurCardNo
                stz     <CurCardOff     ;;only for Curcardbuff
                stz     <CurCardoffBak
                jmp     ViewNameEnter
;;----UP------
RecentCardsUP:
                lda     <CurCardOffBak
                beq     RecentLoopEnd
                dec     <CurCardOffBak
                jmp     Tload_4

;;---Down-----
RecentCardsDown:
                lda     <CurCardOffBak
                cmp     #4
                bcs     RecentLoopEnd
                inc
                asl
                tax
                lda     CurCardBuff+1,x
                bne     ?1
                lda     CurCardBuff,x
                beq     RecentLoopEnd
?1:             inc     <CurCardOffBak
                jmp     Tload_4

;;[ST]-----------------------------------[ST]
;;       按关系浏览名片姓名状态
;;[ST]-----------------------------------[ST]
ScanFindRelatName:
                ldy     #0ffh
?0:             iny
                lda     ScanFindRelatNameKeyTab,y
                bmi     ReturnLmainU
                cmp     <KeyNo
                bne     ?0
                tya
                asl
                tay
                lda     ScanFindRelatNameKeyP+1,y
                pha
                lda     ScanFindRelatNameKeyP,y
                pha
                rts
ScanFindRelatNameKeyTab:
        db      UpKey,DownKey,pgup,pgdown,EnterKey,EscKey,NullKey
ScanFindRelatNameKeyP:
        dw      ScanFindRelatNameUp-1,ScanFindRelatNameDown-1
        dw      ScanFindRelatNameUPpg-1,ScanFindRelatNameDownpg-1
        dw      ScanFindRelatNameEnter-1,InitSelecRelatFind-1
ReturnLmainU:   jmp     ExitWithoutUpdate

;;------UpKey------
ScanFindRelatNameUp:
                lda     <FirstNameOff
                beq     ScanFindRelatNameUppg
                dec     <FirstNameOff
                jmp     InvertDspItem
;;------DownKey------
ScanFindRelatNameDown:
                lda     <FirstNameOff
                cmp     #4
                bcs     ?1
                cmp     <CurScreenTotalNum
                bcs     ReturnLmainU
                inc     <FirstNameOff
                jmp     InvertDspItem
?1:             bra     ScanFindRelatNameDownpg

;;------pgup------
ScanFindRelatNameUppg:
                lda     <FindScreenNo
                beq     ReturnLmainU
                rmb0    <CardFlag
                dec     <FindScreenNo
                jsr     DspRelevantCard
                jmp     InvertDspItem
;;-----pgdown------
ScanFindRelatNameDownpg:
                bbs0    <CardFlag,ReturnLmainU
                inc     <FindScreenNo
                jsr     DspRelevantCard
                jmp     InvertDspItem

;;------EnterKey------
ScanFindRelatNameEnter:
                ;;jsr    CountCurCardNo
;;CountCurCardNo:
                lda     <FirstNameOff
                asl
                tay
                lda     FindCurCardNoBuff,y
                sta     <CurCardNoH
                lda     FindCurCardNoBuff+1,y
                sta     <CurCardNoL

                jmp     ViewNameEnter

;;------EscKey------
;;ScanFindRelatNameEsc:
                ;;jmp    InitSelecRelatFind

;;[P]-----------------------[P]
;;   Key Down ㄆン矪瞶祘

⌨️ 快捷键说明

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