11.10 DF标志和串传送指令
flag的第10位是DF(Direction Flag),方向标志寄存器。在串处理指令中,控制每次操作后si、di的增减
df=0 每次操作后si、di递增
df=1 每次操作后si、di递减
串传送指令
格式:movsb
功能:执行movsb指令相当于下面几步操作:
((es)*16+(di))=((ds)*16+(si))
如果df=0,则:(si)=(si)+1
(di)=(di)+1
如果df=1,则(si)=(si)-1
(di)=(di)-1
movsb的功能是将ds:si指向的内存单元中的字节送入es:di中,然后根据标志寄存器df位的值,将si和di递增或递减
格式:movsw
作用:movsw的功能事项ds:si指向的内存单元中的字送入es:di中,然后根据标志寄存器df位的值,将si和di递增2或递减2
rep指令
格式:rep movsb/movsw
作用:rep的作用是根据cx的值,重复执行后面的串传送指令。由于每执行一次movsb指令si和di都会递增或递减指向后一个单元或前一个单元,则rep movsb就可以循环实现(cx)个字符的传送
用汇编语言来描述rep movsb的功能就是: