|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 汇编论坛 』
→ cdq指令有什么用,望赐教
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
6628
人关注过本帖
标题:
cdq指令有什么用,望赐教
只看楼主
加入收藏
toyix
等 级:
新手上路
帖 子:112
专家分:0
注 册:2008-7-14
结帖率:
50%
楼主
收藏
已结贴
√
问题点数:10 回复次数:5
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
举报帖子
使用道具
赠送鲜花
你们都要疼我哦
来 自:火星
等 级:
贵宾
威 望:
49
帖 子:1296
专家分:2746
注 册:2008-7-13
第
3
楼
收藏
得分:10
你马上给分我就告诉你
本来EAX中有个值,正或负都可以,CDQ 把这个32位扩展成64位
变成EDX:EAX的形式,其中EDX中的值是EAX中的最高位,也可以说是符号位。
小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-12-05 16:35
举报帖子
使用道具
赠送鲜花
你们都要疼我哦
来 自:火星
等 级:
贵宾
威 望:
49
帖 子:1296
专家分:2746
注 册:2008-7-13
第
4
楼
收藏
得分:0
你都不速度给分。
很久前
指令集规定除数必须是被除数的一半长,就一直沿用下来
IDIV有符号除法 除数是32位,那么被除数当然需要64位了,
然后就用EDX来扩展EAX的符号位,这样既不改变EAX的值 又扩展成64位咧。
小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-12-05 16:53
举报帖子
使用道具
赠送鲜花
toyix
等 级:
新手上路
帖 子:112
专家分:0
注 册:2008-7-14
第
5
楼
收藏
得分:0
恩
基本明白了
也就是说 沿用以前的规定,扩展成64位,
但是感觉没有什么实际作用,是吧
就像我发的那个反汇编代码
eax除以ecx,商保存在eax,余数放在edx
,基本上没edx什么事,除了后面保存余数
是不是这样啊,先前把符号位保存到edx里面,等除法做完了
,符号位又回到eax里面了
版主可以留个QQ什么的不
方便联系呀
分给了
2010-12-05 17:11
举报帖子
使用道具
赠送鲜花
toyix
等 级:
新手上路
帖 子:112
专家分:0
注 册:2008-7-14
第
6
楼
收藏
得分:0
CDQ 是一个让很多初学者感到困惑的指令. 它大多出现在除法运算之前. 它实际的作用只是把EDX的所有位都设成EAX最高位的值. 也就是说,当EAX <80000000, EDX 00000000; 当EAX >= 80000000, EDX 则为FFFFFFFF). 网上找的
留给以后的人看看
2010-12-05 17:27
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
cdq指令有什么用,望赐教
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.027642 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved