【汇编】字符串处理指令 stosb、lodsb、movsw、scasb、rep

发布时间:2017-2-26 2:18:09 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"【汇编】字符串处理指令 stosb、lodsb、movsw、scasb、rep ",主要涉及到【汇编】字符串处理指令 stosb、lodsb、movsw、scasb、rep 方面的内容,对于【汇编】字符串处理指令 stosb、lodsb、movsw、scasb、rep 感兴趣的同学可以参考一下。

一、字符串处理指令

(1) lodsb、lodsw:把DS:SI指向的存储单元中的数据装入AL或AX,然后根据DF标志增减SI

(2) stosb、stosw:把AL或AX中的数据装入ES:DI指向的存储单元,然后根据DF标志增减DI

(3) movsb、movsw:把DS:SI指向的存储单元中的数据装入ES:DI指向的存储单元中,然后根据DF标志分别增减SI和DI

(4) scasb、scasw:把AL或AX中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI

(5) cmpsb、cmpsw:把DS:SI指向的存储单元中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI

(6) rep:重复其后的串操作指令。重复前先判断CX是否为0,为0就结束重复,否则CX减1,重复其后的串操作指令。主要用在MOVS和STOS前。一般不用在LODS前。

上述指令涉及的寄存器:段寄存器DS和ES、变址寄存器SI和DI、累加器AX、计数器CX
           涉及的标志位:DF、AF、CF、OF、PF、SF、ZF

二、使用举例

(1) 把当前数据段中偏移1000H开始的100个字节的数据传送到从偏移2000H开始的单元中

复制代码
      CLD
      PUSH    DS
      POP     ES
      MOV     SI,1000H
      MOV     DI,2000H
      MOV     CX,100
NEXT: LODSB
      STOSB
      DEC     CX
      JNZ     NEXT
复制代码


上一篇:Vim 自动文件头注释与模板定义
下一篇:HDU 5737 Differencia(归并树)

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。