| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6628 人关注过本帖
标题:cdq指令有什么用,望赐教
取消只看楼主 加入收藏
toyix
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2008-7-14
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:3 
cdq指令有什么用,望赐教
00401053   mov         eax,dword ptr [ebp-4]   
00401056   cdq                    
00401057   mov         ecx,64h            
0040105C   idiv        eax,ecx            
0040105E   mov         dword ptr [i],eax   
大侠讲讲这个cdq有什么用,不写这个,就不能做除法吗
搜索更多相关主题的帖子: cdq 指令 
2010-12-05 16:23
toyix
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2008-7-14
收藏
得分:0 
网上说    CDQ 双字扩展. (把EAX中的值与符号扩展为EDX:EAX)   希望解释一下  看不太懂
2010-12-05 16:25
toyix
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2008-7-14
收藏
得分:0 
  基本明白了   也就是说 沿用以前的规定,扩展成64位,
但是感觉没有什么实际作用,是吧  
就像我发的那个反汇编代码   eax除以ecx,商保存在eax,余数放在edx   ,基本上没edx什么事,除了后面保存余数



是不是这样啊,先前把符号位保存到edx里面,等除法做完了  ,符号位又回到eax里面了   


版主可以留个QQ什么的不   方便联系呀  分给了
2010-12-05 17:11
toyix
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2008-7-14
收藏
得分:0 
CDQ 是一个让很多初学者感到困惑的指令. 它大多出现在除法运算之前. 它实际的作用只是把EDX的所有位都设成EAX最高位的值. 也就是说,当EAX <80000000, EDX 00000000; 当EAX >= 80000000, EDX 则为FFFFFFFF). 网上找的   留给以后的人看看
2010-12-05 17:27
快速回复:cdq指令有什么用,望赐教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011770 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved