字符串操作流程
si
寄存器保存源串首地址di
寄存器保存目的串首地址cx
寄存器保存字符串长度cld
或std
指令设置字符串处理方向- 当
cld
指令使df=0
,在执行串处理指令时可使地址自动增量;std
使df=1
,在执行串处理指令时可使地址自动减量
重复前缀指令
- 重复次数由计数寄存器
CX
中存放的值决定,指令每重复执行一次,计数器CX
中值减1,当CX
中值减至0时,停止重复执行,继续执行下一条指令。 - 当
REP
无条件重复前缀,重复串操作直到计数寄存器的内容CX为0为止。经常与REP配合工作的字符串处理指令有MOVS
、STOS
和LODS
。 - 当
REPE/REPZ
判断计数寄存器的内容CX
是否为0或ZF=0
(即比较的两个操作数不等),只要满足一个则重复执行结束,否则继续执行。可以与REPE/REPZ
配合工作的串指令有CMPS
和SCAS
。 - 当
REPNE/REPNZ
判断计数寄存器的内容是否为0或ZF=1
(即比较的两个操作数相等),只要满足一个则重复执行结束&#x