用汇编语言完成去除字符串中的某个字符提示输入字符串;输入任意字符串string,点击Enter结束输入;提示输入字符;输入任意字符ch,点击Enter结束输入将字符串中字符ch去除,输出变化后的字符串string2点击Enter程序退出
时间: 2024-03-14 18:44:35 浏览: 96
以下是用 x86 汇编语言完成去除字符串中的某个字符的程序代码:
```
.MODEL SMALL
.STACK 100H
.DATA
string DB 100 DUP(?)
ch DB ?
string2 DB 100 DUP(?)
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
; 输入字符串
LEA DX, string
MOV AH, 0AH
INT 21H
; 输入字符
LEA DX, ch
MOV AH, 01H
INT 21H
; 去除字符
MOV CX, 0
MOV SI, 0
MOV DI, 0
LOOP1:
MOV AL, string[SI]
CMP AL, 0DH
JE DONE1
CMP AL, ch
JE CONTINUE1
MOV string2[DI], AL
INC SI
INC DI
INC CX
JMP LOOP1
CONTINUE1:
INC SI
JMP LOOP1
DONE1:
MOV string2[DI], '$'
; 输出结果
LEA DX, string2
MOV AH, 09H
INT 21H
; 退出程序
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN
```
程序的基本思路是:
1. 使用 21H 中断输入字符串和字符;
2. 使用循环遍历字符串,将所有不等于给定字符 ch 的字符复制到新字符串 string2 中;
3. 使用 21H 中断输出结果。
注意,在这个程序中,我们只能去除一个字符,而不能去除多个字符。如果要去除多个字符,需要对程序进行修改。
阅读全文