概述
字符串操作流程
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
(即比较的两个操作数相等),只要满足一个则重复执行结束,否则继续执行。可以与REPNE/REPNZ
配合工作的串指令有CMPS
和SCAS
。
字符串操作指令
lodsb、lodsw
:把DS:SI
指向的存储单元中的数据装入AL
或AX
,然后根据DF
标志增减SI
;stosb、stosw
:把AL或AX中的数据装入ES:DI
指向的存储单元,然后根据DF
标志增减DI
;movsb、movsw
:把DS:SI
指向的存储单元中的数据装入ES:DI
指向的存储单元中,然后根据DF
标志分别增减SI
和DI
;scasb、scasw
:把AL
或AX
中的数据与ES:DI
指向的存储单元中的数据相减,影响标志位,然后根据DF
标志分别增减SI
和DI
;cmpsb、cmpsw
:把DS:SI
指向的存储单元中的数据与ES:DI
指向的存储单元中的数据相减,影响标志位,然后根据DF
标志分别增减SI
和DI
;
最后
以上就是独特战斗机为你收集整理的【汇编】字符串操作字符串操作流程重复前缀指令字符串操作指令的全部内容,希望文章能够帮你解决【汇编】字符串操作字符串操作流程重复前缀指令字符串操作指令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复