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

📄 yyzd.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        jmp     LoadInit


yy_zd_KeyDown:
        Lkeytone
        lda     <YYZDState
        asl
        tax
        jmp     (KeyDownStateFunc,x)

EEScreenUp:
        ldy     #20
?0:
        lda     TextBuffor+20,y
        sta     TextBuffor,y
        iny
        cpy     #160
        bcc     ?0
        lda     #' '
?1:
        sta     TextBuffor,y
        iny
        cpy     #180
        bcc     ?1

        rts

EEScreenDown:
        ldy     #160
?0:
        lda     TextBuffor,y
        sta     TextBuffor+20,y
        dey
        cpy     #20
        bcs     ?0

        ldy     #20
        lda     #' '
?1:
        sta     TextBuffor,y
        iny
        cpy     #40
        bcc     ?1

        LSETCUR 0,1
        LPRINT  EE_LEMMA_BUFFER

        jsr     KillEE_IN_BUFFER

        ldy     #0ffh
?2      iny
        lda     EE_LEMMA_BUFFER,y
        sta     EE_IN_BUFFER,y
        bne     ?2

        rts

KillEE_IN_BUFFER:
        ldy     #0
        lda     #0
?0      sta     EE_IN_BUFFER,y
        iny
        cpy     #20
        bcc     ?0
        rts

CopyTextLine0ToEEINBUFFER:
        jsr     KillEE_IN_BUFFER

        ldy     #20
?0      dey
        lda     TextBuffor,y
        cmp     #' '
        beq     ?0

?1:
        lda     TextBuffor,y
        sta     EE_IN_BUFFER,y
        dey
        bpl     ?1

        rts

CopyTextLine1ToEEINBUFFER:
        jsr     KillEE_IN_BUFFER

        ldy     #40
?0      dey
        lda     TextBuffor,y
        cmp     #' '
        beq     ?0

?1:
        lda     TextBuffor,y
        sta     EE_IN_BUFFER-20,y
        dey
        cpy     #20
        bcs     ?1

        rts

OnlyEnterKey:
        lda     <KeyNo
        cmp     #EnterKey
        beq     ?0
        cmp     #EscKey
        bne     ?1

        lda     <InputLen
        bne     ?2

        stz     <ExtraMode

        lda     #<dictmenu
        sta     StrAddrL
        lda     #>dictmenu
        sta     StrAddrH

        stz     ItemStart
        lda	#4
        sta     ItemOffset
        stz     MenuBufNO

        jsr     LJSR
        dw      fu_lu_bank
        dw      fu_lu_esckey_program-1

?2:
        jmp     yy_zd_Load

?1:     jmp	jmp_LMAINU

;================== Enter Key ==========================
?0:
        lda     TextBuffor+40
        cmp     #' '
        bne     ?00
        LscanF  10010100b
        jmp     ExitWithoutUpDate
?00:
        jsr     CopyTextLine0ToEEINBUFFER
EnterToViewExp:
        LSetScreen      1
        jsr     EE_LOCATE_ADDR
        jsr     EE_FIRST_PAGE
add_add_add:
	Llight_Lcd_Icon icon_downpage
	Llight_Lcd_Icon icon_uppage

        lda     #IconUp&0ffh
        trb     IconDown>>8

        lda     #IconDown&0ffh
        trb     IconDown>>8

        lda     EE_PAGE_END
        bne     ?HaveNoNextPage

        lda     #IconDown&0ffh
        tsb     IconDown>>8
?HaveNoNextPage:
        LDA     #VIEWEXPLAINE
        STA     <YYZDState
        jmp     ExitWithUpDate

ViewExplainState:
        lda     <KeyNo
        CMP     #PgUp
        BEQ     LASTWORD000
        CMP     #PgDown
        ;BEQ     NEXTWORD000
        bne	next000
        jmp	 NEXTWORD000
next000:
        cmp     #DownKey
        BNE	?0
        JMP     DownViewExp000
?0:
        cmp     #UpKey
        beq     ?UpViewExp
        cmp	#EscKey
        beq	?ExitViewExp
        jmp     ExitWithoutUpDate
?ExitViewExp:
        lda     #<EE_HELP_1
	sta	HelptextpL
        lda     #>EE_HELP_1
	sta	HelptextpH

;	lda	<InvertItem
;	cmp	#88
;	beq	?FisrtState
;?FisrtState:
;	jsr	CopyDataToEEINBUFFER
	LSETSCREEN      3
        lda       #10010100b
        sta       <ScanFF
        smb5    <SysF           ;; Set cursor on
        stz     <YYZDState
	jmp	YYZDFirstStep

?UpViewExp:
        lda     #IconUp&0ffh
        and     IconDown>>8
        bne     ?HaveLastPage
        jmp     ExitWithoutUpDate
?HaveLastPage:
        jsr     EE_INIT_R_ADDR
        jsr     EE_FIRST_PAGE

        lda     #IconUp&0ffh
        trb     IconDown>>8
        lda     #IconDown&0ffh
        trb     IconDown>>8

        lda     EE_PAGE_END
        bne     ?HaveNoNextPage
        lda     #IconDown&0ffh
        tsb     IconDown>>8
?HaveNoNextPage:

        jmp     ExitWithUpDate

; ***************************************************************************
; *                                                                         *
; ***************************************************************************
LASTWORD000:
        JSR     EE_PGUP_WORD
        CMP     #0
        BEQ     ?LASTWORD0
        jsr     EE_FIRST_PAGE
        jmp	add_add_add
?LASTWORD0:
	Llight_Lcd_Icon icon_downpage
	Loff_Lcd_Icon icon_uppage
refresh_icon_pg:
	jsr	CALL_LUpdateScreen
	jmp	jmp_LMAINU

refresh_icon:
	jmp	InvertWord



; ***************************************************************************
; *                                                                         *
; ***************************************************************************
NEXTWORD000:
        ;PUTSIO  #22H
        ;PUTSIO  <_EE_FAR_PTRB_3
        ;PUTSIO  <_EE_FAR_PTRB_2
        ;PUTSIO  <_EE_FAR_PTRB_1
        ;PUTSIO  <_EE_FAR_PTRB_0

        LDA     <_EE_FAR_PTRB_3
        CMP     #(END_WORD_ADDR>>24)
        BNE     ?EE_NEXT_WORD0
        LDA     <_EE_FAR_PTRB_2
        CMP     #(END_WORD_ADDR>>16)
        BNE     ?EE_NEXT_WORD0
        LDA     <_EE_FAR_PTRB_1
        CMP     #(END_WORD_ADDR>>8)
        BNE     ?EE_NEXT_WORD0
        LDA     <_EE_FAR_PTRB_0
        CMP     #(END_WORD_ADDR)
        BNE     ?EE_NEXT_WORD0
        BRA     ?NEXTWORDX
?EE_NEXT_WORD0:
        JSR     EE_NEXT_WORD0
        jsr     EE_FIRST_PAGE
        jmp	add_add_add
?NEXTWORDX:
	Llight_Lcd_Icon icon_uppage
	Loff_Lcd_Icon icon_downpage
	jmp	refresh_icon_pg

; ***************************************************************************
DownViewExp000:
        lda     EE_PAGE_END
        beq     ?HaveNextPage
        jmp     ExitWithoutUpDate
?HaveNextPage:
        jsr     EE_NEXT_PAGE

        lda     #IconUp&0ffh
        tsb     IconDown>>8

        lda     EE_PAGE_END
        beq     ?HaveNextPage0

        lda     #IconDown&0ffh
        trb     IconDown>>8
?HaveNextPage0:
        jmp     ExitWithUpDate

CopyDataToEEINBUFFER:
        lda     <InvertItem
        asl
        asl
        sta     <INSL
        asl
        asl
        adc     <INSL
        adc     #20
        tay

        ldx	#0
?1:
        lda	TextBuffor,y
        cmp	#' '
        bne	?0
        lda	TextBuffor+1,y
        cmp	#' '
        beq	?2
        lda	#' '
?0:	sta	EE_IN_BUFFER,x
	inx
	iny
	cpx	#20
	bcc	?1
?2:	stz	EE_IN_BUFFER,x
	stx	<InputLen
        rts


;===============================================================================
;			ADD BY Y.L
;
;===============================================================================
set_iconup:
        lda     #IconUp&0ffh
        tsb     IconDown>>8
	rts

set_icondown:
        lda     #IconDown&0ffh
        tsb     IconDown>>8
	rts

clr_iconup:
        lda     #IconUp&0ffh
        trb     IconDown>>8
	rts

clr_icondown:
        lda     #IconDown&0ffh
        trb     IconDown>>8
	rts


;查找是否到达最后页,若是则返回0,反之置1
is_have_nextpage:
        LDA     <_EE_FAR_PTRB_3
        CMP     #(END_WORD_ADDR_B>>24)
        BNE     is_have_nextpage11
        LDA     <_EE_FAR_PTRB_2
        CMP     #(END_WORD_ADDR_B>>16)
        BNE     is_have_nextpage11
        LDA     <_EE_FAR_PTRB_1
        CMP     #(END_WORD_ADDR_B>>8)
        BNE     is_have_nextpage11
        LDA     <_EE_FAR_PTRB_0
        CMP     #END_WORD_ADDR_B
        bcc	is_have_nextpage11
        ;putsio	#00h
	lda	#0
        bra	is_have_nextpage12
is_have_nextpage11:
	;putsio	#11h
	lda	#1
is_have_nextpage12:
        rts

JMP_lmainu:
	lmainu

JMP_lmain:
	lmain

CALL_LUPDATESCREEN:
	LUPDATESCREEN
	RTS

        end

⌨️ 快捷键说明

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