8086汇编判断是否是回文字符串
时间: 2023-06-21 10:16:14 浏览: 39
判断一个字符串是否是回文字符串的方法是将字符串正序和倒序都保存下来,然后比较这两个字符串是否相等。下面是8086汇编实现的示例代码:
```
assume cs:code
data segment
str db 'level', '$'
len dw $-str
buf db 20 dup(0)
data ends
code segment
start:
mov ax, data
mov ds, ax
; 将字符串复制到缓冲区中
mov si, offset str
mov di, offset buf
mov cx, len
cld
rep movsb
; 反转缓冲区中的字符串
mov si, offset buf
mov di, offset buf+len-1
mov cx, len/2
std
rep movsb
cld
; 比较原字符串和反转后的字符串
mov si, offset str
mov di, offset buf
mov cx, len
repe cmpsb
jne not_palindrome
; 是回文字符串
mov ah, 9
mov dx, offset str
int 21h
jmp exit
not_palindrome:
; 不是回文字符串
mov ah, 9
mov dx, offset not_palindrome_msg
int 21h
exit:
mov ax, 4c00h
int 21h
not_palindrome_msg db 'Not palindrome', '$'
code ends
end start
```
在这个程序中,我们首先将字符串复制到缓冲区中,然后反转缓冲区中的字符串。最后,我们比较原字符串和反转后的字符串,如果它们相等,那么原字符串就是回文字符串。如果它们不相等,那么原字符串就不是回文字符串。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![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)