mov esi,offset @s1
mov edi,offset @s2
mov ecx,10
cld
rep movsd
1.rep movsd 每次ecx!=0便执行movsd ,然后ecx=ecx-1 movsd移动ds:[si] 到es:[di],
在32位汇编下可以用esi代替si,edi代替di
2.同时由于在一般exe中ds = es 程序起始位置所以另esi = offset @s1就可以找到变量s1 ,edi= offset @s2就可以找到变量s2
3.movsd此类指令有个性质,当标志位d=0时执行一次esi = esi +1,edi= edi+ 1
d=1时执行一次esi = esi +1,edi= edi+ 1
所以此段指令的含义是从s1复制ecx个dword到s2
本文详细解析了REPMOVSX指令的功能与用法,该指令用于从一个内存位置复制连续的数据单元到另一个内存位置。文章解释了通过设置ECX寄存器来指定复制次数,并介绍了如何利用ESI和EDI寄存器定位源地址和目标地址。
3833

被折叠的 条评论
为什么被折叠?



