汇编编写完整程序,从键盘输入一个字符串STRING,同时,把字符串STRING中的‘&’字符用空格符替代。并显示出替代后字符串及被替代字符的位置
时间: 2024-06-04 18:12:43 浏览: 10
'字符替换为‘#’,并将新字符串输出。
数据存放:
输入字符串:80H
输出字符串:90H
代码如下:
MOV AH, 0AH ;读入字符串
LEA DX, INPUT ;输入缓冲区地址
INT 21H
MOV BX, OFFSET INPUT+1 ;BX指向输入缓冲区第二个字节(跳过长度)
MOV CX, BYTE PTR [INPUT] ;CX存储输入字符串长度
MOV DI, OFFSET OUTPUT+1 ;DI指向输出缓冲区第一个字节
MOV DL, '#' ;要替换的字符
LOOP1:
MOV AL, [BX] ;读入一个字符
CMP AL, 13 ;判断是否为回车符
JE EXIT ;如果是回车符,退出循环
CMP AL, 10 ;判断是否为换行符
JE EXIT ;如果是换行符,退出循环
CMP AL, '\'' ;判断是否为单引号
JE REPLACE ;如果是单引号,执行替换操作
MOV [DI], AL ;将字符存入输出缓冲区
INC BX ;指向下一个字符
INC DI ;指向下一个位置
LOOP LOOP1 ;继续循环
REPLACE:
MOV [DI], DL ;替换为#
INC BX ;指向下一个字符
INC DI ;指向下一个位置
LOOP LOOP1 ;继续循环
EXIT:
MOV BYTE PTR [OUTPUT], DI-OFFSET OUTPUT-1 ;输出字符串长度
MOV AH, 09H ;输出字符串
LEA DX, OUTPUT ;输出缓冲区地址
INT 21H
MOV AH, 4CH ;退出程序
INT 21H
数据段:
INPUT DB 0AH, 00AH, 'Please enter a string: $'
DB 0DH, 0AH, '$'
OUTPUT DB 0AH, 00AH, 'The new string is: $'
DB 0DH, 0AH, '$'
DB 80 DUP ('$') ;输入缓冲区
DB 80 DUP ('$') ;输出缓冲区
程序说明:
1、通过INT 21H,AH=0AH来读入字符串。
2、用BX指向输入缓冲区第二个字节,跳过长度。
3、用CX存储输入字符串长度。
4、用DI指向输出缓冲区第一个字节。
5、用DL存储要替换的字符。
6、用一个循环读入输入字符串中的每个字符。
7、如果读入的字符是回车符或换行符,退出循环。
8、如果读入的字符是单引号,执行替换操作。
9、将读入的字符存入输出缓冲区。
10、继续循环,直到读入整个字符串。
11、替换操作:将DI指向的位置存入#,并将DI、BX分别指向下一个位置。
12、输出新字符串。
相关推荐
![asm](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)