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)个字符的传送