搜索
编程论坛
→
开发语言
→
『 汇编论坛 』
→ cdq指令有什么用,望赐教
标题:
cdq指令有什么用,望赐教
取消只看楼主
toyix
等 级:
新手上路
帖 子: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
等 级:
新手上路
帖 子:112
专家分:0
注 册:2008-7-14
第
2
楼
得分:0
网上说 是 CDQ 双字扩展. (把EAX中的值与符号扩展为EDX:EAX) 希望解释一下 看不太懂
2010-12-05 16:25
toyix
等 级:
新手上路
帖 子:112
专家分:0
注 册:2008-7-14
第
3
楼
得分:0
恩 基本明白了 也就是说 沿用以前的规定,扩展成64位,
但是感觉没有什么实际作用,是吧
就像我发的那个反汇编代码 eax除以ecx,商保存在eax,余数放在edx ,基本上没edx什么事,除了后面保存余数
是不是这样啊,先前把符号位保存到edx里面,等除法做完了 ,符号位又回到eax里面了
版主可以留个QQ什么的不 方便联系呀 分给了
2010-12-05 17:11
toyix
等 级:
新手上路
帖 子:112
专家分:0
注 册:2008-7-14
第
4
楼
得分:0
CDQ 是一个让很多初学者感到困惑的指令. 它大多出现在除法运算之前. 它实际的作用只是把EDX的所有位都设成EAX最高位的值. 也就是说,当EAX <80000000, EDX 00000000; 当EAX >= 80000000, EDX 则为FFFFFFFF). 网上找的 留给以后的人看看
2010-12-05 17:27
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-327979-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 1.599219 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved