【第十一章】标志寄存器(3)

11.10 DF标志和串传送指令

flag的第10位是DF(Direction Flag),方向标志寄存器。在串处理指令中,控制每次操作后si、di的增减

df=0 每次操作后si、di递增

df=1 每次操作后si、di递减

串传送指令

格式:movsb

功能:执行movsb指令相当于下面几步操作:

  1. ((es)*16+(di))=((ds)*16+(si))

  2. 如果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的功能就是: