【发布时间】:2016-08-08 06:16:32
【问题描述】:
如果ECX持有指向结构或数组的指针,则MOV DWORD ptr ds:[ECX], ECX等价于MOV DWORD ptr ds:ECX, ECX
我附上了这张图片:
当我第一次看到那句话时,它让我思考,如果它确实是在高级语言环境中:
1) 指向一个函数的指针,该函数什么都不做,而是调用自身,从而实现递归。
2) x 数据类型的数组/结构,其第一个索引是指向数组/结构本身或结构/数组的第一个条目的指针。 因此我在标题中提出了问题。
除此之外,在我看来这很随意:(存储所述地址的值的地址发生在地址本身?)。有什么想法吗?
【问题讨论】:
-
如果您不能花时间将一些文本 as text 复制到您的问题中,我不会花时间阅读问题标题以外的内容。
mov dword ptr [ecx], ecx是一家商店。mov ecx,ecx是一个 reg-reg 移动,并且是一个无操作,因为它将 ecx 移动到自身。MOV DWORD ptr ds:ECX, ECX可能是语法错误。 -
@Peter,“如果您不能花时间将一些文本作为文本复制到您的问题中,那么我不会花时间阅读问题标题以外的内容” ----- - 如果连提问者的内容都懒得点击查看,那回答有什么意义呢?并非所有问题都适合像您这样的人,而是适合那些有兴趣帮助提问者的人。不必要的评论对任何人都没有帮助。让我们保持专业!!!!图像中的汇编代码中有一个上下文。在它旁边是一个图像。所以复制是不可能的。
-
阿里安,彼得是对的。请将您的代码文本粘贴到您的问题中。
-
@PeterCordes 回答了您的问题。基于此,您应该能够找出您在问题底部发布的两个问题的答案。
-
MOV EDI, EDI是 explained by Microsoft 。它的存在是为了进行热补丁。
标签: arrays pointers assembly x86 reverse-engineering