汇编语言masm 10个星号字符的string串中有一个不是星号,找出该字符的位置,保存在y单元, ******R***完整代码
时间: 2024-06-19 14:04:32 浏览: 13
下面是汇编语言 MASM 的代码,用于在一个长度为 10 的星号字符的字符串中找出一个不是星号的字符的位置,将其保存在 y 单元中。
```
.model small
.stack 100h
.data
str db "******R***$"
.code
mov ax, @data
mov ds, ax
mov cx, 10 ; 字符串长度
mov si, 0 ; 字符串索引
mov bh, 0 ; 标记是否找到非星号字符
mov bl, '*' ; 非星号字符标记
loop_start:
cmp si, cx ; 比较字符串索引和长度
je loop_end ; 如果已经遍历完整个字符串,退出循环
mov al, str[si] ; 取出字符串中的一个字符
cmp al, bl ; 判断是否为非星号字符
jne found ; 如果是非星号字符,跳转到 found 标签
inc si ; 继续遍历下一个字符
jmp loop_start ; 跳转回 loop_start 标签
found:
mov y, si ; 将索引保存到 y 单元中
mov bh, 1 ; 标记已经找到非星号字符
inc si ; 继续遍历下一个字符
jmp loop_start ; 跳转回 loop_start 标签
loop_end:
cmp bh, 0 ; 判断是否找到非星号字符
je not_found ; 如果没有找到,跳转到 not_found 标签
mov ah, 4ch ; 程序结束
int 21h
not_found:
mov ah, 09h ; 输出未找到消息
lea dx, not_found_msg
int 21h
mov ah, 4ch ; 程序结束
int 21h
not_found_msg db "Not found non-star character!", 0
end
```
注意,以上代码假设 y 单元已经在数据段中声明并初始化。如果没有声明或者初始化,需要根据实际情况进行修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)
![](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)