📄 dicadd1.asm
字号:
;;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 + -