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

📄 dicadd1.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;;function:删除双空
;;input:
;;output:
;;=====================================
DenghaostepEleven:
?_bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	findbuff,y
	beq	?_exit
	cmp	#' '
	bne	?_loop
	iny

	lda	findbuff,y
	beq	?_exit
	cmp	#' '
	bne	?_loop
?_loop1:
	lda	findbuff+1,y
	sta	findbuff,y
	beq	?_bigloop
	iny
	bra	?_loop1
?_exit:
	rts

;;=====================================
;;function:替换"空格(*)"为无
;;input:
;;output:
;;=====================================
MatchstepOne:
?_Bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#' '
	bne	?_loop

	iny
	lda	cdict_result,y
	cmp	#'('
	bne	?_loop

	tya
	dec
	tax
?_loop1:
	iny
	lda	cdict_result,y
	beq	?_0
	cmp	#')'
	bne	?_loop1
?_loop2:
	iny
	lda	cdict_result,y
	sta	cdict_result,x
	beq	?_Bigloop
	inx
	bra	?_loop2
?_0:
	lda	#0
	sta	cdict_result,x
?_exit:
	rts

;;=====================================
;;function:替换"(*)"为无
;;input:
;;output:
;;=====================================
MatchstepTwo:
?_Bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#'('
	bne	?_loop

	tya
	tax
?_loop1:
	iny
	lda	cdict_result,y
	beq	?_0
	cmp	#')'
	bne	?_loop1
?_loop2:
	iny
	lda	cdict_result,y
	sta	cdict_result,x
	beq	?_Bigloop
	inx
	bra	?_loop2
?_0:
	lda	#0
	sta	cdict_result,x
?_exit:
	rts

;;=====================================
;;function:替换"\*\"为'\'
;;input:
;;output:
;;=====================================
MatchstepThree:
?_Bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result,y
	beq	?_Exit
	cmp	#'\'
	bne	?_loop
	tya
	tax
?_loop1:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#'\'
	bne	?_loop1
?_loop2:
	inx
	iny
	lda	cdict_result,y
	sta	cdict_result,x
	beq	?_Bigloop
	bra	?_loop2
?_Exit:
	rts

;;=====================================
;;function:替换"\*空格"为'空格'
;;input:
;;output:
;;=====================================
MatchstepFour:
?_bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#'\'
	bne	?_loop

	tya
	tax
?_loop1:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#' '
	bne	?_loop1
?_loop2:
	lda	cdict_result,y
	sta	cdict_result,x
	beq	?_BigLoop
	inx
	iny
	bra	?_loop2
?_exit:
	rts

;;=====================================
;;function:替换"\*"为无
;;input:
;;output:
;;=====================================
MatchstepFive:
	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#'\'
	bne	?_loop
	lda	#0
	sta	cdict_result,y
?_exit:
	rts

;;=====================================
;;function:替换",*'为无
;;input:
;;output:
;;=====================================
MatchstepSix:
	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#','
	bne	?_loop
	lda	#0
	sta	cdict_result,y
?_exit:
	rts

;;=====================================
;;function:替换"..."为"空格"
;;input:
;;output:
;;=====================================
MatchstepSeven:
?_bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#'.'
	bne	?_loop

	tya
	tax

	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#'.'
	bne	?_loop
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#'.'
	bne	?_loop

	lda	#' '
	sta	cdict_result,x
?_loop1:
	inx
	iny
	lda	cdict_result,y
	sta	cdict_result,x
	beq	?_bigloop
	bra	?_loop1
?_exit:
	rts

;;=====================================
;;function:转化外来字
;;input:
;;output:
;;=====================================
MatchstepEight:
	ldy	#0ffh
?_Loop:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#20h
	bcs	?_0
        tax
        lda     replacetab1,x
        sta	cdict_result,y
	bra	?_Loop
?_0:
        cmp     #9ah
        bcc     ?_2
        sec
        sbc     #9ah
        tax
        lda     replacetab2,x
        sta	cdict_result,y
	bra	?_loop
?_2:
        cmp     #8bh
        bcc     ?_Loop
        cmp     #8eh
        bcs     ?_Loop
        sec
        sbc     #8bh
        tax
        lda     replacetab3,x
	sta	cdict_result,y
        bra	?_loop
?_exit:
	rts

;;=====================================
;;function:删除所有非字母和空格的字符
;;input:
;;output:
;;=====================================
MatchstepNine:
?_bigloop:

	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#' '
	beq	?_loop
	cmp	#'z'+1
	bcs	?_delet
	cmp	#'A'
	bcc	?_delet
	cmp	#'a'
	bcs	?_loop
	cmp	#'Z'+1
	bcc	?_loop
?_delet:
	tya
	tax
?_loop1:
	iny
	lda	cdict_result,y
	sta	cdict_result,x
	beq	?_bigloop
	inx
	bra	?_loop1
?_Exit:
	rts

;;=====================================
;;function:删除首空和尾空
;;input:
;;output:
;;=====================================
MatchstepTen:
?_bigloop:
	lda	cdict_result
	cmp	#' '
	bne	?_0
	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result+1,y
	sta	cdict_result,y
	bne	?_loop
	bra	?_bigloop
?_0:
	ldy	#0ffh
?_loop1:
	iny
	lda	cdict_result,y
	bne	?_loop1
?_loop2:
	dey
	lda	cdict_result,y
	cmp	#' '
	bne	?_exit
	lda	#0
	sta	cdict_result,y
	bra	?_loop2
?_exit:
	rts

;;=====================================
;;function:删除双空
;;input:
;;output:
;;=====================================
MatchstepEleven:
?_bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	Cdict_result,y
	beq	?_exit
	cmp	#' '
	bne	?_loop
	iny

	lda	Cdict_result,y
	beq	?_exit
	cmp	#' '
	bne	?_loop
?_loop1:
	lda	Cdict_result+1,y
	sta	Cdict_result,y
	beq	?_bigloop
	iny
	bra	?_loop1
?_exit:
	rts

;;=====================================
;;function:大写变小写
;;input:
;;output:
;;=====================================
MatchstepTwelf:
	ldy	#0ffh
?_loop:
	iny
	lda	cdict_result,y
	beq	?_exit
	cmp	#' '
	beq	?_loop
	cmp	#'a'
	bcs	?_loop
	clc
	adc	#20h
	sta	cdict_result,y
	bra	?_loop
?_exit:
	rts



;;====================================
;;function:删除所有非英文字符
;;input:
;;output:
;;====================================
stepsix:
?_bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	Findbuff,y
	beq	?_exit
	cmp	#' '
	beq	?_loop
	cmp	#'z'+1
	bcs	?_deletit
	cmp	#'a'
	bcs	?_loop
	cmp	#'Z'+1
	bcs	?_deletit
	cmp	#'A'
	bcs	?_loop
?_deletit:
	tya
	tax
?_loop1:
	iny
	lda	findbuff,y
	sta	findbuff,x
	beq	?_bigloop
	inx
	bra	?_loop1
?_exit:
	rts


;;====================================
;;function:删除上下角
;;input:
;;output:
;;====================================
stepfive:
?_bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	Findbuff,y
	beq	?_exit
	cmp	#80h
	bcc	?_loop

	tya
	tax
?_loop1:
	iny
	lda	findbuff,y
	sta	findbuff,x
	beq	?_bigloop
	inx
	bra	?_loop1
?_Exit:
	rts


;;====================================
;;function:转化外来字
;;input:
;;output:
;;====================================
stepfour:
?_OK:
	ldy	#0ffh
?_loop3:
	iny
	lda	findbuff,y
	beq	?_OK1
	cmp     #20h
        bcs     ?_1
        ;jsr     replacecode1
        tax
        lda     replacetab1,x
        sta	findbuff,y
	bra	?_OK
?_1:
        cmp     #9ah
        bcc     ?_2
        ;jsr     replacecode2
        sec
        sbc     #9ah
        tax
        lda     replacetab2,x
        sta	findbuff,y
	bra	?_OK
?_2:
        cmp     #8bh
        bcc     ?_Loop3
        cmp     #8eh
        bcs     ?_Loop3
        ;jsr     replacecode3
        sec
        sbc     #8bh
        tax
        lda     replacetab3,x
	sta	findbuff,y
        bra	?_OK
?_OK1:
	rts

;;===================================
;;function:删除标点符号('-
;;input:
;;output:
;;===================================
stepthree:
?_bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	findbuff,y
	beq	?_exit
	cmp	#'''
	beq	?_deletit
	cmp	#'-'
	bne	?_loop

?_deletit:
	tya
	tax
?_loop1:
	iny
	lda	findbuff,y
	sta	findbuff,x
	beq	?_bigloop
	inx
	bra	?_loop1
?_exit:
	rts


;;===================================
;;function:删除重音和次重音
;;input:
;;output:
;;===================================
Steptwo:
?_Loop1:
	ldy	#0ffh
?_loop:
	iny
	lda	findbuff,y
	beq	?_exit
	cmp	#1eh
	beq	?_delit
	cmp	#60h
	bne	?_loop
?_delit:
	tya
	tax
?_loop2:
	iny
	lda	findbuff,y
	sta	findbuff,x
	beq	?_Loop1
	inx
	bra	?_loop2
?_exit:
	rts

;;===================================
;;function:变(*)为无
;;input:
;;output:
;;===================================
stepone:
?_Bigloop:
	ldy	#0ffh
?_loop:
	iny
	lda	findbuff,y
	beq	?_exit
	cmp	#'('
	bne	?_loop
	tya
	tax
?_loop1:
	iny
	lda	findbuff,y
	beq	?_exit
	cmp	#')'
	bne	?_loop1
?_loop3:
	iny
	lda	findbuff,y
	sta	findbuff,x
	beq	?_Bigloop
	inx
	bra	?_loop3
?_exit:
	rts


DictTalkWord:
	jsr	ljsr
	dw	NewenchBank
	dw	TalkWord-1


JMP_lmainu:
	lmainu

CALL_LUPDATESCREEN:
	LUPDATESCREEN
	RTS

        End

⌨️ 快捷键说明

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