请看看 mov esi,[esi]是什么意思!

青葱拌豆腐 2009-11-05 12:07:04
请看看 mov esi,[esi]是什么意思!


00648c4c - cmp ecx, edx
00648c4e - je 00648c7e
00648c50 - mov esi,[esi]
00648c52 - inc ecx
00648c52 - cmp esi ,eax


eax= 00c97550 esi=0b0feac8
ecx=00000002
...全文
1632 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
SH19871122 2010-01-12
  • 打赏
  • 举报
回复
学习了
觉得还是同意九楼的
大熊猫侯佩 2010-01-12
  • 打赏
  • 举报
回复
楼主是否认为这样esi会被覆盖???建议手动debug看看。
liuajuan871207 2009-11-08
  • 打赏
  • 举报
回复
寄存器间接寻址,打了括号就是把esi中的内容又作地址,然后把该地址所指的内容再传到esi中
miaomiao83 2009-11-08
  • 打赏
  • 举报
回复
用户 昵称 2009-11-07
  • 打赏
  • 举报
回复
答错了,以为在C语言版面。
用户 昵称 2009-11-07
  • 打赏
  • 举报
回复
就像 p = p->next那样。
zcb20091111 2009-11-07
  • 打赏
  • 举报
回复
寄存器间接寻址方式:
数据都存在存储器当中,
而该数据的偏移地址EA存在esi寄存器当中.
访问时,
通过计算esi指令的偏移地址EA
获得存储器地址,
从而提取出存储器仲的数据.
如:
mov ax,[bx]
ds=2000h,bx=1000h
那存储器pa=21000h
此时,若位于存储器中,21000h位置的内容为50a0h
那么寄存器ax中的内容便被赋值为50a0h了.
cnzdgs 2009-11-05
  • 打赏
  • 举报
回复
就是把esi指向的内存中的数据装入esi里面。
desdouble 2009-11-05
  • 打赏
  • 举报
回复
mov eax, ebx :寄存器直接寻扯。目标在ebx中。

mov esi, [esi]:间接寻址,目标的地址在esi中。

[Quote=引用 1 楼 cnzdgs 的回复:]
就是把esi指向的内存中的数据装入esi里面。
[/Quote]
sean1979 2009-11-05
  • 打赏
  • 举报
回复
同意2哥
青葱拌豆腐 2009-11-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 j8727 的回复:]
引用 1 楼 cnzdgs 的回复:
就是把esi指向的内存中的数据装入esi里面。

同意。
可以用DEBUG工具在MOV ESI,[ESI]指令执行前查看ESI的值,以及[ESI]内存的数据,然后执行这条指令,看ESI是否变成了之前[ESI]内存里的值
[/Quote]

我用esi搜索出来又是我第一个次用来搜索的那个地址,
简单来说用“A”来搜索到“B”,再用“B”搜索最后又得到“A”这样无限循环,请问题这种问题如何找基址呢?
j8727 2009-11-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cnzdgs 的回复:]
就是把esi指向的内存中的数据装入esi里面。
[/Quote]
同意。
可以用DEBUG工具在MOV ESI,[ESI]指令执行前查看ESI的值,以及[ESI]内存的数据,然后执行这条指令,看ESI是否变成了之前[ESI]内存里的值
bword 2009-11-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cnzdgs 的回复:]
就是把esi指向的内存中的数据装入esi里面。
[/Quote]

yes

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧