比较两字符串是否相同,该怎么处理
比较两字符串是否相同在编程时遇到要比较两字符串大小,但两字符串中,一个是我在预先.data中定义的字符串st
比较两字符串是否相同
在编程时遇到要比较两字符串大小,但两字符串中,一个是我在预先.data中定义的字符串str1,一个是在.code 中自己的local变量str2.
请问如何比较前n个字符是否相等
我定的代码如下:
Assembly codelea si,str1lea di,str2mov ecx,5cld repz cmpsbjz same
但一直出错,请问哪位大侠能指点迷津。
Ps: 发觉可能是es与ds段地址不对,但不知怎么改:(
[解决办法]在做比较之前先改变ES的值 让ES指向Code 段
push cs
pop es
lea si,str1
lea di,str2
mov ecx,5
cld
repz cmpsb
jz same
这样试试看呢
[解决办法]对cmpsb理解了没有啊?
.model small
.data
str1 db "mystring",0
.fardata
str2 db 100 dup(?)
.code
START:
mov ax,@data
mov ds,ax
mov ax,@fardata
mov es,ax
lea di,str2
lea si, str1
mov cx,5
cld
repz cmpsb
jz over
mov dl,'N'
mov ah,2
int 21h
over:
MOV AH,4CH
INT 21H
END START