首页
社区
课程
招聘
[旧帖] 请教个Delphi汇编的问题 0.00雪花
发表于: 2011-8-1 17:25 5306

[旧帖] 请教个Delphi汇编的问题 0.00雪花

2011-8-1 17:25
5306
CODE:00A0FAC2                 mov     esi, edx
CODE:00A0FAC4                 mov     ebx, eax
CODE:00A0FAC6                 mov     edx, esi
CODE:00A0FAC8                 mov     eax, ebx
这种寄存器(有时是与内存)之间的重复mov有什么意义吗?

还有个问题,哪里可以找到Delphi的帮助文档,带是函数参数说明的那种

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 206
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
要看下文有什么操作才能看出这几句啥意思.
2011-8-1 18:19
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
push    ebx
push    esi
mov     esi, edx
mov     ebx, eax
mov     edx, esi
mov     eax, ebx
call      Sysutils::AnsiCompareText(System::AnsiString,System::AnsiString)
test    eax, eax
setz    al
pop     esi
pop     ebx
retn
----------------------------------------------
eax和edx是传进来的参数,这样倒来倒去不浪费吗?
2011-8-1 20:30
0
雪    币: 27
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
有的寄存器不能直接赋值,要通过通用寄存器eax,ebx,ecx,edx来给它们赋值
2011-8-1 20:33
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
还是不太明白,mov  esi, edx和mov  ebx, eax之后,edx和eax的值并没有变化,可以直接拿来用,再mov一次不是多此一举吗?
2011-8-1 20:57
0
雪    币: 43
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
多余不要就行
2011-8-3 15:12
0
雪    币: 193
活跃值: (64)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
采用的是寄存器传参!
2011-8-3 15:32
0
雪    币: 60
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
貌似是 确保了 edx 和eax的值不发生变化,取值后,原始值可能为空
那个帮助文档,我没有
只有这个你看看吧 Delphi API,Delphi参考手册
[EMAIL="http://download.csdn.net/source/1567769"]http://download.csdn.net/source/1567769[/EMAIL]
2011-8-3 15:40
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
得好好努力
2011-8-3 16:18
0
雪    币: 73
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
不知道后面两行要来什么用?
2011-8-3 17:07
0
雪    币: 47
活跃值: (36)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我也看不懂  帮助你顶起来   这个跟符号标志什么的没有关系吧,这样就是倒腾来倒腾去   
坐等高人解释
2011-8-14 21:27
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
你试下取消 传来过传去 是否执行过程结果没变化,如果是我,这样就为了华丽的代码更加华丽,即是你知道dota 魔兽 星际的职业玩家为什么要执行很多废操作吗,如果你在编程的时候可以一段很简洁的代码,在相同时间用更加复杂的过程编出,你将会很快成为超级大师,我不支持简洁,除非你在做实际工作 ,否则这样你可以保持大脑高度的灵活性,然后不停编程。像一个钢琴小王子,一样的操作!
   个人观点
2011-8-24 13:10
0
游客
登录 | 注册 方可回帖
返回
//