汇编指令---CDQ
2015-12-18 08:40
246 查看
CDQ 是一个让很多人感到困惑的指令。
这个指令把 EAX 的第 31 bit 复制到 EDX 的每一个 bit 上。 它大多出现在除法运算之前。它实际的作用只是把EDX的所有位都设成EAX最高位的值。也就是说,当EAX <80000000, EDX 为00000000;当EAX >= 80000000, EDX 则为FFFFFFFF。
例如 :
假设 EAX 是 FFFFFFFB (-5) ,它的第 31 bit (最左边) 是 1,
执行 CDQ 后, CDQ 把第 31 bit 复制至 EDX 所有 bit
EDX 变成 FFFFFFFF
这时候, EDX:EAX 变成 FFFFFFFF FFFFFFFB ,它是一个 64 bit 的大型数字,数值依旧是 -5。
备注:
EDX:EAX,这里表示EDX,EAX连用表示64位数
这个指令把 EAX 的第 31 bit 复制到 EDX 的每一个 bit 上。 它大多出现在除法运算之前。它实际的作用只是把EDX的所有位都设成EAX最高位的值。也就是说,当EAX <80000000, EDX 为00000000;当EAX >= 80000000, EDX 则为FFFFFFFF。
例如 :
假设 EAX 是 FFFFFFFB (-5) ,它的第 31 bit (最左边) 是 1,
执行 CDQ 后, CDQ 把第 31 bit 复制至 EDX 所有 bit
EDX 变成 FFFFFFFF
这时候, EDX:EAX 变成 FFFFFFFF FFFFFFFB ,它是一个 64 bit 的大型数字,数值依旧是 -5。
备注:
EDX:EAX,这里表示EDX,EAX连用表示64位数
相关文章推荐
- 刘宇凡:京东上市突显的致命隐患
- 第十五周项目1 验证算法
- 十一周 项目一 二叉树算法验证(1)
- 第16周外部排序之【项目2】败者树归并模拟
- 第十六周项目1-验证算法(2)希尔排序
- 2015-12-18 第十六周 项目4 - 英文单词的基数排序
- 第4周—项目5 猴子选大王
- Tomcat+JSP(servlet)
- 如何使用virtualbox+devstack搭建neutron网络模式的openstack
- 如何使用virtualbox+devstack搭建neutron网络模式的openstack
- 第十六周-英文单词的基数排序
- 第十四周-二叉排序树的查找
- 第十六周项目1-验证算法(4)快速排序
- 验证算法(8)基数排序
- 第15周项目2-用哈希法组织关键字
- 第十六周 项目三 归并排序算法的改进
- 第9周 项目4—广义表算法库及应用 .
- 支持多层嵌套RadioButton的RadioGroup
- Java多线程总结之由synchronized说开去(转)
- 第十二周项目4 二叉树排序树中的查找路径