汇编小结9:字符串

1、movsb指令将寄存器esi所指向的字节型字符串的内容移动到寄存器edi所指向的位置。这里寄存器的值是递减或递增需要依据方向标志的值来决定

2、cmpsb指令对寄存器的esi和edi所指向的字符串中的一个字节内容进行比较。这里寄存器的值是递减或递增需要依据方向标志的值来决定。

3、不要忘记在cmpsb和movsb指令执行之前,要使用cld指令对方向标志的值进行清零,以实现寄存器esi和edi的递增操作或者使用std对方向标志的值进行设置,以实现寄存器esi和edi的递减操作

4、movsb指令前面的rep前缀让该指令循环执行,循环的次数等于寄存器ecx的值。

5、cmpsb指令前面的repe前缀类似于rep,当寄存器ecx的值为0时,停止指令执行。但是,当寄存器esi和edi所指向的两个字节内容不同时,循环也会停止。而repe前缀类似于rep,不同的是当寄存器esi和edi所指向的两个字节内容相同时,循环停止

6、scansb将对一个字符串进行搜索以查找该字符串是否存在寄存器al中所存储的字符,如果找到,那么寄存器edi所指向的地址比目标字符的实际位置靠后一个字节位置。stosb将al寄存器中内容存储到寄存器edi所指向的字符串中的位置中。而lodsb将把esi所指向的字符串位置中的字符复制到寄存器al中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值