DF标志和串移动指令(movsb/movsw)
1.标志寄存器的第10位DF,方向标志位。在串处理指令中,控制每次操作后si,di的增减
DF=0,每次操作后,si、di增加
DF=1,每次操作后,si、di减小
我们可以用汇编语法描述movsb的功能如下:
mov es:[di],byte ptr ds:[si] ;8086不支持这样的指令,仅做描述之用
如果DF=0:inc si
inc di
如果DF=1:dec si
dec di
可以看出,movsb的功能是将ds:si指向的内存单元中的字节送入es:di中,然后根据标志寄存器DF位的值,将si和si递增或者递减。
2.rep
一般来说,movsb都和rep配合使用,格式如下:rep movsb
用汇编语法来描述:
s:mov sb
loop s
可见rep的作用就是根据cx的值,重复执行后面的串传送指令。由于没执行一次movsb将si/di都会递增或者递减一个内存单元,则rep movsb可以循环实现(cx)个字符的传送
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。