我是靠谱客的博主 独特战斗机,最近开发中收集的这篇文章主要介绍【汇编】字符串操作字符串操作流程重复前缀指令字符串操作指令,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

字符串操作流程

  1. si寄存器保存源串首地址
  2. di寄存器保存目的串首地址
  3. cx寄存器保存字符串长度
  4. cldstd指令设置字符串处理方向
  5. cld指令使df=0,在执行串处理指令时可使地址自动增量;std使df=1,在执行串处理指令时可使地址自动减量

重复前缀指令

  1. 重复次数由计数寄存器CX中存放的值决定,指令每重复执行一次,计数器CX中值减1,当CX中值减至0时,停止重复执行,继续执行下一条指令。
  2. REP无条件重复前缀,重复串操作直到计数寄存器的内容CX为0为止。经常与REP配合工作的字符串处理指令有MOVSSTOSLODS
  3. REPE/REPZ判断计数寄存器的内容CX是否为0或ZF=0(即比较的两个操作数不等),只要满足一个则重复执行结束,否则继续执行。可以与REPE/REPZ配合工作的串指令有CMPSSCAS
  4. REPNE/REPNZ判断计数寄存器的内容是否为0或ZF=1(即比较的两个操作数相等),只要满足一个则重复执行结束,否则继续执行。可以与REPNE/REPNZ配合工作的串指令有CMPSSCAS

字符串操作指令

  1. lodsb、lodsw:把DS:SI指向的存储单元中的数据装入ALAX,然后根据DF标志增减SI
  2. stosb、stosw:把AL或AX中的数据装入ES:DI指向的存储单元,然后根据DF标志增减DI
  3. movsb、movsw:把DS:SI指向的存储单元中的数据装入ES:DI指向的存储单元中,然后根据DF标志分别增减SIDI
  4. scasb、scasw:把ALAX中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SIDI
  5. cmpsb、cmpsw:把DS:SI指向的存储单元中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SIDI

最后

以上就是独特战斗机为你收集整理的【汇编】字符串操作字符串操作流程重复前缀指令字符串操作指令的全部内容,希望文章能够帮你解决【汇编】字符串操作字符串操作流程重复前缀指令字符串操作指令所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部