DATAS SEGMENT
STRING DB 'Please input a string:',13,10,'$'
STRING2 DB 'Please input a word to delete:',13,10,'$'
STRING3 DB 'The deleted string is as follows:',13,10,'$'
BUF1 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'$'
NUM DW 0
NUM2 DW 0
BUF2 DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,10,'$'
NUM3 DB 0,'$'
DATAS ENDS
STACKS SEGMENT PARA STACK
DD 128 DUP(0)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
LEA AX,STRING
CALL DISPSTRING
CALL READSTRING
LEA AX,STRING2
CALL DISPSTRING
CALL READCHARACTER
CALL PANDUAN
LEA AX,STRING3
CALL DISPSTRING
CALL PRINT
READSTRING PROC
LEA SI,BUF1
MOV CX,0
FLAG1:
MOV AH,01H
INT 21H
CMP AL,13
JZ NEXT
MOV [SI],AL
INC CX
INC SI
JMP FLAG1
NEXT:
MOV NUM,CX
RET
READSTRING ENDP
READCHARACTER PROC
H0:
MOV AH,01H
INT 21H
CMP AL,13
JZ H1
MOV NUM3,AL
JMP H0
H1:
RET
READCHARACTER ENDP
PANDUAN PROC
MOV CX,NUM
MOV DX,0
MOV BL,NUM3
LEA SI,BUF1
LEA DI,BUF2
LOOP1:
MOV AL,[SI]
CMP AL,BL
JNZ T1
INC SI
LOOP LOOP1
JMP JIESHU
T1:
MOV [DI],AL
INC DI
INC SI
INC DX
LOOP LOOP1
JIESHU:
MOV NUM2,DX
RET
PANDUAN ENDP
DISPSTRING PROC
MOV DX,AX
MOV AH,09H
INT 21H
RET
DISPSTRING ENDP
PRINT PROC
MOV CX,NUM2
LEA DI,BUF2
LOOP2:
MOV DL,[DI]
MOV AH,02H
INT 21H
INC DI
LOOP LOOP2
MOV AH,4CH
INT 21H
CODES ENDS
END START
去除字符串中的某个字符。 要求:提示输入字符串(字符个数至少15个) ;输入任意字符串string,Enter 结束输入;提示输入字符;输入任意字符ch,Enter 结束输入,将字符串中字符ch
最新推荐文章于 2024-09-09 09:53:09 发布