MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]什么意思?

不懂,详细解释每一项的意思~

DWORD PTR ES:[EDI],将ES:[EDI]这个内存强制转换为dword双字类型,PTR就是转换符,DWORD为双字类型,在汇编中有BYTE,WORD,DWORD几种变量类型,分别对应1,2,4个字节。
整个语句的意思就是把
DWORD PTR DS:[ESI】内存单元的值传送到DWORD PTR ES:[EDI]单元保存,因为内存单元一般是2个字节的,这里强制转换为4个字节!
MOV 就是传送子令

参考资料:http://baike.baidu.com/view/33704.htm

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-04-04
rep:重复执行指令
rep
movs
dword
ptr
es:[edi],dword
ptr
ds:[esi]
意思就是将esi指向的地址的值以4字节方式拷贝到edi指向的地址中,重复执行ecx次,每次执行后esi+4,edi+4,ecx-1,od中在这段代码中下断后按f7单步步入就可以观察到这3个寄存器的变化

MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI]什么意思?
DWORD PTR ES:[EDI],将ES:[EDI]这个内存强制转换为dword双字类型,PTR就是转换符,DWORD为双字类型,在汇编中有BYTE,WORD,DWORD几种变量类型,分别对应1,2,4个字节。整个语句的意思就是把 DWORD PTR DS:[ESI】内存单元的值传送到DWORD PTR ES:[EDI]单元保存,因为内存单元一般是2个字节的,这...

...rep movs dword ptr es:[edi],dword ptr ds:[esi]
rep movs dword ptr es:[edi],dword ptr ds:[esi]意思就是将ESI指向的地址的值以4字节方式拷贝到EDI指向的地址中,重复执行ECX次,每次执行后ESI+4,EDI+4,ECX-1,OD中在这段代码中下断后按F7单步步入就可以观察到这3个寄存器的变化

汇编语言中所有寄存器的作用
从一个内存赋值到另一个内存地址是这样的,假如esi是指针p1的地址,edi是指针p2的地址,那么*p2=*p1就是:rep movs byte ptr es:[edi],byte ptr ds:[esi]所以,edi,ESI,以及EBX,

关于特征码识别计算机病毒方法
00400276 CC INT3 ; 执行INT 3指令,进入CIH自身的INT 3入口程序,获得权限(Ring 0级),00400277 56 PUSH ESI00400278 8BF0 MOV ESI,EAX0040027A 8B48 FC MOV ECX,DWORD PTR DS:[EAX-4]0040027D F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]0040027F 83E8 08 SUB EAX,8与1.3版本匹配,源...

二进制数字密码的破译
这是一个很容易理解的指令,mov指令将src的内容拷贝到dest,mov指令总共有以下几种扩展:movs/movsb/movsw/movsdedi,esi:这些变体按串\/字节\/字\/双字为单位将esi寄存器指向的数据复制到edi寄存器指向的空间。movsx符号位扩展,byte->word,word->dword (扩展后高位全用符号位填充)。然后实现mov。

熊猫烧香病毒的传染机制
0040015D A4 movs byte ptr es:[edi],byte ptr ds:[e> 0040015E B6 80 mov dh,80 00400160 FF13 call dword ptr ds:[ebx] 00400162 ^ 73 F9 jnb short GameSetu.0040015D ... 004001CC 40 inc eax 004001CD ^ 78 F3 js short GameSetu.004001C2 004001CF 75 03 jnz short GameSetu.004001D...

汇编语言的助记符
MOVS ES:BYTE PTR[DI],DS:[SI]执行的操作:1)((DI))<-((SI))2)字节操作:(SI)<-(SI)+(或-)1,(DI)<-(DI)+(或-)1当方向标志DF=0时用+,当方向标志DF=1时用-3)字操作:(SI)<-(SI)+(或-)2,(DI)<-(DI)+(或-)2当方向标志DF=0时用+,当方向标志DF=1时用-该指令不影响条件码..CLD...

深入理解计算机系统(十五):操作数指示符和数据传送指令
一、整数寄存器与存储基础 计算机系统内部,整数寄存器扮演着关键角色。IA32架构提供了8个专门用于存储整数和指针的寄存器:%eax, %ebx, %ecx, %edx, %esi, %edi, %esp, %ebp,每个都有其特定的用途。二、操作数指示符的多样性 操作数指示符是汇编指令的灵魂,它定义了指令操作的对象。其中包括立即...

这两句汇编是什么意思?
第一句话,能直接这么写汇编语句吗?直观上看,就是edi = clent.00E7DB44了。后面这句话,是连续内存块复制操作,即将从ds:[esi]开始的一个4个字节的数据,复制到es:[edi],连续复制ecx次。每次复制后esi和edi均自加4.

汇编语言的rep是什么
rep是字符串操作指令MOVS,CMPS等的前缀,在CX不等于0的情况下,对字符串执行重复操作.

相似回答