flag第十位是df,方向标志位,在串处理指令中,控制每次操作后si,di的增减

df=0,每次操作后都是si,di增

df=1,减

串传送指令

movsb

格式: movsb

功能:

  1. es16+di=ds16+si
  2. 如果df=0,则 si=si+1,di=di+1,等于一相反

汇编语言描述

  1. mov se:[di],byte ptr ds:[si] (汇编不支持这样的指令)
  2. 如果df=0 inc si inc di else dec si dec di

movsb的功能是将ds:si中的数据传到 es:di中

movsw

格式 movsw

这个是按字来传送,si和di+2或-2

rep

rep movsb

相当于

  s: movsb
    loop s

rep的作用是根据cx的值,重复执行后面的串传送指令

df 设置指令

cld 指令: 将df设置为0
std指令: 将df设置为1