汇编字符串比较

来源:百度知道 编辑:UC知道 时间:2024/07/04 09:33:16
比如字符串sunsbsunsu 要计算sun的个数 要拿sun去比较 怎么让比较停止呢

一种方法是提前计算出字串的长度,根据长度让比较停止
这样:
buf db 'sunsbsunsu'
count db $-offset buf ;当前的地址减buf的地址($就是取当前地址的伪指令)
count这个变量存的就是字串的长度
这种方法在编译结束之后字串就不能改变了,但长度是预先定义好的,循环的时候在loop里填你写的比较过程就行了

另一种方法是预定义一个结束符,就拿'$'来举例吧,dos的字串显示中断就是用这个字符来做字串的结束符的
buf db 'sunsbsunsu','$'
在比较的时候添加两条指令
cmp [当前比较的字符的地址],'$'
jnz 判断程序的起点
这样当当前的字符是'$'的话就停止了