{全网最详细汇编指令}-串操作指令(总结)

本文详细介绍了汇编语言中的串操作指令,如MOVS(传送)、STOS(存储)、LDS(读取)、CMPS(比较)、SCAS(扫描)和REP(重复)及其作用。作者还通过示例展示了如何使用这些指令进行操作和理解其在程序中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

汇编工具包提取:链接:https://pan.baidu.com/s/1gzzW96a1l4vjxY1H03X_Bw?pwd=8888 
提取码:8888 
--来自百度网盘超级会员V5的分享

串操作指令

  • MOVS(串传送指令)
  • STOS(串存储指令 )
  • LODS(串读取指令)
  • CMPS(串比较指令)
  • SCAS(串扫描指令)
  • REP(重复前缀指令 )


串操作指令-解释

 1、串类似代码段的概念。在内存中一串可能就有一种不同的涵义。

2、段超越:DS:[SI]  ->  SS:[SI] ,CS:[SI] 等      就是可以跳到其他段中。

3、操作的是字节的话,就是增1或者减1。操作的是字的话,就是增2或者减2。增减操作都是由DF来操作的。

--------------------------------------------------------------------------------------------------------------------------------

MOVS(串传送指令)

作用:把字节/子操作数从主存的源地址传送至目的地址(跟mov操作类似)

 MOVSB(单步执行,主要观察我下面圈出来的内容)

 MOVSW(单步执行,主要观察我下面圈出来的内容)

 

 --------------------------------------------------------------------------------------------------------------------------------

STOS(串存储指令 )

作用:把AL或AX的数据传送至目的地址

 STOSW(单步执行,主要观察我下面圈出来的内容)

STOSB(单步执行,主要观察我下面圈出来的内容)

  -------------------------------------------------------------------------------------------------------------------------------

LODS(串读取指令)

作用:将字节/字从数据段中读取出来保存在AL或者AX中

LODSW(单步执行,主要观察我下面圈出来的内容)

 

LODSB(单步执行,主要观察我下面圈出来的内容)

 

 --------------------------------------------------------------------------------------------------------------------------------

CMPS(串比较指令)

作用:将主存中的源操作数减去目的操作数,以便设置标志,进而比较两操作数之间的关系。比较后结果不会保存

CMPSB(这里是00-00,所以最后结果肯定是0 -> ZF+1。这个一般用做条件判断)

CMPSW(这里FF-FE !=0   -> ZF=0)

  -------------------------------------------------------------------------------------------------------------------------------

 SCAS(串扫描指令)

作用:比较后不保存结果。类似CMPS指令

SCASB(这里是FF-FF,所以最后结果肯定是0 -> ZF+1。这个一般用做条件判断)

 

   ------------------------------------------------------------------------------------------------------------------------------

 REP(重复前缀指令 )

作用:简单来说,就是在串操作指令上,加上前缀。然后就会循环执行该指令(循环次数可以自己定)

演示案例:

rep movsx ;无条件重复直到cx==0 

通过我圈出来的内容,自己单步执行观察变化,即可

 

    ------------------------------------------------------------------------------------------------------------------------------

总结:大家看完之后,如果有自己的疑问或者想法。可以在评论区或者私信我提出自己的问题或和想法。可以一起交流讨论一下!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值