首页 > 代码库 > DF标志和串移动指令(movsb/movsw)

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

DF标志和串移动指令(movsb/movsw)