8086 rep 指令

rep指令常和串传送指令搭配使用
功能:根据 cx 的值,重复执行后面的指令

串传送指令1: movsb

  1. 功能:(以字节为单位传送)
  2.   (1) ((es16 + (di)) = ((ds) ×16 + (si))
  3.   (2) 如果DF = 0则: (si) = (si) + 1
  4.      (di) = (di) + 1
  5.    如果DF = 1则: (si) = (si) - 1
  6. (di) = (di) - 1

串传送指令2:movsw

  1. 功能:(以字为单位传送)
  2.   (1) ((es16 + (di)) = ((ds) ×16 + (si))
  3.   (2) 如果DF = 0则: (si) = (si) + 2
  4.       (di) = (di) + 2
  5.     如果DF = 1则: (si) = (si) - 2
  6. (di) = (di) - 2

rep 指令使用

汇编指令 - 图1

任务:用串传送指令,将F000H段中的最后

// F000H段的最后一个字符的位置:F000:FFFF

16个字符复制到data段中。
data segment
db 16 dup (0)
data ends

汇编指令 - 图2

参考