首页
社区
课程
招聘
请各位高人帮小第看看这个指令是什么意思
发表于: 2006-8-30 16:38 4801

请各位高人帮小第看看这个指令是什么意思

2006-8-30 16:38
4801
收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 44229
活跃值: (19965)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
置顶FAQ:http://bbs.pediy.com/showthread.php?s=&threadid=769

Q:CDQ是什么指令?
……………………
2006-8-30 16:58
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不是这个意思,我知道cdq,但是今天碰到的这个程序,很多地方都有这样的指令
call xxxxx
cdq
sub eax,edx
就是不明白后面用eax去减符号位干什么?有什么特定的用途吗?
2006-8-30 17:10
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
可能是取绝对值吧
2006-8-30 18:33
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
最初由 thebutterfly 发布
可能是取绝对值吧


反对!!!!
2006-8-30 18:34
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
请把代码的上下文发出来看看
2006-8-30 18:39
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
7
最初由 dAyCG 发布
反对!!!!


这两条指令当然不是取绝对值的(只有正数成立,运算后直接得到自身), 我是说这可能是取绝对值运算过程的一部分
2006-8-30 18:41
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
晕,就是要你多贴出些代码,你怎么还把代码删了呀???????????
2006-8-30 18:59
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
seg000:0056B759                 mov     ecx, [esi+17E8h]
seg000:0056B75F                 sub     eax, ecx
seg000:0056B761                 mov     ecx, [esp+30h+var_4]
seg000:0056B765                 cdq
seg000:0056B766                 sub     eax, edx

不大象是取绝对值,倒有点象取补码之类的, 主要是当eax为负数时,会去减一个
-1 就象-eax+1
2006-8-30 19:06
0
雪    币: 297
活跃值: (27)
能力值: ( LV13,RANK:380 )
在线值:
发帖
回帖
粉丝
10
看代码,如果最高位为零,什么动作都没有;如果最高位为壹,就是+1。
一些特殊值:
2          2
1          1
0          0
-1         0
-2         -1

...

应该看一下后面的代码,没有上下文,很难说。
2006-8-30 19:07
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我看的这些指令是进行 地图的坐标运算的,郁闷死了...
2006-8-30 19:10
0
游客
登录 | 注册 方可回帖
返回
//